Partager via


STDifference (type de données geometry)

Retourne un objet qui représente le jeu de points d'une instance geometry qui ne se trouve pas dans une autre instance geometry.

Syntaxe

.STDifference ( other_geometry )

Arguments

  • other_geometry
    Autre instance geometry indiquant les points à supprimer de l'instance sur laquelle STDifference() est appelé.

Types de retour

SQL Server type de retour : geometry

Type de retour CLR : SqlGeometry

Notes

Cette méthode retourne toujours Null si les ID de référence spatiaux (SRID) 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

A.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

Autres ressources

Méthodes OGC sur les instances géométriques