操作函數 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

操作函數

使用操作函數來對幾何資料類型值執行操作。例如,您可以取得單一幾何資料類型的邊界;兩個幾何資料類型之間差異的交集;左右幾何之間的差異,其中的每個有相同幾何資料類型;或是環繞特定幾何資料類型的外部緩衝區或環。

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)

接受 linepolygonmultilinemultipolygon 幾何資料類型做為輸入。不支援 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)]))