Freigeben über


STSymDifference (geography-Datentyp)

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 )

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

Hinweise

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 FullGlobe verglichen.

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

Siehe auch

Andere Ressourcen

OGC-Methoden für geography-Instanzen