Добавить атрибутивный индекс (Управление данными)

Краткая информация

Инструмент добавляет индекс к существующей таблице, классу пространственных объектов, шейп-файлу, или классу отношений с атрибутами.

Атрибутивные индексы используются в ArcGIS, чтобы быстро находить записи, соответствующие атрибутивным запросам.

Использование

  • Шейп-файлы и файловые базы геоданных не поддерживают несколько индексов. Дополнительные поля станут частью составного индекса (например, индекс, созданный по нескольким полям таблицы).

  • У файловой базы геоданных есть новый индекс, добавленный для каждого уникального имени индекса. Если имя индекса уже существует, его необходимо исключить до начала обновления.

  • Для данных многопользовательской базы геоданных, не зарегистрированной в качестве версионной, вы можете добавить как уникальные, так и не уникальные индексы полей GlobalID.

  • Уникальные и индексы по возрастанию не поддерживаются для шейп-файлов или файлов базы геоданных. Эти параметры игнорируются при выполнении инструмента для шейп-файла или файла базы геоданных.

Параметры

ПодписьОписаниеТип данных
Входная таблица

Входная таблица, содержащая поля для построения индекса.

Mosaic Layer; Raster Layer; Table View
Индексируемые поля

Список полей, которые будут проиндексированы. Можно задать любое количество полей.

Field
Имя индекса
(Дополнительный)

Название нового индекса. Необходимо при добавлении индекса к классам пространственных объектов или таблицам базы геоданных. Для других типов входных данных имя игнорируется.

String
Уникальное
(Дополнительный)

Определяет, будут ли значения индекса уникальными.

  • Не отмечены - нет уникальных значений в индексе. Это значение по умолчанию
  • Отмечено – все значения индекса не уникальны.

Boolean
По возрастанию
(Дополнительный)

Значения индексируются в порядке возрастания.

  • Не отмечено – значения не индексируются в порядке по возрастанию. Это значение по умолчанию
  • Отмечено – значения индексируются в порядке по возрастанию.

Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Обновленная входная таблица

Обновленная входная таблица.

Table View; Raster Layer; Mosaic Layer

arcpy.management.AddIndex(in_table, fields, {index_name}, {unique}, {ascending})
ИмяОписаниеТип данных
in_table

Входная таблица, содержащая поля для построения индекса.

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

Список полей, которые будут проиндексированы. Можно задать любое количество полей.

Field
index_name
(Дополнительный)

Название нового индекса. Необходимо при добавлении индекса к классам пространственных объектов или таблицам базы геоданных. Для других типов входных данных имя игнорируется.

String
unique
(Дополнительный)

Определяет, будут ли значения индекса уникальными.

  • NON_UNIQUEНет уникальных значений в индексе. Это значение по умолчанию
  • UNIQUEВсе значения индекса уникальны.
Boolean
ascending
(Дополнительный)

Значения индексируются в порядке возрастания.

  • NON_ASCENDINGЗначения не индексируются в порядке возрастания. Это значение по умолчанию
  • ASCENDINGЗначения индексируются в порядке возрастания.
Boolean

Производные выходные данные

ИмяОписаниеТип данных
out_table

Обновленная входная таблица.

Table View; Raster Layer; Mosaic Layer

Пример кода

AddIndex, пример 1 (окно Python)

Следующий код демонстрирует, как использовать функцию AddIndex в интерактивном окне Python.

import arcpy
arcpy.env.workspace = "C:/data/input/indices.sde"
arcpy.management.AddIndex("gdb.USER1.lakes", ["NAME", "geocompID"], "NGIndex", 
                          "UNIQUE", "ASCENDING")
AddIndex, пример 2 (автономный скрипт)

Представленный автономный скрипт демонстрирует порядок создания атрибутивного индекса для указанных полей.

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

Связанные разделы