Индексация поля (Покрытие)
Резюме
Создает атрибутивный индекс для повышения скорости доступа к заданному полю при операциях запросов.
Использование
-
Индексированные поля ускоряют выполнение операций выборки в больших файлах INFO.
-
Индексы полей сохраняются при копировании покрытия или таблицы INFO в другое место.
-
Индексы полей сохраняются при экспорте и импорте покрытия в обменный файл (.e00) с помощью инструментов Экспорт в обменный файл (Export To Interchange File) и Импорт из обменного файла (Import From Interchange File).
-
Индексирование полей необходимо для поддержки повторных выборок в родном режиме во внешних таблицах системы управления базой данных (СУБД)..
-
Индексный файл устаревает после применения к таблице INFO следующих команд: Вычислить поле (Calculate Field), Обновить (Update), Построить (Build) и Очистить (Clean). При попытке использовать устаревший индекс появится сообщение: "Устаревший индексный файл". Получив это сообщение, необходимо заново построить индексный файл и продолжить работу.
-
Индексированные поля влияют на следующие команды: Исключить (Eliminate), Выбрать (Select) и Соединить таблицы Info.
Синтаксис
Параметр | Объяснение | Тип данных |
in_info_table |
Имя таблицы INFO, содержащей поле, которое нужно индексировать | INFO Table |
index_item |
Имя поля, которое нужно индексировать | INFO Item |
Пример кода
В следующем автономном скрипте показано, как индексировать поле в покрытии и затем использовать его для выбора объектов.
# Name: IndexItem_Example.py
# Description: Indexes an item then uses that item to select features.
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inInfoTable = "stream/arc"
indexItem = "STRM_ORD"
inCover = "stream"
outCover = "C:/output/lowerstreams"
infoExpress = ["RESELECT STRM_ORD > 3"]
# Execute IndexItem
arcpy.IndexItem_arc(inInfoTable, indexItem)
arcpy.Reselect_arc(inCover, outCover, infoExpress)