Notions de base des champs ObjectID
Le champ ObjectID est géré par ArcGIS et garantit un identifiant unique pour chaque ligne d'une table. Lorsque vous affichez une table ou la table attributaire d'une couche, le champ ObjectID apparaît généralement répertorié sous les alias OID ou ObjectID. Des fonctions clés, telles que le défilement et l'affichage de sélections dépendent de la présence de ce champ.
La plupart des sources de données prises en charge par ArcCatalog et ArcMap fournissent un champ ObjectID avec leurs données tabulaires. Vous accédez alors directement au champ ObjectID qui est utilisé par la fenêtre Table dans ArcMap et par l'aperçu de la table dans ArcCatalog. Toutefois, les sources de données suivantes n'ont aucun champ ObjectID associé à leurs données tabulaires :
- données OLE DB
- Données du fichier texte délimité
- Données Microsoft Excel
- Données non spatiales de SDE 3 (Remarque : les données spatiales ont un champ ObjectID.)
- Données non spatiales non enregistrées d'ArcSDE (Remarque: les données spatiales non enregistrées ont un champ ObjectID.)
- Données non enregistrées provenant d'une géodatabase personnelle
Si vous n'êtes pas sûr du type de table avec laquelle vous travaillez et si vous ignorez si elle comporte ou non un champ ObjectID, vous pouvez le trouver rapidement. Dans la partie supérieure de la fenêtre de la table des matières d'ArcMap, cliquez sur le bouton Répertorier par source , cliquez avec le bouton droit de la souris sur la table dans la table des matières, puis sélectionnez Propriétés. Cliquez sur l'onglet Source de la boîte de dialogue Propriétés de la table pour vérifier si la propriété Possède un champ ObjectID affiche la valeur Oui ou Non. Dans ArcMap ou ArcCatalog, vous pouvez afficher la boîte de dialogue Propriétés de la table et cliquer sur l'onglet Champs. Si aucun champ répertorié n'affiche un type de données ObjectID, les données ne comportent aucun champ ObjectID.
Si votre table ne comporte aucun champ ObjectID, vous ne serez pas en mesure d'effectuer les opérations suivantes :
- sélectionner les entités dans la couche de la carte. Vous pourrez tout de même sélectionner des enregistrements dans la fenêtre Table, y compris à l'aide d'une expression dans la boîte de dialogue Sélectionner par attributs, mais cet ensemble de sélection n'apparaît pas sur la carte.
- appliquer une ensemble de définitions pour n'afficher qu'un sous-ensemble d'enregistrements ou d'entités.
- créer des mises en relation. Vous pouvez néanmoins effectuer une mise en relation avec une table sans champ ObjectID à partir d'une table avec un champ ObjectID. Dans ce cas, cette relation peut être utilisée par l'outil Identifier pour répertorier des enregistrements reliés. Vous ne pouvez pas transférer de sélections via la relation.
- ouvrir une session de mise à jour et modifier les attributs. Vous pouvez néanmoins modifier directement sur le disque la table à l'origine de la couche, par exemple à l'aide d'un éditeur de texte si le fichier est de type .txt. Vos modifications apparaîtront alors sur la carte à sa prochaine actualisation.
Il existe plusieurs méthodes pour obtenir un champ ObjectID pour vos données :
- si vous utilisez une table de coordonnées x,y et l'afficher dans ArcMap, vous pouvez exporter la couche x,y vers une nouvelle classe d'entités. Vous pouvez également convertir une table de coordonnées en une nouvelle classe d'entités points dans ArcCatalog. Ces deux procédures créent une classe d'entités complètement fonctionnelle avec un champ ObjectID.
- vous pouvez utiliser l'outil Générer une table de requête qui vous permet de créer la table via une connexion OLE DB et d'indiquer une colonne à utiliser comme colonne ObjectID ou d'ajouter dynamiquement le champ ObjectID.
- Avec certaines sources de données, vous pouvez enregistrer les données ans ArcGIS, ce qui ajoute un champ ObjectID.
ArcGIS et la géodatabase ne peuvent pas exploiter des nombres entiers de 64 bits. 2 147 483 648 est la valeur ObjectID maximale possible.