Ajouter un index attributaire (Gestion des données)

Synthèse

Ajoute un index attributaire à une table, une classe d'entités, un fichier de formes ou une classe de relations attribuées.

ArcGIS utilise des index attributaires pour localiser rapidement les enregistrements qui répondent à une requête attributaire.

Utilisation

  • Les shapefiles et les géodatabases fichier ne prennent pas en charge plusieurs index. Les champs supplémentaires feront partie d’un index composite (c’est-à-dire, un index créé sur plusieurs champs dans une table).

  • Un nouvel index est ajouté pour chaque nom d’index unique dans une géodatabase. Si un nom d’index existe déjà, il doit être supprimé pour pouvoir être mis à jour.

  • Pour les données des géodatabases d’entreprise non inscrites comme versionnées, vous pouvez ajouter à la fois des index uniques et non uniques dans des champs GlobalID.

  • Les index uniques et croissants ne sont pas pris en charge pour les fichiers de formes ou géodatabases fichiers. Ces paramètres sont ignorés lorsque l’outil est exécuté sur un shapefile ou des données de géodatabase fichier.

Paramètres

ÉtiquetteExplicationType de données
Table en entrée

Table contenant les champs à indexer.

Mosaic Layer; Raster Layer; Table View
Champs à indexer

Liste des champs qui seront indexés. Vous pouvez indiquer autant de champs que vous voulez.

Field
Nom de l'index
(Facultatif)

Nom du nouvel index. Un nom d'index est nécessaire lors de l'ajout d'un index à des tables et classes d'entités de géodatabase. Pour d'autres types d'entrée, le nom est ignoré.

String
Unique
(Facultatif)

Précise si les valeurs de l'index sont uniques.

  • Désactivé - Aucune valeur de l’index n’est unique. Il s’agit de l’option par défaut.
  • Activé - Toutes les valeurs de l'index sont uniques.

Boolean
Croissant
(Facultatif)

Indique si les valeurs sont indexées dans l’ordre croissant.

  • Désactivé - Les valeurs ne sont pas indexées dans l’ordre croissant. Il s’agit de l’option par défaut.
  • Activé - Les valeurs sont indexées dans l’ordre croissant.

Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Table en entrée mise à jour

Table en entrée mise à jour.

Table View; Raster Layer; Mosaic Layer

arcpy.management.AddIndex(in_table, fields, {index_name}, {unique}, {ascending})
NomExplicationType de données
in_table

Table contenant les champs à indexer.

Mosaic Layer; Raster Layer; Table View
fields
[fields,...]

Liste des champs qui seront indexés. 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 tables et classes d'entités de géodatabase. Pour d'autres types d'entrée, le nom est ignoré.

String
unique
(Facultatif)

Précise si les valeurs de l'index sont uniques.

  • NON_UNIQUEAucune valeur de l’index n’est unique. Il s’agit de l’option par défaut.
  • UNIQUEToutes les valeurs de l'index sont uniques.
Boolean
ascending
(Facultatif)

Indique si les valeurs sont indexées dans l’ordre croissant.

  • NON_ASCENDINGLes valeurs ne sont pas indexées dans l’ordre croissant. Il s’agit de l’option par défaut.
  • ASCENDINGLes valeurs sont indexées dans l’ordre croissant.
Boolean

Sortie obtenue

NomExplicationType de données
out_table

Table en entrée mise à jour.

Table View; Raster Layer; Mosaic Layer

Exemple de code

Exemple 1 d’utilisation de la fonction AddIndex (fenêtre Python)

Le code suivant montre comment utiliser la fonction AddIndex dans une fenêtre interactive Python.

import arcpy
arcpy.env.workspace = "C:/data/input/indices.sde"
arcpy.management.AddIndex("gdb.USER1.lakes", ["NAME", "geocompID"], "NGIndex", 
                          "UNIQUE", "ASCENDING")
Exemple 2 d’utilisation de la fonction AddIndex (script autonome)

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"

# Create an attribute index for the few fields listed in command.
arcpy.management.AddIndex("counties.shp", ["NAME", "STATE_FIPS", "CNTY_FIPS"], 
                          "#", "NON_UNIQUE", "NON_ASCENDING")
arcpy.management.AddIndex("mexico.gdb/land/lakes", ["NAME", "geocompID"], 
                          "NGIndex", "NON_UNIQUE", "NON_ASCENDING")

Rubriques connexes