[MSSQL] Geometry Query

Geometry 데이터 형식 쿼리

STContains

geometry 인스턴스에 다른 geometry 인스턴스가 완전히 포함되어 있으면 1을 반환합니다. 그렇지 않으면 0을 반환합니다.

1
2
3
4
5
6
DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SET @h = geometry::STGeomFromText('POINT(-122.358 47.656)', 4326);

SELECT @g.STContains(@h);

POINT 좌표가 POLYGON 좌표에 완전히 포함되어 있지 않기 때문에 결과는 0을 반환합니다.

STIntersects

geometry 인스턴스가 다른 geometry 인스턴스와 교차하면 1을 반환합니다. 그렇지 않으면 0을 반환합니다.

1
2
3
4
5
6
DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SET @h = geometry::STGeomFromText('POINT(-122.358 47.656)', 4326);

SELECT @g.STIntersects(@h);

POINT 좌표가 POLYGON 좌표와 교차하기 때문에 결과는 1을 반환합니다.

Share