Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le type de données spatiales geography, geographyreprésente les données dans un système de coordonnées autour de la terre. Ce type est implémenté en tant que type de données CLR (Common Language Runtime) .NET dans SQL Server. Le type de données SQL Server geography stocke les données ellipsoïdes (autour de la terre), telles que les coordonnées de latitude GPS et de longitude.
Le geography type est prédéfini et disponible dans chaque base de données. Vous pouvez créer des colonnes de table de type geography et utiliser des geography données de la même manière que vous utiliseriez d’autres types fournis par le système.
Création ou construction d’une nouvelle instance geography
Création d’une instance geography à partir d’une instance existante
Le geography type de données fournit de nombreuses méthodes intégrées que vous pouvez utiliser pour créer de nouvelles geography instances basées sur des instances existantes.
Pour créer une mémoire tampon autour d’une zone géographique
STBuffer (type de données géographie)
Pour créer une zone tampon autour d’une zone géographique, permettant une certaine tolérance
BufferWithTolerance (type de données geography)
Pour créer une zone géographique à partir de l’intersection de deux instances géographiques
STIntersection (geography Data Type)
Pour créer une zone géographique à partir de l’union de deux instances géographiques
STUnion (type de données geography)
Pour créer une zone géographique à partir des points où une zone géographique ne chevauche pas une autre
STDifference (type de données Geography)
Construction d’une instance geography à partir d’une entrée de texte Well-Known
Le geography type de données fournit plusieurs méthodes intégrées qui génèrent une zone géographique à partir de la représentation WKT (Open Geospatial Consortium) (OGC). La norme WKT est une chaîne de texte qui permet d’échanger des données géographiques sous forme textuelle.
Pour construire n’importe quel type d’instance geography à partir d’une entrée WKT
STGeomFromText (type de données geography)
Analyse (type de données geography)
Pour construire une instance geography Point à partir d’une entrée WKT
STPointFromText (type de données de géographie)
Pour construire une instance géographie MultiPoint à partir d’une entrée WKT
STMPointFromText (type de données geography)
Pour construire une instance LineString geography à partir d’une entrée WKT
STLineFromText (type de données geography)
Pour construire une instance MultiLineString geography à partir d’une entrée WKT
STMLineFromText (type de données geography)
Pour construire une instance Polygon geography à partir d’une entrée WKT
STPolyFromText (type de données géographiques)
Pour construire une instance MultiPolygon géographique à partir d’une entrée WKT
STMPolyFromText (type de données Geography)
Pour construire une instance GeometryCollection geography à partir d’une entrée WKT
STGeomCollFromText (type de données géographiques)
Construction d’une instance geography à partir d’une entrée binaire Well-Known
WKB est un format binaire spécifié par l’OGC qui permet d’échanger des Geography données entre une application cliente et une base de données SQL. Les fonctions suivantes acceptent l’entrée WKB pour construire des instances geography :
Pour construire n’importe quel type d’instance geography à partir d’une entrée WKB
STGeomFromWKB (type de données géographique)
Pour construire une instance geography Point à partir d’une entrée WKB
STPointFromWKB (Type de données Geography)
Pour construire une instance de géographie MultiPoint à partir d’une entrée WKB
STMPointFromWKB (type de données géographie)
Pour construire une instance LineString geography à partir d’une entrée WKB
STLineFromWKB (type de données géographie)
Pour construire une instance MultiLineString geography à partir d’une entrée WKB
STMLineFromWKB (Type de données Geography)
Pour construire une instance Polygon geography à partir d’une entrée WKB
STPolyFromWKB (Type de données Geography)
Pour construire une instance MultiPolygon geography à partir d’une entrée WKB
STMPolyFromWKB (type de données géographie)
Pour construire une instance GeometryCollection geography à partir d’une entrée WKB
STGeomCollFromWKB (type de données géographie)STGeomCollFromWKB (type de données géographie)
Construction d’une instance geography à partir d’une entrée de texte GML
Le geography type de données fournit une méthode qui génère une geography instance à partir de GML, une représentation XML d’une geography instance. SQL Server prend en charge un sous-ensemble de GML.
Pour plus d’informations sur geography Markup Language, consultez la spécification OGC : Spécifications OGC, Geography Markup Language.
Pour construire n’importe quel type d’instance geography à partir d’une entrée GML
GeomFromGML (Type de données Geography)
Retourner Well-Known Texte et Well-Known Binaire à partir d'une instance de géographie
Vous pouvez utiliser les méthodes suivantes pour retourner le format WKT ou WKB d’une geography instance :
Pour renvoyer la représentation WKT d’une instance de géographie
STAsText (type de données geography)
ToString (type de données geography)
Pour retourner la représentation WKT d’une instance géographique, y compris les valeurs Z et M
AsTextZM (Type de données géographiques)
Pour retourner la représentation WKB d’une instance geography
STAsBinary (Type de données de géographie)
Pour retourner une représentation GML d’une instance geography
AsGml (Type de données de géographie)
Interroger les propriétés et les comportements des instances de géographie
Toutes les geography instances ont un certain nombre de propriétés qui peuvent être récupérées par le biais de méthodes que SQL Server fournit. Les rubriques suivantes définissent les propriétés et les comportements des types géographiques, ainsi que les méthodes d’interrogation de chacune d’elles.
Informations sur la Validité, le Type d’Instance et la Collection de Géométrie
Une fois qu’une geography instance est construite, vous pouvez utiliser les méthodes suivantes pour retourner le type d’instance, ou s’il s’agit d’une GeometryCollection instance, renvoyer une instance spécifique geography .
Pour retourner le type d’instance d’une zone géographique
STGeometryType (type de données géographie)
Pour déterminer si une zone géographique est un type d’instance donné
InstanceOf (Type de données Geography)
Pour déterminer si une instance geography est bien formée pour son type d’instance
STNumGeometries (type de données géographie)
Pour retourner une zone géographique spécifique dans une instance GeometryCollection
STGeometryN (type de données géographie)STGeometryN (type de données de géographie)
Nombre de points
Toutes les instances sansmpty geography sont composées de points. Ces points représentent les coordonnées de latitude et de longitude de la terre sur lesquelles les geography instances sont dessinées. Le type geography de données fournit de nombreuses méthodes intégrées pour interroger les points d’une instance.
Pour retourner le nombre de points qui composent une instance
STNumPoints (type de données géographique)
Pour retourner un point spécifique dans une instance
STPointN (type de données geometry)
Pour retourner le point de départ d’une instance
STStartPoint (type de données géographie)
Pour retourner le point de terminaison d’une instance
STEndpoint (geography type de données)
Dimension
Une instance nonempty geography peut être de 0, 1 ou 2 dimensions. Les instances de dimension geography zéro, telles que Point et MultiPoint, n’ont pas de longueur ou de zone. Les objets unidimensionnels, tels que LineString, CircularString, CompoundCurveet MultiLineString, ont une longueur. Les instances à deux dimensions, telles que Polygon, CurvePolygon, et MultiPolygon, ont une zone et une longueur. Les instances vides signalent une dimension de -1 et indique GeometryCollection la dimension maximale de son contenu.
Pour retourner la dimension d’une instance
STDimension (type de données Géographie)
Pour retourner la longueur d’une instance
STLength (type de données Geography)
Pour retourner la zone d’une instance
STArea (type de données géographiques)
Vide
Une instance videgeography n’a aucun point. La longueur des instances LineString, CircularString, CompoundCurve, et MultiLineString vides est de 0. La zone des instances Polygon, CurvePolygon et MultiPolygon vides est de 0.
Pour déterminer si une instance est vide
STIsEmpty (Type de données geography)
Clôture
Une instance ferméegeography est une figure dont les points de départ et les points de terminaison sont identiques.
Polygon les instances sont considérées comme fermées.
Point les instances ne sont pas fermées.
Un anneau est une instance simple et fermée LineString .
Pour déterminer si une instance est fermée
STIsClosed (type de données Geography)
Pour retourner le nombre d’anneaux dans une instance Polygon
NumRings (Type de données Geography)
Pour retourner un anneau spécifié d’une instance geography
RingN (type de données géographie)
ID de référence spatiale (SRID)
L’ID de référence spatiale (SRID) est un identificateur spécifiant le système de coordonnées ellipsoidal dans lequel l’instance geography est représentée. Deux geography instances avec des SRID différents ne peuvent pas être comparées.
Pour définir ou retourner le SRID d’une instance
STSrid (Type de données Geography)
Cette propriété peut être modifiée.
Détermination des relations entre les instances de géographie
Le geography type de données fournit de nombreuses méthodes intégrées que vous pouvez utiliser pour déterminer les relations entre deux geography instances.
Pour déterminer si deux instances comprennent le même jeu de points
STEquals (type de données geometry)
Pour déterminer si deux instances sont disjointes
STDisjoint (Type de données Géométrique)
Pour déterminer si deux instances se croisent
STIntersects (type de données géométrie)
Pour déterminer le point ou les points où deux instances se croisent
STIntersection (type de données geography)
Pour déterminer la distance la plus courte entre les points dans deux instances géographiques
STDistance (type de données géométriques)
Pour déterminer la différence entre les points entre deux instances géographiques
STDifference (Type de données Geography)
Pour dériver la différence symétrique, ou des points uniques, d’une instance géographique par rapport à une autre instance
STSymDifference (type de données géographiques)
Les instances geography doivent utiliser le SRID pris en charge
SQL Server prend en charge les SRID en fonction des normes EPSG. Un SRID pris en charge par SQL Server pour geography les instances doit être utilisé lors de l’exécution de calculs ou d’utilisation de méthodes avec des données spatiales géographiques. Le SRID doit correspondre à l’un des SRID affichés dans l’affichage catalogue sys.spatial_reference_systems . Comme mentionné précédemment, lorsque 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 utilisé lors de la création de vos données, car chaque ellipsoïde est associé à un identificateur de référence spatiale spécifique (SRID).
SQL Server utilise le SRID par défaut de 4326, qui correspond au système de référence spatiale WGS 84, lorsqu'on applique des méthodes sur les instances geography. Si vous utilisez des données d’un système de référence spatiale autre que WGS 84 (ou SRID 4326), vous devez déterminer le SRID spécifique pour vos données spatiales géographiques.
Exemples
Les exemples suivants montrent comment ajouter et interroger des données géographiques.
Le premier exemple crée une table avec une colonne d’identité et une
geographycolonneGeogCol1. Une troisième colonne affiche lageographycolonne dans sa représentation OGC (Open Geospatial Consortium) Well-Known Text (WKT) et utilise laSTAsText()méthode. Deux lignes sont ensuite insérées : une ligne contient uneLineStringinstancegeographyet une ligne contient unePolygoninstance.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)); GOLe deuxième exemple utilise la
STIntersection()méthode pour retourner les points où les deux instances précédemment inséréesgeographyse croisent.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();