Enregistrement d'une table tierce contenant une colonne spatiale
Utilisez la commande d'administration ArcSDE sdelayer avec l'opération register pour enregistrer une table spatiale en tant que classe d'entités.
L'opération register vous permet de créer une classe d'entités à partir d'une table SGBD qui contient une colonne spatiale définie en tant que type de données défini par l'utilisateur. A ce jour, six implémentations différentes des types de données spatiales du SGBD sont prises en charge dans les géodatabases ArcSDE : le type de géométrie Oracle Spatial (SDO_Geometry), Informix Spatial DataBlade (ST_Geometry), DB2 Spatial Extender (ST_Geometry), le type spatial pour Oracle (ST_Geometry), le type spatial pour PostgreSQL (ST_Geometry), PostGIS pour PostgreSQL (Geometry), Géométrie pour SQL Server (Geometry), et Géographie pour SQL Server (Geography). Les tables créées avec l'un de ces types de données spatiales et renseignées à l'aide de l'interface SQL du SGBD ou d'autres interface tierces peuvent être ajoutées à une géodatabase ArcSDE en enregistrant les tables existantes en tant que classes d'entités.
Pour enregistrer des tables spatiales tierces, les conditions préalables suivantes doivent être respectées :
- Seul le propriétaire de la table peut l'enregistrer avec ArcSDE. Par conséquent, le nom d'utilisateur et le mot de passe que vous fournissez avec les options -u et -p doivent être ceux du propriétaire de la table.
- Elle doit compter une seule colonne spatiale. Astuce :
Si la table contient plusieurs colonnes spatiales, vous pouvez créer un affichage de la table qui contient une seule colonne spatiale.
- Elle ne doit pas avoir d'autres colonnes d'un type défini par l'utilisateur.
- Tous les enregistrements de la table doivent avoir la même référence spatiale.
- Si un ID de référence spatiale (SRID) est spécifié avec l'option -R, ce SRID doit déjà exister dans la table de références spatiales ArcSDE dans la géodatabase. Les décalages et les étendues par défaut seront calculés selon la référence spatiale indiquée par le SRID spécifié.
- Le nom de la table ne doit pas associer des lettres majuscules et minuscules, commencer par un chiffre, ni dépasser 128 caractères (160 caractères dans Oracle).
- Vous devez spécifier le type de stockage de géométries avec l'option -t. Les valeurs valides pour l'option -t avec l'opération register sont Geography, Geometry, SDO_Geometry et ST_Geometry. La valeur spécifiée doit correspondre au type de colonne spatiale de la table en cours d'enregistrement.
- Lors de l'enregistrement de tables SDO_Geometry, il est recommandé de créer un index spatial avant de les enregistrer avec ArcSDE.
- Vous devez spécifier une étendue avec l'option -E.
Pour obtenir la syntaxe et des exemples d'utilisation de la commande sdelayer, reportez-vous au manuel ArcSDE Administration Command Reference inclus dans le composant ArcSDE de l'édition ArcGIS Server Enterprise.
La fonctionnalité d'enregistrement automatique pour SDO_Geometry présente dans les versions ArcSDE précédentes est désormais obsolète.
-
Dans l'invite de commande MS-DOS (Windows) ou shell (UNIX ou Linux), exécutez la commande sdelayer avec l'opération register.
L'enregistrement d'un PostGIS pointe la table avec ArcSDE
sdelayer -o register -l samplepts,geom -e p+ -C ptid,SDE -t PG_GEOMETRY -g RTREE -E -76.74381615680447,34.59132803608262,-74.56368991230103,36.18919425895801 -i sde:postgresql:myserver -s myserver -D bigdb -u editor -p open.up
Remarque :Si vous enregistrez la colonne d'identifiant d'entité comme mise à jour par l'utilisateur (-C id,USER) plutôt que par SDE, comme illustré dans l'exemple, puis que vous enregistrez par la suite la classe d'entités dans la géodatabase, ArcGIS ajoute une colonne d'identifiant d'entité supplémentaire, ObjectID. ArcGIS assure la mise à jour des valeurs de cette colonne. Si la table contient un grand nombre d'enregistrements, l'ajout de cette colonne ObjectID supplémentaire peut nécessiter un certain temps.