Ajouter un index attributaire (Gestion des données)
Récapitulatif
Ajoute un index attributaire à une table, une classe d'entités, un fichier de formes, une couverture ou une classe de relations attribuées existant.
ArcGIS utilise des index attributaires pour localiser rapidement les enregistrements qui répondent à une requête attributaire. Pour obtenir des informations sur les index attributaires des géodatabases, reportez-vous à la rubrique Création d'index attributaires.
Utilisation
-
Seules les classes d'entités d'une géodatabase fichier ou personnelle ou d'une base de données ArcSDE prennent en charge plusieurs index attributaires. Le paramètre Nom de l'index peut être utilisé uniquement avec ces deux types d'entrées, avec Unique | Non_unique ou Ascending | Non_ascending.
-
Les fichiers de formes ne prenant pas en charge plusieurs index, les champs supplémentaires feront partie d'un index composite (c.-à-d. un index créé sur plusieurs champs dans une table).
-
Bien que les index multi-colonnes ne soient pas encore implémentés dans les géodatabases fichier, cet outil vous permet de spécifier un index multi-colonnes pour une géodatabase fichier. Si vous créez un index de ce type, il apparaît comme un index multi-colonnes lorsqu'il est affiché dans la boîte de dialogue Propriétés de la classe d'entités ou de la table, mais il s'agit en réalité d'un index distinct sur chaque champ.
-
Un nouvel index est ajouté pour chaque nom d'index unique dans les géodatabases ArcSDE et fichier ou personnelle. Si un nom d'index existe déjà, il doit être supprimé pour pouvoir être mis à jour.
-
Les éléments doivent être indexés pour prendre en charge les resélections en mode natif sur les tables de SGBD externes.
-
Le bouton Ajouter un champ du paramètre Champs à indexer est utilisé uniquement dans ModelBuilder. Dans ModelBuilder, lorsque l'outil précédent n'a pas été exécuté ou si ses données dérivées n'existent pas, le paramètre Champs à indexer peut ne comporter aucun nom de champ. Le bouton Ajouter un champ vous permet d'ajouter des champs prévus pour terminer la saisie de valeurs dans la boîte de dialogue Ajouter un attribut et poursuivre la création du modèle.
Syntaxe
Paramètre | Explication | Type de données |
in_table |
Table contenant les champs à indexer. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
fields |
Liste des champs qui participeront à l'index. Vous pouvez indiquer autant de champs que vous voulez. | Field |
index_name (Facultatif) |
Nom du nouvel index. Un nom d'index est nécessaire lors de l'ajout d'un index à des classes d'entités et des tables de géodatabase. Pour d'autres types de données, tels que des fichiers de forme ou des classes d'entités de couverture, vous ne pouvez pas spécifier de noms d'index. | String |
unique (Facultatif) |
Précise si les valeurs de l'index sont uniques.
| Boolean |
ascending (Facultatif) |
Indique si les valeurs sont indexées dans l'ordre croissant.
| Boolean |
Exemple de code
Le script autonome suivant illustre la création d'un index attributaire pour les champs spécifiés.
# Name: AddAttIndex.py # Description: Create an attribute Index for specified fields # Import system modules import arcpy # Set a default workspace arcpy.env.workspace = "c:/data" try: # Create an attribute index for the few fields listed in command. arcpy.AddIndex_management ("counties.shp", "NAME;STATE_FIPS;CNTY_FIPS", "#", "NON_UNIQUE", "NON_ASCENDING") arcpy.AddIndex_management ("mexico.mdb/land/lakes", "NAME;geocompID", "NGIndex", "UNIQUE", "ASCENDING") except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message
Le code suivant montre comment utiliser la fonction AddIndex dans une fenêtre interactive Python.
import arcpy arcpy.env.workspace = "C:/data/input/indices.gdb" arcpy.AddIndex_management("lakes", "NAME;geocompID", "NGIndex", "UNIQUE", "ASCENDING")