STDifference(geography 데이터 형식)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

다른 geography 인스턴스 밖에 있는 특정 geogrphy 인스턴스에서 점 집합을 나타내는 개체를 반환합니다.

Syntax

  
.STDifference ( other_geography )  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

other_geography
STDifference()가 호출되는 인스턴스에서 제거할 지점을 나타내는 또 다른 지리 인스턴스입니다.

반환 형식

SQL Server 반환 형식: geography

CLR 반환 형식: SqlGeography

예외

이 메서드는 인스턴스에 안티포달 에지가 포함된 경우 ArgumentException 을 throw합니다.

설명

지리 인스턴스의 SRID(공간 참조 식별자)가 일치하지 않는 경우 이 메서드는 항상 null을 반환합니다.

SQL Server에서 서버에서 반환된 가능한 결과 집합이 FullGlobe 인스턴스로 확장되었습니다. SQL Server는 반구보다 큰 공간 인스턴스를 지원합니다. 입력 인스턴스에 원호 세그먼트가 포함된 경우에만 결과에 원호 세그먼트가 포함될 수 있습니다. 이 메서드는 정확하지 않습니다.

예제

A. 두 지리 인스턴스 간의 차이점 계산

다음 예제에서는 두 지리 인스턴스 간의 차이를 계산하는 데 사용합니다STDifference().

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.STDifference(@h).ToString();  

B. STDifference()와 함께 FullGlobe 사용

다음 예제에서는 인스턴스를 사용합니다 FullGlobe . 첫 번째 결과는 빈 GeometryCollection이고 두 번째 결과는 Polygon 인스턴스입니다. STDifference()는 인스턴스가 매개 변수인 FullGlobe 경우 빈 GeometryCollection 값을 반환합니다. 호출 geography 인스턴스의 모든 지점은 인스턴스에 FullGlobe 포함됩니다.

 DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';  
 DECLARE @h geography = 'FULLGLOBE';  
 SELECT @g.STDifference(@h).ToString(),  
 @h.STDifference(@g).ToString();

참고 항목

Geography 인스턴스의 OGC 메서드