Agregar índice de atributos (Administración de datos)

Resumen

Agrega un índice de atributos a una tabla, una clase de entidad, un shapefile o una clase de relación con atributos existente.

Los índices de atributo son utilizados por ArcGIS para localizar rápidamente registros que coincidan con una consulta de atributos.

Uso

  • Los shapefiles y las geodatabases de archivos no admiten varios índices. Los campos adicionales serán parte de un índice compuesto (es decir, un índice creado en varios campos en una tabla).

  • Se agrega un nuevo índice por cada nombre de índice único en una geodatabase. Si el nombre de un índice ya existe, debe ser eliminado antes de que se pueda actualizar.

  • Para datos de geodatabases corporativas que no están registrados como versionados, puede agregar índices únicos y no únicos en campos de GlobalID.

  • Los índices únicos y ascendentes no se admiten para shapefiles ni para geodatabases de archivos. Estos parámetros se ignoran cuando la herramienta se ejecuta en un shapefile o en datos de geodatabase de archivos.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

Tabla que contiene los campos que se indexarán.

Mosaic Layer; Raster Layer; Table View
De campos a índices

La lista de campos que se indexarán. Se puede especificar cualquier número de campos.

Field
Nombre del índice
(Opcional)

Nombre del índice nuevo. Se necesita un nombre de índice cuando se agrega un índice a tablas y clases de entidad de geodatabase. En otros tipos de entrada, el nombre se ignora.

String
Única
(Opcional)

Especifica si los valores en el índice son únicos.

  • Desactivada: ningún valor del índice es único. Esta es la opción predeterminada.
  • Activada: todos los valores del índice son únicos.

Boolean
Ascendente
(Opcional)

Especifica si los valores se indexarán en orden ascendente.

  • Desactivada: los valores no se indexarán en orden ascendente. Esta es la opción predeterminada.
  • Activada: los valores se indexarán en orden ascendente.

Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Tabla de entrada actualizada

La tabla de entrada actualizada.

Table View; Raster Layer; Mosaic Layer

arcpy.management.AddIndex(in_table, fields, {index_name}, {unique}, {ascending})
NombreExplicaciónTipo de datos
in_table

Tabla que contiene los campos que se indexarán.

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

La lista de campos que se indexarán. Se puede especificar cualquier número de campos.

Field
index_name
(Opcional)

Nombre del índice nuevo. Se necesita un nombre de índice cuando se agrega un índice a tablas y clases de entidad de geodatabase. En otros tipos de entrada, el nombre se ignora.

String
unique
(Opcional)

Especifica si los valores en el índice son únicos.

  • NON_UNIQUENingún valor del índice es único. Esta es la opción predeterminada.
  • UNIQUETodos los valores del índice son únicos.
Boolean
ascending
(Opcional)

Especifica si los valores se indexarán en orden ascendente.

  • NON_ASCENDINGLos valores no se indexarán en orden ascendente. Esta es la opción predeterminada.
  • ASCENDINGLos valores se indexarán en orden ascendente.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_table

La tabla de entrada actualizada.

Table View; Raster Layer; Mosaic Layer

Muestra de código

Ejemplo 1 de AddIndex (ventana de Python)

El código siguiente demuestra cómo usar la función AddIndex en una ventana interactiva de Python

import arcpy
arcpy.env.workspace = "C:/data/input/indices.sde"
arcpy.management.AddIndex("gdb.USER1.lakes", ["NAME", "geocompID"], "NGIndex", 
                          "UNIQUE", "ASCENDING")
Ejemplo 2 de AddIndex (script independiente)

La siguiente secuencia de comandos independiente muestra cómo crear un índice de atributos para campos especificados.

# 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")

Temas relacionados