STDifference (type de données geography)STDifference (geography Data Type)

S’APPLIQUE À : ouiSQL Server (à partir de 2008) ouiAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Retourne un objet qui représente l’ensemble de points d’une instance geography située en dehors d’une autre instance geography.Returns an object that represents the point set from one geography instance that lies outside another geography instance.

SyntaxeSyntax

  
.STDifference ( other_geography )  

ArgumentsArguments

other_geographyother_geography
Autre instance geography qui indique les points à supprimer de l’instance sur laquelle STDifference() est appelé.Is another geography instance indicating which points to remove from the instance on which STDifference() is being invoked.

Types de retourReturn Types

Type de retour SQL ServerSQL Server : geographySQL ServerSQL Server return type: geography

Type de retour CLR : SqlGeographyCLR return type: SqlGeography

ExceptionsExceptions

Cette méthode lève ArgumentException si l’instance contient une arête antipodale.This method throws an ArgumentException if the instance contains an antipodal edge.

Notes Remarks

Cette méthode retourne toujours une valeur Null si les SRID (identificateurs de référence spatiale) des instances geography ne correspondent pas.This method always returns null if the spatial reference identifiers (SRIDs) of the geography instances do not match.

Dans SQL ServerSQL Server, le jeu de résultats possibles retourné sur le serveur a été étendu aux instances FullGlobe.In SQL ServerSQL Server, the set of possible results returned on the server has been extended to FullGlobe instances. SQL ServerSQL Server prend en charge des instances spatiales qui sont plus grandes qu'un hémisphère. supports spatial instances that are larger than a hemisphere. 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.The result may contain circular arc segments only if the input instances contain circular arc segments. Cette méthode n'est pas précise.This method is not precise.

ExemplesExamples

A.A. Calcul de la différence entre deux instances géographiquesComputing the difference between two geography instances

L’exemple suivant utilise STDifference() pour calculer la différence entre deux instances geography.The following example uses STDifference() to compute the difference between two geography instances.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);  
SET @h = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SELECT @g.STDifference(@h).ToString();  

B.B. Utilisation d'un FullGlobe avec STDifference()Using a FullGlobe with STDifference()

L'exemple suivant utilise l'instance FullGlobe.The following example uses FullGlobe instance. Le premier résultat est une GeometryCollection vide et le second est une instance Polygon.The first result is an empty GeometryCollection and the second result is a Polygon instance. STDifference() retourne une GeometryCollection vide lorsqu'une instance FullGlobe est le paramètre.STDifference() returns an empty GeometryCollection when a FullGlobe instance is the parameter. Chaque point dans une instance geography appelante est contenu dans une instance FullGlobe.Every point in an invoking geography instance is contained in a FullGlobe instance.

 DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';  
 DECLARE @h geography = 'FULLGLOBE';  
 SELECT @g.STDifference(@h).ToString(),  
 @h.STDifference(@g).ToString();

 Voir aussiSee Also

Méthodes OGC sur des instances geographyOGC Methods on Geography Instances