Share via


STSymDifference (geography-Datentyp)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Gibt ein Objekt zurück, das alle Punkte darstellt, die sich entweder in einer geography -Instanz oder in einer anderen geography -Instanz befinden, nicht jedoch die Punkte, die sich innerhalb beider Instanzen befinden.

Syntax

  
.STSymDifference ( other_geography )  

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_geography
Eine andere geography-Instanz zusätzlich zu der Instanz, in der STSymDistance() aufgerufen wird.

Rückgabetypen

SQL Server-Rückgabetyp: geography

CLR-Rückgabetyp: SqlGeography

Bemerkungen

Diese Methode gibt immer NULL zurück, wenn die SRIDs (Spatial Reference IDs) der geography -Instanzen nicht übereinstimmen.

SQL Server unterstützt räumliche Instanzen, die größer als eine Hemisphäre sind. In SQL Server wurden die Ergebnisse, die auf dem Server zurückgegeben werden können, um FullGlobe-Instanzen erweitert.

Im Ergebnis können nur dann Kreisbogensegmente enthalten sein, wenn die Eingabeinstanzen auch Kreisbogensegmente enthalten.

Beispiele

A. Berechnen des symmetrischen Unterschieds zweier Polygone

Im folgenden Beispiel wird STSymDifference() zum Berechnen der symmetrischen Differenz zweier Polygon -Instanzen verwendet.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);  
SET @h = geography::STGeomFromText('POLYGON((-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);  
SELECT @g.STSymDifference(@h).ToString();  

B. Berechnen des symmetrischen Unterschieds mit FullGlobe

Im folgenden Beispiel wird der symmetrische Unterschied eines Polygon und eines FullGlobeverglichen.

 DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';  
 SELECT @g.STSymDifference('FULLGLOBE').ToString();

Weitere Informationen

OGC-Methoden für geography-Instanzen