Créer, construire et interroger des instances geographyCreate, Construct, and Query geography Instances

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Le type de données spatiales géographiques, geography, représente des données dans un système de coordonnées de monde sphérique.The geography spatial data type, geography, represents data in a round-earth coordinate system. Ce type est implémenté en tant que type de données CLR (Common Language Runtime) .NET dans SQL ServerSQL Server.This type is implemented as a .NET common language runtime (CLR) data type in SQL ServerSQL Server. Le type de données SQL ServerSQL Server geography stocke des données ellipsoïdes, telles que des coordonnées de latitude et de longitude GPS.The SQL ServerSQL Server geography data type stores ellipsoidal (round-earth) data, such as GPS latitude and longitude coordinates.

Le type geography est prédéfini et disponible dans chaque base de données.The geography type is predefined and available in each database. Vous pouvez créer des colonnes de table de type geography et opérer sur les données geography comme vous le feriez avec d’autres types fournis par le système.You can create table columns of type geography and operate on geography data in the same manner as you would use other system-supplied types.

Création ou construction d'une nouvelle instance geographyCreating or constructing a new geography instance

Création d'une nouvelle instance geography à partir d'une instance existanteCreating a New geography Instance from an Existing Instance

Le type de données geography fournit de nombreuses méthodes intégrées que vous pouvez utiliser pour créer des instances geography basées sur des instances existantes.The geography data type provides numerous built-in methods you can use to create new geography instances based on existing instances.

Pour créer une mémoire tampon autour d'une géographieTo create a buffer around a geography
STBuffer (type de données geography)STBuffer (geography Data Type)

Pour créer une mémoire tampon autour d'une géographie, en tenant compte d'une toléranceTo create a buffer around a geography, allowing for a tolerance
BufferWithTolerance (type de données geography)BufferWithTolerance (geography Data Type)

Pour créer une géographie à partir de l'intersection de deux instances géographiquesTo create a geography from the intersection of two geography instances
STIntersection (type de données geography)STIntersection (geography Data Type)

Pour créer une géographie à partir de l'union de deux instances géographiquesTo create a geography from the union of two geography instances
STUnion (type de données geography)STUnion (geography Data Type)

Pour créer une géographie à partir des points où une géographie n'en chevauche pas une autreTo create a geography from the points where one geography does not overlap another
STDifference (type de données geography)STDifference (geography Data Type)

Construction d'une instance geography à partir d'une entrée WKT (Well-Known Text)Constructing a geography Instance from Well-Known Text Input

Le type de données geography fournit plusieurs méthodes intégrées qui génèrent une géographie à partir de la représentation WKT OGC (Open Geospatial Consortium).The geography data type provides several built-in methods that generate a geography from the Open Geospatial Consortium (OGC) WKT representation. La norme WKT est une chaîne de texte qui autorise l'échange de données geography sous forme textuelle.The WKT standard is a text string that allows geography data to be exchanged in textual form.

Pour construire tout type d'instance geography à partir d'une entrée WKTTo construct any type of geography instance from WKT input
STGeomFromText (type de données geography)STGeomFromText (geography Data Type)

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

Pour construire une instance Point geography à partir d'une entrée WKTTo construct a geography Point instance from WKT input
STPointFromText (type de données geography)STPointFromText (geography Data Type)

Pour construire une instance MultiPoint geography à partir d'une entrée WKTTo construct a geography MultiPoint instance from WKT input
STMPointFromText (type de données geography)STMPointFromText (geography Data Type)

Pour construire une instance LineString geography à partir d'une entrée WKTTo construct a geography LineString instance from WKT input
STLineFromText (type de données geography)STLineFromText (geography Data Type)

Pour construire une instance MultiLineString geography à partir d'une entrée WKTTo construct a geography MultiLineString instance from WKT input
STMLineFromText (type de données geography)STMLineFromText (geography Data Type)

Pour construire une instance Polygon geography à partir d'une entrée WKTTo construct a geography Polygon instance from WKT input
STPolyFromText (type de données geography)STPolyFromText (geography Data Type)

Pour construire une instance MultiPolygon geography à partir d'une entrée WKTTo construct a geography MultiPolygon instance from WKT input
STMPolyFromText (type de données geography)STMPolyFromText (geography Data Type)

Pour construire une instance GeometryCollection geography à partir d'une entrée WKTTo construct a geography GeometryCollection instance from WKT input
STGeomCollFromText (type de données geography)STGeomCollFromText (geography Data Type)

Construction d'une instance geography à partir d'une entrée WKB (Well-Known Binary)Constructing a geography Instance from Well-Known Binary Input

WKB est un format binaire spécifié par l’OGC qui autorise l’échange de données Geography entre une application cliente et une base de données SQL.WKB is a binary format specified by the OGC that permits Geography data to be exchanged between a client application and an SQL database. Les fonctions suivantes acceptent l'entrée WKB pour construire des instances geography :The following functions accept WKB input to construct geography instances:

Pour construire tout type d'instance geography à partir d'une entrée WKBTo construct any type of geography instance from WKB input
STGeomFromWKB (type de données geography)STGeomFromWKB (geography Data Type)

Pour construire une instance Point geography à partir d'une entrée WKBTo construct a geography Point instance from WKB input
STPointFromWKB (type de données geography)STPointFromWKB (geography Data Type)

Pour construire une instance MultiPoint geography à partir d'une entrée WKBTo construct a geography MultiPoint instance from WKB input
STMPointFromWKB (type de données geography)STMPointFromWKB (geography Data Type)

Pour construire une instance LineString geography à partir d'une entrée WKBTo construct a geography LineString instance from WKB input
STLineFromWKB (type de données geography)STLineFromWKB (geography Data Type)

Pour construire une instance MultiLineString geography à partir d'une entrée WKBTo construct a geography MultiLineString instance from WKB input
STMLineFromWKB (type de données geography)STMLineFromWKB (geography Data Type)

Pour construire une instance Polygon geography à partir d'une entrée WKBTo construct a geography Polygon instance from WKB input
STPolyFromWKB (type de données geography)STPolyFromWKB (geography Data Type)

Pour construire une instance MultiPolygon geography à partir d'une entrée WKBTo construct a geography MultiPolygon instance from WKB input
STMPolyFromWKB (type de données geography)STMPolyFromWKB (geography Data Type)

Pour construire une instance GeometryCollection geography à partir d'une entrée WKBTo construct a geography GeometryCollection instance from WKB input
STGeomCollFromWKB (type de données geography)STGeomCollFromWKB (type de données geography)STGeomCollFromWKB (geography Data Type)STGeomCollFromWKB (geography Data Type)

Construction d'une instance geography à partir d'une entrée texte GMLConstructing a geography Instance from GML Text Input

Le type de données geography fournit une méthode qui génère une instance geography à partir de GML, représentation XML d’une instance geography .The geography data type provides a method that generates a geography instance from GML, an XML representation of a geography instance. SQL ServerSQL Server prend en charge un sous-ensemble de GML.supports a subset of GML.

Pour plus d’informations sur le langage GML (Geography Markup Language), consultez la spécification OGC : OGC Specifications, Geography Markup Language (en anglais).For more information on Geography Markup Language, see the OGC Specification: OGC Specifications, Geography Markup Language.

Pour construire tout type d'instance geography à partir d'une entrée GMLTo construct any type of geography instance from GML input
GeomFromGML (type de données geography)GeomFromGML (geography Data Type)

Renvoi de données WKT et WKB à partir d'une instance geographyReturning Well-Known Text and Well-Known Binary from a geography Instance

Vous pouvez utiliser les méthodes suivantes pour retourner le format WKT ou WKB d’une instance geography :You can use the following methods to return either the WKT or WKB format of a geography instance:

Pour retourner la représentation WKT d'une instance geographyTo return the WKT representation of a geography instance
STAsText (type de données geography)STAsText (geography Data Type)

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

Pour retourner la représentation WKT d'une instance geography incluant des valeurs Z et MTo return the WKT representation of a geography instance including any Z and M values
AsTextZM (type de données geography)AsTextZM (geography Data Type)

Pour retourner la représentation WKB d'une instance geographyTo return the WKB representation of a geography instance
STAsBinary (type de données geography)STAsBinary (geography Data Type)

Pour retourner une représentation GML d'une instance geographyTo return a GML representation of a geography instance
AsGml (type de données geography)AsGml (geography Data Type)

Interrogation des propriétés et des comportements des instances geographyQuerying the Properties and Behaviors of geography Instances

Toutes les instances geography ont plusieurs propriétés qui peuvent être extraites par le biais des méthodes fournies par SQL ServerSQL Server .All geography instances have a number of properties that can be retrieved through methods that SQL ServerSQL Server provides. Les rubriques suivantes définissent les propriétés et comportements de types géographiques et les méthodes permettant de les interroger.The following topics define the properties and behaviors of geography types, and the methods for querying each one.

Informations sur la validité, le type d'instance et GeometryCollectionValidity, Instance Type, and GeometryCollection Information

Après avoir construit une instance geography , vous pouvez utiliser les méthodes suivantes pour retourner le type d’instance ou, dans le cas d’une instance GeometryCollection , pour retourner une instance geography spécifique.After a geography instance is constructed, you can use the following methods to return the instance type, or if it is a GeometryCollection instance, return a specific geography instance.

Pour retourner le type d'instance d'une géographieTo return the instance type of a geography
STGeometryType (type de données geography)STGeometryType (geography Data Type)

Pour déterminer si une géographie est un type d'instance donnéTo determine if a geography is a given instance type
InstanceOf (type de données geography)InstanceOf (geography Data Type)

Pour déterminer si une instance géographique est de forme correcte pour son type d'instanceTo determine if a geography instance is well-formed for its instance type
STNumGeometries (type de données geography)STNumGeometries (geography Data Type)

Pour retourner une géographie spécifique dans une instance GeometryCollectionTo return a specific geography in a GeometryCollection instance
STGeometryN (type de données geography)STGeometryN (type de données geography)STGeometryN (geography Data Type)STGeometryN (geography Data Type)

Nombre de pointsNumber of Points

Toutes les instances geography non vides sont constituées de points.All nonempty geography instances are comprised of points. Ces points représentent les coordonnées de latitude et de longitude du monde sur lequel les instances geography sont dessinées.These points represent the latitude and longitude coordinates of the earth on which the geography instances are drawn. Le type de données geography fournit de nombreuses méthodes intégrées pour interroger les points d’une instance.The data type geography provides numerous built-in methods for querying the points of an instance.

Pour retourner le nombre de points qui composent une instanceTo return the number of points that comprise an instance
STNumPoints (type de données geography)STNumPoints (geography Data Type)

Pour retourner un point spécifique dans une instanceTo return a specific point in an instance
STPointN (type de données geometry)STPointN (geometry Data Type)

Pour retourner le point de départ d'une instanceTo return the start point of an instance
STStartPoint (type de données geography)STStartPoint (geography Data Type)

Pour retourner le point de terminaison d'une instanceTo return the end point of an instance
STEndpoint (type de données geography)STEndpoint (geography Data Type)

DimensionDimension

Une instance geography non vide peut avoir 0, 1 ou 2 dimensions.A nonempty geography instance can be 0-, 1-, or 2-dimensional. Les instances geography à zéro dimension, telles que Point et MultiPoint, n’ont aucune longueur ou surface.Zero-dimensional geography instances, such as Point and MultiPoint, have no length or area. Les objets unidimensionnels, tels que LineString, CircularString, CompoundCurveet MultiLineStringont une longueur.One-dimensional objects, such as LineString, CircularString, CompoundCurve, and MultiLineString, have length. Les instances à deux dimensions, telles que Polygon, CurvePolygonet MultiPolygon, ont une surface et une longueur.Two-dimensional instances, such as Polygon, CurvePolygon, and MultiPolygon, have area and length. Les instances vides indiquent une dimension de -1 et une instance GeometryCollection indique la dimension maximale de son contenu.Empty instances report a dimension of -1, and a GeometryCollection reports the maximum dimension of its contents.

Pour retourner la dimension d'une instanceTo return the dimension of an instance
STDimension (type de données geography)STDimension (geography Data Type)

Pour retourner la longueur d'une instanceTo return the length of an instance
STLength (type de données geography)STLength (geography Data Type)

Pour retourner la surface d'une instanceTo return the area of an instance
STArea (type de données geography)STArea (geography Data Type)

VideEmpty

Une instance geography vide n’a aucun point.An emptygeography instance does not have any points. La longueur des instances LineString, CircularString, CompoundCurveet MultiLineString vides est nulle.The length of empty LineString, CircularString, CompoundCurve, and MultiLineString instances is 0. La surface des instances Polygon, CurvePolygon et MultiPolygon vides est nulle.The area of empty Polygon, CurvePolygon and MultiPolygon instances is 0.

Pour déterminer si une instance est videTo determine if an instance is empty
STIsEmpty (type de données geography)STIsEmpty (geography Data Type)

FermetureClosure

Une instance geography fermée est un graphique dont les points de début et de fin sont identiques.A closedgeography instance is a figure whose start points and end points are the same. Les instancesPolygon sont considérées comme fermées.Polygon instances are considered closed. Les instancesPoint ne sont pas fermées.Point instances are not closed.

Un anneau est une instance LineString simple et fermée.A ring is a simple, closed LineString instance.

Pour déterminer si une instance est ferméeTo determine if an instance is closed
STIsClosed (type de données geography)STIsClosed (geography Data Type)

Pour retourner le nombre d'anneaux dans une instance PolygonTo return the number of rings in a Polygon instance
NumRings (type de données geography)NumRings (geography Data Type)

Pour retourner un anneau spécifié d'une instance géographiqueTo return a specified ring of a geography instance
RingN (type de données geography)RingN (geography Data Type)

ID de référence spatial (SRID)Spatial Reference ID (SRID)

L’ID de référence spatial (SRID) est un identificateur spécifiant dans quel système de coordonnées ellipsoïde l’instance geography est représentée.The spatial reference ID (SRID) is an identifier specifying which ellipsoidal coordinate system the geography instance is represented in. Deux instances geography avec différents SRID ne peuvent pas être comparées.Two geography instances with different SRIDs cannot be compared.

Pour définir ou retourner le SRID d'une instanceTo set or return the SRID of an instance
STSrid (type de données geography)STSrid (geography Data Type)

Cette propriété peut être modifiée.This property can be modified.

Détermination de relations entre des instances geographyDetermining Relationships between geography Instances

Le type de données geography fournit de nombreuses méthodes intégrées que vous pouvez utiliser pour déterminer les relations entre deux instances geography .The geography data type provides many built-in methods you can use to determine relationships between two geography instances.

Pour déterminer si deux instances comprennent le même ensemble de pointsTo determine if two instances comprise the same point set
STEquals (type de données geometry)STEquals (geometry Data Type)

Pour déterminer si deux instances sont disjointesTo determine if two instances are disjoint
STDisjoint (type de données geometry)STDisjoint (geometry Data Type)

Pour déterminer si deux instances se croisentTo determine if two instances intersect
STIntersects (type de données geometry)STIntersects (geometry Data Type)

Pour déterminer le ou les points où deux instances se croisentTo determine the point or points where two instances intersect
STIntersection (type de données geography)STIntersection (geography Data Type)

Pour déterminer la distance la plus courte entre des points dans deux instances géographiquesTo determine the shortest distance between points in two geography instances
STDistance (type de données geometry)STDistance (geometry Data Type)

Pour déterminer la différence en points entre deux instances géographiquesTo determine the difference in points between two geography instances
STDifference (type de données geography)STDifference (geography Data Type)

Pour dériver la différence symétrique, ou points uniques, d'une instance geography comparée à une autre instanceTo derive the symmetric difference, or unique points, of one geography instance compared with another instance
STSymDifference (type de données geography)STSymDifference (geography Data Type)

Les instances geography doivent utiliser un SRID pris en chargegeography Instances Must Use Supported SRID

SQL ServerSQL Server prend en charge les SRID basés sur les normes EPSG.supports SRIDs based on the EPSG standards. Un SRID pris en charge par SQL ServerSQL Serverpour les instances geography doit être utilisé pour l’exécution de calculs ou l’utilisation de méthodes avec des données spatiales géographiques.A SQL ServerSQL Server-supported SRID for geography instances must be used when performing calculations or using methods with geography spatial data. Le SRID doit correspondre à l’un des SRID présents dans l’affichage catalogue sys.spatial_reference_systems .The SRID must match one of the SRIDs displayed in the sys.spatial_reference_systems catalog view. Comme mentionné précédemment, quand vous effectuez des calculs sur vos données spatiales à l’aide du type de données geography , vos résultats dépendent de l’ellipsoïde qui a été utilisée pour créer vos données, car un identificateur de référence spatiale (SRID) spécifique est assigné à chaque ellipsoïde.As mentioned previously, when you perform calculations on your spatial data using the geography data type, your results will depend on which ellipsoid was used in the creation of your data, as each ellipsoid is assigned a specific spatial reference identifier (SRID).

SQL ServerSQL Server utilise le SRID par défaut de 4326, qui se mappe au système de référence spatiale WGS 84, quand des méthodes sont utilisées dans des instances geography .uses the default SRID of 4326, which maps to the WGS 84 spatial reference system, when using methods on geography instances. Si vous utilisez des données d'un système de référence spatiale autre que WGS 84 (ou SRID 4326), vous devrez déterminer le SRID spécifique pour vos données spatiales geography.If you use data from a spatial reference system other than WGS 84 (or SRID 4326), you will need to determine the specific SRID for your geography spatial data.

ExemplesExamples

Les exemples suivants montrent comment ajouter et interroger des données géographiques.The following examples show how to add and query geography data.

  • Le premier exemple crée une table avec une colonne d'identité et une colonne geography GeogCol1.The first example creates a table with an identity column and a geography column GeogCol1. Une troisième colonne restitue la colonne geography dans sa représentation OGC (Open Geospatial Consortium) WKT (Well-Known Text) et utilise la méthode STAsText() .A third column renders the geography column into its Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation, and uses the STAsText() method. Deux lignes sont ensuite insérées : une ligne contient une instance LineString de geographyet une ligne contient une instance Polygon .Two rows are then inserted: one row contains a LineString instance of geography, and one row contains a Polygon instance.

    IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL   
        DROP TABLE dbo.SpatialTable;  
    GO  
    
    CREATE TABLE SpatialTable   
        ( id int IDENTITY (1,1),  
        GeogCol1 geography,   
        GeogCol2 AS GeogCol1.STAsText() );  
    GO  
    
    INSERT INTO SpatialTable (GeogCol1)  
    VALUES (geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326));  
    
    INSERT INTO SpatialTable (GeogCol1)  
    VALUES (geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326));  
    GO  
    
  • Le deuxième exemple utilise la méthode STIntersection() pour retourner les points où les deux instances geography précédemment insérées se croisent.The second example uses the STIntersection() method to return the points where the two previously inserted geography instances intersect.

    DECLARE @geog1 geography;  
    DECLARE @geog2 geography;  
    DECLARE @result geography;  
    
    SELECT @geog1 = GeogCol1 FROM SpatialTable WHERE id = 1;  
    SELECT @geog2 = GeogCol1 FROM SpatialTable WHERE id = 2;  
    SELECT @result = @geog1.STIntersection(@geog2);  
    SELECT @result.STAsText();  
    

Voir aussiSee Also

Données spatiales (SQL Server)Spatial Data (SQL Server)