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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour