다음을 통해 공유


STDifference(geometry 데이터 형식)

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

구문

.STDifference ( other_geometry )

인수

  • other_geometry
    STDifference()를 호출할 인스턴스에서 제거할 점을 나타내는 다른 geometry 인스턴스입니다.

반환 형식

SQL Server 반환 형식: geometry

CLR 반환 형식: SqlGeometry

주의

이 메서드는 geometry 인스턴스의 SRID(Spatial Reference ID)가 일치하지 않으면 항상 Null을 반환합니다. 입력 인스턴스에 원호 세그먼트가 있을 경우에만 결과에 원호 세그먼트가 포함될 수 있습니다.

1.두 Polygon 인스턴스 사이의 차이 계산

다음 예에서는 STDifference()를 사용하여 두 다각형 간의 차이를 계산합니다.

DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
SELECT @g.STDifference(@h).ToString();

2.CurvePolygon 인스턴스에서 STDifference() 호출

다음 예에서는 CurvePolygon 인스턴스에서 STDifference()를 사용합니다.

DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';

DECLARE @h geometry = 'POLYGON ((1 -1, 5 -1, 5 3, 1 3, 1 -1))';

-- Note the different results returned by the two SELECT statements

SELECT @h.STDifference(@g).ToString(), @g.STDifference(@h).ToString();

참고 항목

관련 자료

geometry 인스턴스의 OGC 메서드