Définition d'un identifiant d'objet
La colonne objectID affiche des nombres entiers, uniques et de valeur non nulle pour identifier de façon unique les lignes des tables dans une géodatabase. La colonne ObjectID peut contenir des valeurs 32 bits qui stockent une valeur maximale de 2 147 483,648.
Les tables créées par l'intermédiaire d'ArcGIS ou à l'extérieur d'ArcGIS, puis inscrites dans la géodatabase, contiennent automatiquement un champ objectID. Les valeurs de ce champ sont définies par la géodatabase. Les valeurs de la colonne objectID permettent à ArcGIS d'effectuer différentes opérations, telles que le défilement et l'affichage des jeux de sélection et l'identification des entités.
Comme la plupart des fonctionnalités d'ArcGIS for Desktop nécessitent l'unicité des valeurs de la colonne objectID, vous devez faire attention à ne pas les dupliquer lorsque vous travaillez directement dans la base de données. Par exemple, lors de la création de vues avec une relation un vers plusieurs, les valeurs objectID risquent d'être dupliquées. Ceci peut provoquer un comportement incohérent dans le fonctionnement d'ArcGIS for Desktop.
Quand est-ce qu'une valeur objectID est ajoutée à une table ?
Une valeur objectID peut être ajoutée à une table de trois façons :
- Une colonne ObjectID gérée par la géodatabase est automatiquement ajoutée à toute table créée à l'aide d'ArcGIS.
- Si vous inscrivez une table dans la géodatabase qui ne comporte pas de colonne appropriée, la géodatabase ajoute à la table une colonne qui répond aux exigences d'une valeur objectID. Si votre table contient déjà une colonne ObjectID, la géodatabase ajoute une colonne nommée OBJECTID_.
- Si vous avez inscrit votre table dans ArcSDE à l'aide de la commande sdetable ou sdelayer, vous avez spécifié une colonne d'ID de ligne à ce moment. Vous avez spécifié également si cette colonne sera gérée par ArcSDE ou par vous (gérée par l'utilisateur).
Par la suite, lorsque vous enregistrez la table dans la géodatabase, l'ID de ligne de la table sera utilisé comme objectID dans la géodatabase si vous avez spécifié un ID de ligne géré par ArcSDE. Par contre, si vous avec spécifié un ID de ligne par l'utilisateur, la géodatabase ajoute une nouvelle colonne ObjectID lorsque vous inscrivez par la suite la table dans la géodatabase. Cette nouvelle colonne ObjectID remplace la colonne que vous avez spécifiée lors de l'inscription de la table avec ArcSDE. Cette opération a également pour effet de transformer le type de données de votre valeur objectID définie par l'utilisateur d'une valeur objectID en un entier long.
Par conséquent, si vous comptez également inscrire la table dans la géodatabase après l'avoir inscrite dans ArcSDE, vous devez inscrire l'ID de ligne comme étant géré par ArcSDE.