地理空間關係函數 - Amazon Athena

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

地理空間關係函數

以下函數會表達您指定作為輸入的兩個不同幾何之間的關係,並傳回類型 boolean 的結果。您指定幾何對組的順序很重要:第一個幾何值稱為左幾何、第二個幾何值稱為右幾何。

這些函數會傳回:

  • TRUE,如果且只有在滿足函數所描述的關係時。

  • FALSE,如果且只有在不滿足函數所描述的關係時。

ST_Contains(geometry, geometry)

傳回 TRUE,如果且只有在左幾何包含右幾何時。範例:

SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', 'POLYGON((-1 3,2 1,0 -3,-1 3))')
SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', ST_Point(0, 0))
SELECT ST_Contains(ST_GeometryFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeometryFromText('POLYGON((-1 3,2 1,0 -3,-1 3))'))

ST_Crosses(geometry, geometry)

傳回 TRUE,如果且只有在左幾何與右幾何交叉時。範例:

SELECT ST_Crosses(ST_Line('linestring(1 1, 2 2 )'), ST_Line('linestring(0 1, 2 2)'))

ST_Disjoint(geometry, geometry)

傳回 TRUE,如果且只有在左幾何和右幾何的交集是空的時。範例:

SELECT ST_Disjoint(ST_Line('linestring(0 0, 0 1)'), ST_Line('linestring(1 1, 1 0)'))

ST_Equals(geometry, geometry)

傳回 TRUE,如果且只有在左幾何等於右幾何時。範例:

SELECT ST_Equals(ST_Line('linestring( 0 0, 1 1)'), ST_Line('linestring(1 3, 2 2)'))

ST_Intersects(geometry, geometry)

傳回 TRUE,如果且只有在左幾何與右幾何交集時。範例:

SELECT ST_Intersects(ST_Line('linestring(8 7, 7 8)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Overlaps(geometry, geometry)

傳回 TRUE,如果且只有在左幾何與右幾何重疊時。範例:

SELECT ST_Overlaps(ST_Polygon('polygon((2 0, 2 1, 3 1))'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Relate(geometry, geometry, varchar)

傳回 TRUE,如果且只有在左幾何與右幾何具有指定的維度延伸九交模型 (DE-9IM) 關係時。第三個 (varchar) 輸入採用此關係。範例:

SELECT ST_Relate(ST_Line('linestring(0 0, 3 3)'), ST_Line('linestring(1 1, 4 4)'), 'T********')

ST_Touches(geometry, geometry)

傳回 TRUE,如果且只有在左幾何接觸右幾何時。

範例:

SELECT ST_Touches(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Within(geometry, geometry)

傳回 TRUE,如果且只有在左幾何在右幾何內時。

範例:

SELECT ST_Within(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))