Сводка
Добавляет пространственный индекс в шейп-файл, файловую базу геоданных или класс объектов многопользовательской базы геоданных. Используйте этот инструмент либо для добавления пространственного индекса к шейп-файлу или классу пространственных объектов, который еще не имеет таковых, либо для повторного создания существующего пространственного индекса.
Использование
ArcGIS использует пространственные индексы для быстрого поиска объектов в классах пространственных объектов. Определение пространственного объекта, выбор объектов путем наведения и растягивания окна, а также перемещение и масштабирование – все это обязывает ArcMap использовать пространственный индекс для поиска объектов. Пространственный индекс определяется путем использования виртуальных сеток, которые накладываются на экстент пространственных объектов в классе объектов, аналогично индексным сеткам на маршрутных картах в путеводителях.
По умолчанию, ArcGIS создает и поддерживает пространственные индексы для классов пространственных объектов базы геоданных. Для того, чтобы класс объектов базы геоданных не имел пространственного индекса, его необходимо просто удалить, используя для этой цели инструмент Удалить пространственный индекс.
Параметры Пространственная сетка 1, 2 и 3 применяются только к файловым базам геоданных и определенным классам объектов многопользовательской базы геоданных (тем, которые используют двоичное хранение SQL Server, DB2, Oracle или Oracle ST_Geometry).
- Если вы не знаете, как установить размер пространственной сетки или не уверены в том, какие значения следует использовать, воспользуйтесь значениями по умолчанию 0, 0, 0. После введения значений по умолчанию, этот инструмент вычислит оптимальный размер пространственной сетки путем проверки всех входных объектов.
- Шейп-файлы и определенные классы объектов многопользовательской базы геоданных (те, которые используют Oracle Spatial, Informix и PostgreSQL) не используют пространственные индексы на основе размеров сетки; поэтому, значения пространственной сетки указывать не требуется.
- Классы пространственных объектов персональной базы геоданных получают размер сетки пространственного индекса на основе свойств пространственной привязки класса объектов. Этот индексную сетку нельзя перезаписать, удалить или изменить.
- Пространственная сетка 1 является первым, или наименьшим, уровнем сетки и имеет наименьший размер ячейки. Ячейки квадратные, и вводимое значение параметра – это длина одной стороны. Используется единица измерения пространственной привязки класса пространственных объектов (например, метры). Пространственная сетка 2 должна быть по крайней мере в три раза больше, чем Пространственная сетка 1, а Пространственная сетка 3 – по крайней мере в три раза больше, чем Пространственная сетка 2.
Если Входные объекты уже имеют пространственный индекс, Пространственные сетки 1, 2, 3 отображает текущие значения сетки пространственного индекса. Если для параметров сетки пространственного индекса вы вводите 0,0,0 и используете этот инструмент, вычисляется оптимальный размер сетки, а индекс перестраивается. Затем вы можете просмотреть вычисленный размер сетки, повторно открыв этот инструмент и еще раз введя класс пространственных объектов или слой (затем нажмите Отмена, т.к. вам не нужно перестраивать индекс). Вы также можете использовать инструмент Вычислить индекс пространственной сетки, используемый по умолчанию, чтобы вычислить оптимальные размеры сеток.
Добавление нового пространственного индекса в класс пространственных объектов многопользовательской базы геоданных довольно сильно загружает сервер. Не следует делать это с большими классами пространственных объектов, если к серверу подключено большое количество пользователей.
Для классов объектов SQL Server и Oracle, если индекс уже существует, он будет сброшен и построен заново. Для классов объектов SQL Server также будет повторно вычислен ограничивающий прямоугольник.
- Более подробно о пространственных индексах см. следующее:
Синтаксис
arcpy.management.AddSpatialIndex(in_features, {spatial_grid_1}, {spatial_grid_2}, {spatial_grid_3})
Параметр | Объяснение | Тип данных |
in_features | Многопользовательский класс объектов, класс объектов файловой базы геоданных или шейп-файл, в которые должен быть добавлен пространственный индекс, или в которых он должен быть повторно построен. | Feature Layer; Mosaic Layer; Raster Catalog Layer |
spatial_grid_1 (Дополнительный) | Параметры Пространственная сетка 1, 2 и 3 применяются только к файловой базе геоданных и определенным классам пространственных объектов многопользовательской базы геоданных. Если вы не знакомы с установкой размеров сетки, оставьте эти параметры на 0,0,0, и ArcGIS вычислит оптимальный для вас размер. | Double |
spatial_grid_2 (Дополнительный) | Размер ячейки второй пространственной сетки. Оставьте размер равным 0, если вам нужна только одна сетка. В противном случае задайте размер по крайней мере в три раза больше, чем Пространственная сетка 1. | Double |
spatial_grid_3 (Дополнительный) | Размер ячейки третьей пространственной сетки. Оставьте размер равным 0, если вам нужно только две сетки. В противном случае задайте размер по крайней мере в три раза больше, чем Пространственная сетка 2. | Double |
Пример кода
Добавить пространственный индекс. Пример (окно Python)
Пример (окно Python) Пример скрипта Python для выполнения функции Добавить пространственный индекс с запуском из окна Python в ArcGIS.
import arcpy
import arcpy.env as ENV
ENV.workspace = "Database Connections/Connection to esoracle.sde"
arcpy.AddSpatialIndex_management("LPI.Land/LPI.PLSSFirstDivision", 500)
Добавить пространственный индекс. Пример 2 (автономный скрипт Python)
На следующем скрипте Python демонстрируется, как использовать функцию Добавить пространственный индекс в автономном скрипте.
# Name: AddSpatialIndex_Example2.py
# Description: Add a spatial index to a SDE feature class.
# Import system modules
import arcpy
import arcpy.env as ENV
# Set workspace
ENV.workspace = "Database Connections/Connection to esoracle.sde"
# Set local variables
in_features = "LPI.Land/LPI.PLSSFirstDivision"
spatial_grid_1 = "500"
spatial_grid_2 = ""
spatial_grid_3 = ""
# Execute AddSpatialIndex
arcpy.AddSpatialIndex_management(in_features, spatial_grid_1)
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да