Resumen
Agrega un índice de atributos a una tabla, una clase de entidad, un shapefile o una clase de relación con atributos existente.
ArcGIS utiliza los índices de atributos para localizar rápidamente registros que coincidan con una consulta de atributos.
Uso
Los shapefiles y la geodatabase de archivos no admiten varios índices, de manera que los campos adicionales serán parte de un índice compuesto (es decir, un índice creado en varios campos en una tabla).
-
Las geodatabases tienen un nuevo índice agregado para cada nombre de índice único. 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.
Sintaxis
arcpy.management.AddIndex(in_table, fields, {index_name}, {unique}, {ascending})
Parámetro | Explicación | Tipo 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 participará en el índice. 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.
| Boolean |
ascending (Opcional) | Especifica si los valores se indexan en orden ascendente.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_table | La tabla de entrada actualizada. | Vista de tabla; Capa ráster; Capa de mosaico |
Muestra de código
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.AddIndex_management("gdb.USER1.lakes", ["NAME", "geocompID"], "NGIndex", "UNIQUE", "ASCENDING")
El siguiente script 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.AddIndex_management("counties.shp", ["NAME", "STATE_FIPS", "CNTY_FIPS"], "#", "NON_UNIQUE", "NON_ASCENDING")
arcpy.AddIndex_management("mexico.gdb/land/lakes", ["NAME", "geocompID"], "NGIndex", "NON_UNIQUE", "NON_ASCENDING")
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí