STSymDifference (type de données geometry)
S’applique à : point de terminaison d’analytique SQL Azure SQL Database Azure SQL Database dans Microsoft Fabric Warehouse
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 la Documentation sur les versions antérieures.
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 : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour