Udostępnij za pomocą


StDifference (geometria typ danych)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca obiekt reprezentujący zestaw punktów z jednego wystąpienia geometrii , który nie leży w innym wystąpieniu geometrii .

Syntax

  
.STDifference ( other_geometry )  

Arguments

other_geometry
Jest innym wystąpieniem geometrycznym wskazującym, które punkty należy usunąć z wystąpienia, na którym STDifference() jest wywoływana.

Typy zwracane

Zwracany typ programu SQL Server: geometria

Typ zwracania CLR: SqlGeometry

Remarks

Ta metoda zawsze zwraca wartość null, jeśli identyfikatory odwołań przestrzennych (SRID) wystąpień geometrii nie są zgodne. Wynik może zawierać segmenty łuku cyklicznego tylko wtedy, gdy wystąpienia wejściowe zawierają segmenty łuku cyklicznego.

Examples

A. Obliczanie różnicy między dwoma wystąpieniami wielokątowymi

W poniższym przykładzie użyto STDifference() metody do obliczenia różnicy między dwoma wielokątami.

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();  

B. Wywoływanie metody STDifference() w wystąpieniu CurvePolygon

W poniższym przykładzie użyto metody STDifference() w wystąpieniu CurvePolygon.

 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();

Zobacz też

metody OGC w wystąpieniach geometrycznych