STSymDifference (tipo di dati geometry)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Restituisce un oggetto che rappresenta tutti i punti che si trovano in un'istanza geometry o un'altra istanza geometry, ma non i punti che si trovano in entrambe le istanze.
Sintassi
.STSymDifference ( other_geometry )
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere Documentazione delle versioni precedenti.
Argomenti
other_geometry
Altra istanza geometry oltre all'istanza sulla quale viene chiamato STSymDifference()
.
Tipi restituiti
Tipo SQL Server restituito: geometry
Tipo CLR restituito: SqlGeometry
Osservazioni:
Questo metodo restituisce sempre Null se gli identificatori SRID delle istanze geometry non corrispondono. Il risultato può contenere segmenti di arco circolare solo se le istanze di input contengono segmenti di arco circolare.
Esempi
R. Calcolo della differenza simmetrica di due istanze Polygon
Nell'esempio seguente viene utilizzato STSymDifference()
per calcolare la differenza simmetrica tra due istanze Polygon
.
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. Calcolo della differenza simmetrica tra un'istanza CurvePolygon e un'istanza Polygon
Nell'esempio seguente viene restituito GeometryCollection
che rappresenta la differenza simmetrica tra CurvePolygon
e Polygon
.
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. Utilizzo di STSymDifference() in un'istanza CurvePolygon con un'istanza Polygon inscritta
Nell'esempio seguente viene restituita un'istanza CurvePolygon
con un anello Polygon
interno che rappresenta la differenza simmetrica tra le due istanze confrontate.
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();
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per