Règles à suivre lors de la création de tables spatiales à utiliser avec une géodatabase
Voici une liste d'informations à garder à l'esprit lorsque vous créez avec des outils tiers des tables spatiales que vous utiliserez avec ArcGIS :
-
Votre table a besoin d'une colonne de nombres entiers, uniques et de valeur non nulle à utiliser comme identifiant unique dans ArcGIS.
ArcSDE requiert une colonne d'identifiant d'entité unique inscrite dans la table spatiale pour exécuter des requêtes spatiales, des requêtes de fichier journal, des opérations de ligne unique et des opérations de base de données multi-versionnées. Lorsque vous ajoutez une colonne spatiale à une table existante dans une géodatabase ArcSDE, cela peut aussi ajouter une colonne d'identifiant unique. Cette colonne s'appelle la plupart du temps OBJECTID, mais elle peut porter un autre nom.
Une colonne existante peut également être utilisée comme colonne d'identifiant unique, tant qu'elle est indexée et déclarée comme NUMBER ou INTEGER, UNIQUE et NOT NULL. Pour plus d'informations sur cette colonne, reportez-vous à la rubrique Définition d'un identifiant d'objet.
-
Evitez d'avoir plusieurs colonnes spatiales dans la même table.
Il est possible de créer plusieurs colonnes spatiales dans la même table. Toutefois, ArcGIS ne prend pas en charge plusieurs colonnes de géométrie dans une même table. Pour utiliser des tables qui comportent plusieurs colonnes spatiales, créez une vue spatiale qui inclut une seule des colonnes spatiales. Reportez-vous à la rubrique Utilisation des vues spatiales sur les tables comportant une colonne ST_Geometry pour plus d'informations sur la création d'une vue spatiale dans les tables qui contiennent des colonnes ST_Geometry.
-
Ne mélangez pas les majuscules et les minuscules dans les noms d'objets.
Par défaut, les noms des objets de base de données sont stockés entièrement en lettres majuscules dans Oracle et DB2 et entièrement en lettres minuscules dans PostgreSQL et Informix. Il est possible, lorsque vous créez des tables avec SQL, de forcer la base de données à stocker des noms contenant à la fois des majuscules et des minuscules. Toutefois, si vous envisagez d'utiliser vos données avec ArcGIS, ne procédez pas ainsi. La suite logicielle ArcGIS ne permet pas de tenir compte de la casse. Si vous créez des noms d'objets contenant des majuscules et des minuscules, les requêtes exécutées à l'aide d'applications telles que les commandes ArcSDE ou ArcMap risquent d'échouer. De la même façon, si vous créez des noms d'objets en lettres majuscules dans une base de données PostgreSQL ou des noms d'objets en lettres minuscules dans une base de données Oracle, les requêtes ArcGIS échoueront.
Les bases de données SQL Server utilisées avec ArcGIS ne font pas la distinction entre les majuscules et les minuscules. Par conséquent, cette règle ne s'applique pas aux bases de données SQL Server.
-
Le type des enregistrements que vous insérez dans une table spatiale doit correspondre au type défini pour la colonne spatiale.
Une colonne spatiale peut uniquement accepter des données du type exigé par la colonne spatiale. Par exemple, une colonne de type de ST_Polygon refuse les nombres entiers, les caractères et même d'autres types de géométrie tels que ST_LineString. Toutefois, ST_Geometry accepte des géométries de tous les codes pris en charge.
Les colonnes de type spatial SQL Server sont toujours des types de géométrie ou de géographie ; il n'existe pas de codes ou de métadonnées concernant le type d'entité. Par conséquent, cette règle ne s'applique pas aux bases de données SQL Server.
-
Utilisez une seule référence spatiale pour les données de la table.
La géodatabase applique une référence spatiale à la table entière. Lorsque vous inscrivez la table dans ArcSDE, vous spécifiez la référence spatiale à utiliser, et vous ne pouvez en indiquer qu'une seule. Si vous inscrivez la table avec une référence spatiale, mais que certaines des données se trouvent en réalité dans une référence spatiale différente, les données ne s'affichent pas correctement et vous pouvez même recevoir un message d'erreur.