共用方式為


查詢 geometry 執行個體的屬性和行為

所有的 geometry 執行個體都有許多屬性,這些屬性可透過 SQL Server 提供的方法來加以擷取。下列主題定義幾何類型的屬性和行為以及用來查詢每一個類型的方法。

點數

所有非空的 geometry 執行個體都是由「點」(point) 所組成。這些點代表幾何繪製所在之平面的 X 座標和 Y 座標。geometry 提供了許多內建方法來查詢執行個體的點。

傳回組成執行個體的點數

傳回執行個體中的特定點

傳回位於執行個體上的任意點

傳回執行個體的起點

傳回執行個體的終點

傳回 Point 執行個體的 X 座標

傳回 Point 執行個體的 Y 座標

STY

傳回 Polygon 或 MultiPolygon 執行個體的幾何中心點

維度

非空的 geometry 執行個體可以是 0 維度、1 維度或 2 維度。零維度 geometries (如 Point 和 MultiPoint) 沒有長度或區域。一維度物件 (如 LineString 和 MultiLineString) 有長度。二維度執行個體 (如 Polygon 和 MultiPolygon) 有區域和長度。空的執行個體將會報告 -1 的維度,而 GeometryCollection 則會報告與其內容類型相依的區域。

傳回執行個體的維度

傳回執行個體的長度

傳回執行個體的區域

空的

「空的」(empty) geometry 執行個體沒有任何點。空 LineString 和 MultiLineString 執行個體的長度是零。空 Polygon 和 MultiPolygon 執行個體的區域是 0。

判斷執行個體是否為空的

簡單

如果要讓執行個體的 geometry 為「簡單」(simple),它必須符合以下兩個需求:

  • 執行個體的每一個圖形都不能自己相交 (除了在它的端點上以外)。

  • 執行個體的兩個圖形不能在非兩者界限內的點上彼此相交。

[!附註]

空的幾何一定是簡單的幾何。

判斷執行個體是否為簡單

界限、內部和外部

geometry 執行個體的「內部」(Interior) 是此執行個體所佔據的空間,而「外部」(Exterior) 則是未佔據它的空間。

「界限」(Boundary) 是由 OGC 定義如下:

  • Point 和 MultiPoint 執行個體沒有界限。

  • LineString 和 MultiLineString 界限是由起點和終點所組成,移除發生偶數次數的點。

DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 1, 0 0, 1 0, 0 1), (1 1, 1 0))');
SELECT @g.STBoundary().ToString();

Polygon 或 MultiPolygon 執行個體的界限是它的環形集合。

DECLARE @g geometry;
SET @g = geometry::Parse('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))');
SELECT @g.STBoundary().ToString();

傳回執行個體的界限

STBoundary

範圍

geometry 執行個體的「範圍」(Envelope) (也稱為「週框方塊」(Bounding Box)) 是執行個體的最小和最大座標 (X,Y) 組成的座標軸對齊矩形。

傳回執行個體的範圍

STEnvelope

封閉性

「封閉」 (closed) geometry 執行個體是起點和終點相同的圖形。Polygon 執行個體會視為封閉,Point 執行個體則不是封閉的。

環形是簡單、封閉的 LineString 執行個體。

判斷執行個體是否為封閉

STIsClosed

判斷執行個體是否為環形

STIsRing

傳回 Polygon 執行個體的外部環形

STExteriorRing

傳回 Polygon 中的內部環形數

STNumInteriorRing

傳回 Polygon 的指定內部環形

STInteriorRingN

空間參考識別碼 (SRID)

空間參考識別碼 (SRID) 是用來指定代表 geometry 執行個體之座標系統的識別碼。具有不同 SRID 的兩個執行個體無法進行比較。

設定或傳回執行個體的 SRID

STSrid

這個屬性可以修改。