Краткая информация
Инструмент добавляет индекс к существующей таблице, классу пространственных объектов, шейп-файлу, покрытию или классу отношений с атрибутами.
Атрибутивные индексы используются в ArcGIS, чтобы быстро находить записи, соответствующие атрибутивным запросам. Более подробно об атрибутивных индексах см. Создание индексов атрибутов (Creating attribute indexes).
Использование
Шейп-файлы не поддерживают множественные индексы, поэтому дополнительные поля станут частью составного индекса (например, индекс, созданный по нескольким полям таблицы).
ArcSDE и файловая или персональная базы геоданных имеют новый индекс, добавленный для каждого уникального имени индекса. Если имя индекса уже существует, его необходимо исключить до начала обновления.
Кнопка Индексируемые поля (Fields To Index) параметра Добавить поле (Add Field) используется только в ModelBuilder. В ModelBuilder, если не запущен предыдущий инструмент или не существуют его производные данные, параметр Индексируемые поля могут не быть заполнены именами полей. Кнопка Добавить поле позволяет добавлять нужные поля, так что можно завершить диалог Добавить атрибутивный индекс (Add Attribute Index) и продолжить построение модели.
Синтаксис
AddIndex_management (in_table, fields, {index_name}, {unique}, {ascending})
Параметр | Объяснение | Тип данных |
in_table | Входная таблица, содержащая поле(я) для построения индекса. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
fields | Перечень полей, которые будут участвовать в индексах. Можно задать любое количество полей. | Field |
index_name (дополнительно) | Название нового индекса. Необходимо при добавлении индекса к классам пространственных объектов или таблицам базы геоданных. Для других типов входных данных Имя индекса (Index Name) игнорируется | String |
unique (дополнительно) | Определяет, будут ли значения индекса уникальными.
| Boolean |
ascending (дополнительно) | Значения индексируются в порядке возрастания.
| Boolean |
Пример кода
AddIndex, пример 1 (автономный скрипт)
Представленный автономный скрипт демонстрирует порядок создания атрибутивного индекса для указанных полей.
# 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 as err:
print(err.args[0])
Пример 2. Добавить индекс (AddIndex) (окно Python)
Представленный код демонстрирует порядок использования функции Добавить индекс (Add Index) в интерактивном окне Python.
import arcpy
arcpy.env.workspace = "C:/data/input/indices.gdb"
arcpy.AddIndex_management("lakes", "NAME;geocompID", "NGIndex", "UNIQUE", "ASCENDING")