STSymDifference (type de données geometry)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstancePoint de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric

Retourne un objet qui représente tous les points situés dans une instance geometry particulière ou toute autre instance geometry, mais pas les points situés dans les deux instances à la fois.

Syntaxe

  
.STSymDifference ( other_geometry )  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez Versions antérieures de la documentation.

Arguments

other_geometry
Autre instance geometry en plus de l’instance sur laquelle STSymDifference() est appelé.

Types de retour

Type de retour SQL Server : geometry

Type de retour CLR : SqlGeometry

Remarques

Cette méthode retourne toujours une valeur Null si les SRID (ID de référence spatiale) des instances geometry ne correspondent pas. 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 instances Polygon

L'exemple suivant utilise STSymDifference() pour calculer la différence symétrique entre deux instances 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. Calcul de la différence symétrique entre une instance CurvePolygon et une instance Polygon

L'exemple suivant retourne un GeometryCollection qui représente la différence symétrique entre un CurvePolygon et un 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. Utilisation de STSymDifference() sur une instance CurvePolygon avec une instance Polygon inscrite

L'exemple suivant retourne une instance CurvePolygon avec un anneau Polygon intérieur qui représente la différence symétrique entre les deux instances comparées.

 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();

Voir aussi

Méthodes OGC sur des instances geography