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 une table attributaire de couche, le champ ObjectID apparaît généralement sous la liste des alias OID ou ObjectID pour les tables et les couches. 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 ArcMap, cliquez avec le bouton droit dans la vue Répertorier par source de la table des matières, puis cliquez sur 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 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 de géotraitement 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.