STSymDifference (geometry-Datentyp)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric Warehouse in Microsoft Fabric
Gibt ein Objekt zurück, das alle Punkte darstellt, die sich entweder in einer geometry -Instanz oder in einer anderen geometry -Instanz befinden, nicht jedoch die Punkte, die sich innerhalb beider Instanzen befinden.
Syntax
.STSymDifference ( other_geometry )
Hinweis
Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.
Argumente
other_geometry
Eine andere geometry -Instanz zusätzlich zu der Instanz, in der STSymDifference()
aufgerufen wird.
Rückgabetypen
SQL Server-Rückgabetyp: geometry
CLR-Rückgabetyp: SqlGeometry
Hinweise
Diese Methode gibt immer NULL zurück, wenn die SRIDs (Spatial Reference IDs) der geometry -Instanzen nicht übereinstimmen. Im Ergebnis können nur dann Kreisbogensegmente enthalten sein, wenn die Eingabeinstanzen auch Kreisbogensegmente enthalten.
Beispiele
A. Berechnen des symmetrischen Unterschiedes zweier Polygon-Instanzen
Im folgenden Beispiel wird STSymDifference()
zum Berechnen der symmetrischen Differenz zweier Polygon
-Instanzen verwendet.
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. Berechnen des symmetrischen Unterschiedes zwischen einer CurvePolygon- und einer Polygon-Instanz
Im folgenden Beispiel wird eine GeometryCollection
zurückgegeben, die den symmetrischen Unterschied zwischen einem CurvePolygon
und einem Polygon
darstellt.
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. Verwenden von STSymDifference() in einer CurvePolygon-Instanz mit einer Polygoninstanz
Im folgenden Beispiel wird eine Instanz von CurvePolygon
mit dem inneren Ring einer Instanz von Polygon
zurückgegeben, der den symmetrischen Unterschied zwischen den beiden Instanzen darstellt.
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();
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für