STSymDifference (type de données geography)
Retourne un objet qui représente tous les points qui sont soit une instance geography soit dans une autre instance geography, mais pas les points qui se trouvent dans les deux instances.
Syntaxe
.STSymDifference ( other_geography )
Arguments
- other_geography
Autre instance geography en plus de l'instance sur laquelle STSymDistance() est appelée.
Types de retour
SQL Server type de retour : geography
Type de retour CLR : SqlGeography
Notes
Cette méthode retourne toujours Null si les identificateurs de référence spatiaux (SRID) 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
A.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();