本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
操作函數
使用操作函數來對幾何資料類型值執行操作。例如,您可以取得單一幾何資料類型的邊界;兩個幾何資料類型之間差異的交集;左右幾何之間的差異,其中的每個有相同幾何資料類型;或是環繞特定幾何資料類型的外部緩衝區或環。
geometry_union(array(geometry))
傳回代表指定幾何之點集合聯集的幾何。範例:
SELECT geometry_union(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])
ST_Boundary(geometry)
作為其中一個幾何資料類型的輸入,並傳回 boundary
幾何資料類型。
範例:
SELECT ST_Boundary(ST_Line('linestring(0 1, 1 0)')))
SELECT ST_Boundary(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
ST_Buffer(geometry,
double)
做為其中一個幾何資料類型的輸入,例如點、線條、多邊形、多線條或多個多邊形,以及距離做為類型 double
。傳回由指定距離 (或半徑) 緩衝的幾何資料類型。範例:
SELECT ST_Buffer(ST_Point(1, 2), 2.0)
在下列範例中,地圖座標以經度和緯度指定,而值 .072284
(緩衝距離) 是以角度單位 (十進制度數) 指定:
SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)
ST_Difference(geometry, geometry)
傳回左幾何和右幾何之間差異的幾何。範例:
SELECT ST_AsText(ST_Difference(ST_Polygon('polygon((0 0, 0 10, 10 10, 10 0))'), ST_Polygon('polygon((0 0, 0 5, 5 5, 5 0))')))
ST_Envelope(geometry)
接受 line
、polygon
、multiline
和 multipolygon
幾何資料類型做為輸入。不支援 point
幾何資料類型。以幾何形式傳回信封,其中的信封為環繞指定幾何資料類型的矩形。範例:
SELECT ST_Envelope(ST_Line('linestring(0 1, 1 0)'))
SELECT ST_Envelope(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
ST_EnvelopeAsPts(geometry)
傳回兩個點的陣列,這兩個點代表幾何邊界矩形多邊形的左下角和右上角。在指定的幾何為空白時,傳回 null。範例:
SELECT ST_EnvelopeAsPts(ST_Point(-158.54, 61.56))
ST_ExteriorRing(geometry)
傳回輸入類型 polygon
的外部環幾何。從 Athena 引擎版本 2 開始,多邊形是唯一可接受的輸入幾何形狀。範例:
SELECT ST_ExteriorRing(ST_Polygon(1,1, 1,4, 4,1))
SELECT ST_ExteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))
ST_Intersection(geometry, geometry)
傳回左幾何和右幾何之交集的幾何。範例:
SELECT ST_Intersection(ST_Point(1,1), ST_Point(1,1))
SELECT ST_Intersection(ST_Line('linestring(0 1, 1 0)'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
SELECT ST_AsText(ST_Intersection(ST_Polygon('polygon((2 0, 2 3, 3 0))'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))')))
ST_SymDifference(geometry, geometry)
傳回左幾何和右幾何之間幾何對稱差異的幾何。範例:
SELECT ST_AsText(ST_SymDifference(ST_Line('linestring(0 2, 2 2)'), ST_Line('linestring(1 2, 3 2)')))
ST_Union(geometry,
geometry)
傳回代表指定幾何之點集合聯集的幾何資料類型。範例:
SELECT ST_Union(ST_Point(-158.54, 61.56),ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))