Share via


STSymDifference (tipo de datos geography)

Devuelve un objeto que representa todos los puntos que están en una instancia de geography o en otra instancia de geography, pero no los puntos que pertenecen a ambas instancias.

Sintaxis

.STSymDifference ( other_geography )

Argumentos

  • other_geography
    Es la otra instancia de geography que se va a comparar con la instancia en la que se invoca STSymDistance().

Tipos de valores devueltos

SQL Server tipo de valor devuelto: geography

Tipo de valor devuelto de CLR: SqlGeography

Comentarios

Este método siempre devuelve NULL si no coinciden los identificadores de referencia espacial (SRID) de las instancias de geography.

SQL Server admite instancias espaciales mayores que un hemisferio. En SQL Server, el conjunto de resultados posibles en el servidor se ha ampliado a las instancias de FullGlobe.

El resultado puede contener segmentos de arco circulares solo si las instancias de entrada contienen segmentos de arco circulares.

Ejemplos

A.Calcular la diferencia simétrica de dos polígonos

En el ejemplo siguiente se utiliza STSymDifference() para calcular la diferencia simétrica entre dos instancias de 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.Calcular la diferencia simétrica con FullGlobe

En el siguiente ejemplo se compara la diferencia simétrica de un Polygon con 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();

Vea también

Otros recursos

Métodos de OGC en instancias de Geography