STIntersection(geography 데이터 형식)
geography 인스턴스와 다른 geography 인스턴스가 교차하는 점을 나타내는 개체를 반환합니다.
구문
.STIntersection ( other_geography )
인수
- other_geography
**STIntersection()**을 호출할 인스턴스와 비교할 다른 geography 인스턴스입니다.
반환 형식
SQL Server 반환 형식: geography
CLR 반환 형식: SqlGeography
주의
두 geography 인스턴스의 교집합을 반환합니다.
**STIntersection()**은 geography 인스턴스의 SRID(Spatial Reference Identifier)가 일치하지 않으면 항상 Null을 반환합니다.
SQL Server에서는 반구보다 큰 공간 인스턴스를 지원합니다. SQL Server에서는 서버에서 반환될 수 있는 결과 집합에 FullGlobe 인스턴스를 포함할 수 있습니다.
입력 인스턴스에 원호 세그먼트가 있을 경우에만 결과에 원호 세그먼트가 포함될 수 있습니다.
예
1.Polygon 및 LineString의 교집합 계산
다음 예에서는 STIntersection()을 사용하여 Polygon과 LineString의 교차점을 계산합니다.
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::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 = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STIntersection(@h).ToString();
2.Polygon 및 CurvePolygon의 교집합 계산
다음 예에서는 원호 세그먼트를 포함하는 인스턴스를 반환합니다.
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::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 = geography::STGeomFromText('CURVEPOLYGON(CIRCULARSTRING(-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);
SELECT @g.STIntersection(@h).ToString();
3.FullGlobe와의 대칭 차이 계산
다음 예에서는 FullGlobe와 Polygon의 대칭 차이를 비교합니다.
DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.STIntersection('FULLGLOBE').ToString();