Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia
administrada de Azure SQLBase de datos SQL en Microsoft Fabric
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.
Syntax
.STSymDifference ( other_geography )
Arguments
other_geography
Es otra instancia de geography, además de la instancia en la que se invoca a STSymDistance().
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: geography
Tipo de valor devuelto de CLR: SqlGeography
Remarks
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.
Examples
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();