Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-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();