Share via


STSymDifference (geometriegegevenstype)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Retourneert een object dat alle punten vertegenwoordigt die zich in het ene geometrie-exemplaar of een ander geometrieexemplaren bevinden , maar niet die punten die in beide exemplaren liggen.

Syntax

  
.STSymDifference ( other_geometry )  

Arguments

other_geometry
Is een ander geometrieexemplaren naast het exemplaar waarop STSymDifference() wordt aangeroepen.

Retourtypen

Retourtype SQL Server: geometrie

CLR-retourtype: SqlGeometry

Remarks

Deze methode retourneert altijd null als de ruimtelijke referentie-id's (SRID's) van de geometrie-exemplaren niet overeenkomen. Het resultaat mag alleen cirkelvormige boogsegmenten bevatten als de invoerexemplaren cirkelvormige boogsegmenten bevatten.

Examples

A. Het symmetrische verschil van twee polygoonexemplaren berekenen

In het volgende voorbeeld wordt het STSymDifference() symmetrische verschil van twee Polygon exemplaren berekend.

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

B. Het symmetrische verschil tussen een CurvePolygon en een Polygoon-exemplaar berekenen

In het volgende voorbeeld wordt een resultaat GeometryCollection geretourneerd dat het symmetrische verschil tussen een CurvePolygon en een Polygonvertegenwoordigt.

 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))';  
 SELECT @h.STSymDifference(@g).ToString();

C. STSymDifference() gebruiken op curvepolygon-exemplaar met een geïnscribeerd polygonexemplaren

In het volgende voorbeeld wordt een CurvePolygon instantie geretourneerd met een binnenring Polygon die het symmetrische verschil tussen de twee instanties vertegenwoordigt.

 DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';  
 DECLARE @h geometry = 'POLYGON ((1 -1, 2 -1, 2 1, 1 1, 1 -1))';  
 SELECT @h.STSymDifference(@g).ToString();

Zie ook

OGC-methoden voor geometrieexemplaren