Partage via


STDifference (type de données geometry)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance

Retourne un objet qui représente l’ensemble de points d’une instance geometry située en dehors d’une autre instance geometry.

Syntaxe

  
.STDifference ( other_geometry )  

Arguments

other_geometry
Autre instance geometry qui indique les points à supprimer de l’instance sur laquelle STDifference() 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 entre deux instances Polygon

L'exemple suivant utilise STDifference() pour calculer la différence entre deux polygones.

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.STDifference(@h).ToString();  

B. Appel de STDifference() sur une instance CurvePolygon

L'exemple suivant utilise STDifference() sur une instance CurvePolygon.

 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))';  
 -- Note the different results returned by the two SELECT statements  
 SELECT @h.STDifference(@g).ToString(), @g.STDifference(@h).ToString();

Voir aussi

Méthodes OGC sur des instances geography