Condividi tramite


STSymDifference (tipo di dati geography)

Restituisce un oggetto che rappresenta tutti i punti che si trovano in un'istanza geography o un'altra istanza geography, ma non i punti che si trovano in entrambe le istanze.

Sintassi

.STSymDifference ( other_geography )

Argomenti

  • other_geography
    Altra istanza geography oltre all'istanza sulla quale STSymDistance() viene richiamato.

Tipi restituiti

SQL Server tipo restituito: geography

Tipo CLR restituito: SqlGeography

Osservazioni

Questo metodo restituisce sempre Null se gli identificatori SRID delle istanze geography non corrispondono.

SQL Server supporta le istanze spaziali di dimensioni maggiori di un emisfero. In SQL Server, il set di possibili risultati nel server è stato esteso alle istanze FullGlobe.

Il risultato può contenere segmenti di arco circolare solo se le istanze di input contengono segmenti di arco circolare.

Esempi

A.Calcolo della differenza simmetrica di due poligoni

Nell'esempio seguente viene utilizzato STSymDifference() per calcolare la differenza simmetrica tra due istanze Polygon.

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.Calcolo della differenza simmetrica con FullGlobe

Nell'esempio seguente viene confrontata la differenza simmetrica di Polygon a FullGlobe.

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

Vedere anche

Altre risorse

Metodi OGC sulle istanze di geografia