STSymDifference (type de données geography)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Retourne un objet qui représente tous les points situés dans une instance geography particulière ou toute autre instance geography, mais pas les points situés dans les deux instances à la fois.
Syntaxe
.STSymDifference ( other_geography )
Arguments
other_geography
Autre instance geography en plus de l’instance sur laquelle STSymDistance() est appelé.
Types de retour
Type de retour SQL Server : geography
Type de retour CLR : SqlGeography
Notes
Cette méthode retourne toujours une valeur Null si les SRID (identificateurs de référence spatiale) des instances geography ne correspondent pas.
SQL Server prend en charge des instances spatiales qui sont plus grandes qu'un hémisphère. Dans SQL Server, le jeu de résultats possibles sur le serveur a été étendu aux instances FullGlobe.
Le résultat peut contenir des segments d'arc de cercle uniquement si les instances d'entrée contiennent des segments d'arc de cercle.
Exemples
R. Calcul de la différence symétrique de deux polygones
L'exemple suivant utilise STSymDifference()
pour calculer la différence symétrique entre deux instances 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. Calcul de la différence symétrique avec FullGlobe
L'exemple suivant compare la différence symétrique d'un Polygon
avec 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();