지리 공간 관계 함수 - Amazon Athena

지리 공간 관계 함수

다음 함수는 사용자가 입력 항목으로 지정한 서로 다른 두 geometry 간의 관계를 표현하고, boolean 형식의 결과를 반환합니다. geometry 페어를 지정하는 순서가 중요합니다. 첫 번째 geometry 값을 왼쪽 geometry, 두 번째 geometry 값을 오른쪽 geometry라고 합니다.

이 함수는 다음을 반환합니다.

  • TRUE: 함수에 의해 설명된 관계가 만족되는 경우에만.

  • FALSE: 함수에 의해 설명된 관계가 만족되지 않는 경우에만.

ST_Contains(geometry, geometry)

왼쪽 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)

왼쪽 geometry가 오른쪽 geometry와 교차하는 경우에만 TRUE를 반환합니다. 예시

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

ST_Disjoint(geometry, geometry)

왼쪽 geometry와 오른쪽 geometry의 교차가 빈 경우에만 TRUE를 반환합니다. 예시

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

ST_Equals(geometry, geometry)

왼쪽 geometry가 오른쪽 geometry와 일치하는 경우에만 TRUE를 반환합니다. 예시

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

ST_Intersects(geometry, geometry)

왼쪽 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)

왼쪽 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)

왼쪽 geometry가 오른쪽 geometry와 지정된 DE-9IM(Dimensionally Extended nine-Intersection Model) 관계에 있는 경우에만 TRUE를 반환합니다. 세 번째(varchar) 입력은 관계입니다. 예시

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

ST_Touches(geometry, geometry)

왼쪽 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)

왼쪽 geometry가 오른쪽 geometry 내에 있는 경우에만 TRUE를 반환합니다.

예시

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