Références spatiales

Les références spatiales incluent un système de coordonnées pour les valeurs x, y et z. Dans les géodatabases d'entreprise, la référence spatiale inclut également des valeurs de résolution. Toutes ces informations permettent d'indiquer où sur la terre les formes de votre carte plane sont représentées.

Chaque référence spatiale a également un identifiant (souvent appelé un identifiant connu, ID de référence spatiale ou SRID) et une définition de texte connue du système de coordonnées. Il y a certains identifiants standard, tels que ceux définis par l'European Petroleum Survey Group (EPSG) ou Esri, mais l'identifiant des références spatiales n'est pas toujours standard. Cela a des conséquences lors du déplacement de vos données spatiales entre des bases de données. Consultez la section « Comment le système de référence spatiale est utilisé dans ArcGIS » dans cette rubrique pour en savoir plus.

Lorsqu'il est créé via ArcGIS, un système de référence spatiale doté d'un SRID est attribué à la classe d'entités. Si aucune référence spatiale n'est attribuée, la classe d'entités a une référence spatiale inconnue. Cette référence spatiale et le SRID s'appliquent à toutes les lignes de la classe d'entités.

Lorsque des tables spatiales sont créées directement dans la base de données (hors ArcGIS), un autre SRID et une autre référence spatiale peuvent être attribués à chaque enregistrement d'une table spatiale. Toutedois, lorsque vous utilisez des tables de base de données avec ArcGIS, ce dernier reconnaît un seul SRID et une seule référence pour la table entière. Vous pouvez définir une couche de requête pour spécifier le SRID à utiliser, et toutes les lignes accompagnant cet SRID seront accessibles dans ArcGIS. Sinon, ArcGIS lit le SRID de la première ligne de la table et seules les lignes pour lesquelles ce SRID est défini seront accessibles dans ArcGIS.

Tables de référence spatiale dans les géodatabases d'entreprise

Dans les géodatabases d'entreprise (et les bases de données Oracle ou PostgreSQL dans lesquelles le type ST_Geometry est installé), tous les systèmes de référence spatiale sont stockés dans une table système de la géodatabase.

Base de données et type de stockage

Table système de la géodatabase

Oracle (ST_Geometry)

sde.st_spatial_references

Oracle (SDO_Geometry ou SDEBINARY)

sde.spatial_references

PostgreSQL (ST_Geometry et géométrie PostGIS)

public.sde_spatial_references

Il existe également une vue modifiable de cette table (sde.st_spatial_references) dans laquelle les références spatiales peuvent être insérées.

Informix (ST_Geometry)

sde.spatial_references

DB2 (ST_Geometry)

db2gse.st_spatial_reference_systems (Il s'agit d'un affichage système.)

SQL Server (géométrie, géographie et SDEBINARY)

sde_spatial_references

Le système de référence spatiale doit exister dans la table de référence spatiale pour que vous puissiez l'utiliser avec vos données.

Depuis ArcGIS 10.1, la table système de géodatabase utilisée pour ST_Geometry dans Oracle et PostgreSQL est prérenseignée avec les systèmes de référence spatiale utilisant les codes EPSG pour les ID de référence spatiale (SRID). Les systèmes de référence spatiale des géodatabases mises à niveau dans Oracle et PostgreSQL sont ajoutés aux tables public.sde_spatial_references et sde.st_spatial_references.

Pour obtenir une définition de toutes les colonnes dans la table de référence spatiale dans chaque système de gestion de bases de données, consultez les rubriques sur les tables système qui leur correspondent :

ApprofondissementApprofondissement :

Voici les détails techniques expliquant comment le système de référence spatiale est utilisé dans une géodatabase :

Les fonctions internes utilisent les paramètres d'un système de référence spatiale pour convertir et mettre à l'échelle chaque coordonnée à virgule flottante de la géométrie en nombre entier positif de 64 bits avant le stockage. Une fois l'extraction effectuée, les coordonnées sont restaurées à leur format à virgule flottante externe.

Les coordonnées à virgule flottante sont converties en nombres entiers par soustraction des valeurs x et y fictives, ce qui les ramène à l'origine fictive, par mise à l'échelle en multipliant par les unités x,y, par l'ajout d'une demi-unité, puis par la troncature du reste.

Les coordonnées z et les mesures, facultatives, sont traitées de la même façon, si ce n'est qu'elles sont translatées des valeurs z et m fictives et mises à l'échelle à l'aide des unités z et m, respectivement.

Tables de référence spatiale dans les bases de données

A l'exception du type ST_Geometry installé dans une base de données Oracle ou PostgreSQL, les bases de données qui utilisent un type de géométrie SQL ne contiennent pas de table système ArcSDE. Chaque SGBD a sa propre table système pour stocker les références spatiales. En général, ces tables stockent le texte et l'identifiant connus du système de coordonnées mais ne stockent pas les valeurs de précision ou de tolérance.

La plupart des bases de données utilisent des codes EPSG pour leurs ID de référence spatiale.

Pour plus de détails, reportez-vous à la documentation de votre SGBD.

Comment le système de référence spatiale est utilisé dans ArcGIS

Lorsque vous créez une classe d'entités dans ArcGIS, vous choisissez une référence spatiale. Si vous stockez vos données dans une géodatabase, ArcGIS calcule les unités et les décalages x, y, z et m par défaut selon la référence spatiale choisie.

Lorsque les données sont collées ou importées dans une base de données ou une géodatabase d'entreprise dans ArcGIS for Desktop, ArcGIS prend la description textuelle connue et l'identifiant du système de coordonnées des données entrantes, ainsi que la tolérance et la résolution s'il y a lieu, et les compare aux valeurs dans la table système de référence spatiale. Si une correspondance est identifiée, la référence spatiale existante est utilisée. Si aucune correspondance n'est identifiée (par exemple, si les données entrantes ont une référence spatiale personnalisée), la suite dépend du type spatial utilisé pour la colonne spatiale de la table créée dans la base de données ou géodatabase cible.

Le tableau suivant indique quel SRID est utilisé dans la base de données PostgreSQL, Oracle, SQL Server ou Netezza cible lors de l'importation ou du collage des données spatiales. Les termes connu et inconnu indiquent si la référence spatiale des données source peut être appariée à une référence spatiale existante dans la base de données cible.

Cible

Source

ST_Geometry

Géométrie PostGIS

Oracle SDO_Geometry

Géométrie SQL Server

Géographie SQL Server

Netezza spatial

Code EPSG connu avec une colonne ST_Geometry, SDEBINARY, Géométrie PostGIS, SDO_Geometry, Géométrie SQL Server, Géographie SQL Server ou Netezza spatial

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Code EPSG connu avec tolérance et/ou précision personnalisées avec une colonne ST_Geometry, SDEBINARY ou Netezza spatial

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Système de coordonnées Esri connu avec une colonne ST_Geometry, SDEBINARY ou Netezza spatial

Le code Esri est utilisé pour l'identifiant et stocké avec la géométrie.

L'identifiant est défini sur –1.

L'identifiant est nul.

Le code Esri est utilisé pour l'identifiant et stocké avec la géométrie.

Les systèmes de coordonnées Esri sont utilisés pour les systèmes de coordonnées projetées. Puisque les systèmes de coordonnées projetées ne peuvent pas être utilisés avec le type Géographie SQL Server, une erreur est renvoyée et les données ne peuvent pas être importées.

Le code Esri est utilisé en tant qu'ID de référence spatiale et stocké avec la géométrie.

Système de coordonnées inconnu avec une colonne ST_Geometry, SDEBINARY, Géométrie PostGIS, SDO_Geometry, Géométrie SQL Server ou Netezza spatial

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

L'identifiant est défini sur –1.

L'identifiant est nul.

L'identifiant est défini sur 0.

Une erreur est renvoyée et les données ne peuvent pas être importées.

L'identifiant est défini sur 500000.

Système de coordonnées Oracle personnalisé avec une colonne SDO_Geometry

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

L'identifiant est défini sur –1.

L'identifiant Oracle personnalisé est utilisé s'il est défini dans la source. Dans le cas contraire, la valeur du SRID dans la base de données cible est nulle.

L'identifiant est défini sur 0.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Système de coordonnées personnalisé avec une colonne Géométrie PostGIS

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

L'identifiant PostGIS personnalisé est utilisé, s'il est défini dans la source. Dans le cas contraire, il est défini sur -1 dans la base de données cible.

L'identifiant est nul.

L'identifiant est défini sur 0.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Lorsque vous collez ou importez des données dans une base de données DB2 ou Informix, ArcGIS recherche également une correspondance dans la table de références spatiales. S'il en trouve une, un enregistrement contenant les nouvelles informations est ajouté à la table de références spatiales. Consultez la documentation IBM pour savoir quels ID sont utilisés.

Les données spatiales avec une référence spatiale inconnue ne peuvent pas être publiées en tant que service d'ArcGIS. Pour publier les données, créez une couche de requête et spécifiez une référence spatiale sur la couche de requête.

Thèmes connexes

9/12/2013