Создать локатор объектов (Геокодирование)

Сводка

Создает локатор на основе базовых данных, содержащих в одном поле уникальное имя или значение для каждого объекта. Локатор, созданный этим инструментом, может применяться очень широко. Его можно использовать для поиска имен или уникальных атрибутов ваших объектов, к примеру, счетчиков воды, кратких названий мест, вышек сотовой связи или буквенно-цифровых строк, используемых для определения местоположения (например, N1N115).

Локаторы, созданные этим инструментом, будут использовать индексированные значения в одном поле для поиска значений в одном поле и их возврата в виде набора точек или поиска объектов вблизи местоположения точки. При геокодировании таблиц адресов с использованием локатора, созданного этим инструментом, они также должны содержать одиночное поле с таким же уникальным именем или значением, которое может использоваться для идентификации местоположений.

Примечание:

Созданные этим инструментом локаторы можно использовать в ArcGIS Pro 2.5, Enterprise 10.8 или в более поздних их версиях, а также в качестве сервиса локатора в ArcMap. Локаторы, созданные при помощи данного инструмента, не могут использоваться в качестве локального локатора в ArcMap.

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

  • Классы объектов, представленные в виде сервисов, поддерживаются типами данных для использования в качестве базовых данных.

  • Инструмент поддерживает классы объектов, которые используют точечную и полигональную геометрию в качестве базовых данных.

  • Созданный этим инструментом локатор можно использовать для поиска уникальных идентификаторов или коротких текстовых строк не длиннее пяти слов.

  • Выходные данные этого инструмента могут использоваться как входные данные для инструмента Создать составной локатор адресов.

Синтаксис

CreateFeatureLocator(in_features, search_fields, output_locator, {locator_fields})
ParameterОбъяснениеТип данных
in_features

Класс пространственных объектов или векторный слой базовых данных, который будет использоваться для создания локатора.

Классы объектов, представленные в виде сервисов, поддерживаются типами данных для использования в качестве базовых данных.

Внимание:

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

Примечание:

При создании локатора с базовыми данными, содержащими миллионы пространственных объектов, необходимо иметь по крайней мере в 3-4 раза больший размер свободного пространства на диске, где находится директория temp, поскольку файлы, используемые для создания локатора, записываются в это местоположение перед копированием локатора в выходное местоположение. Если у вас недостаточно места на жестком диске, произойдет сбой, когда свободное место закончится. Также, что при создании очень больших локаторов, на компьютере должно быть достаточное количество RAM для обработки процессов, занимающих большие объемы памяти.

Feature Layer
search_fields

Ставят в соответствие полю данных поле, используемое для поиска в параметре in_features. Соответствие search_fields выполняется в следующем формате, в котором <locator field name> - это имя поля, которое поддерживается ролью локатора, а <data field name> - это имя поля, которое используется для поиска в параметре in_features.

# <locator field name> <data field name>
# This shows an example:
reference_data_field_map = """
"'Name' AssetName"
"""

Выбранное поле будет индексироваться и использоваться в поиске. Сопоставьте соответствующее поле с базовыми данными в параметре in_features.

Field Info
output_locator

Выходной файл локатора, который будет создан в папке. После создания локатора можно изменить в настройках локатора дополнительные свойства и опции.

Address Locator
locator_fields
(Дополнительный)

Сопоставляет дополнительные поля для экстента и ранга, если они существуют в ваших данных. Поле Rank используется для сортировки результатов неоднозначных запросов и кандидатов с одинаковыми именами и оценками. Поля экстента помогают задать экстент карты для отображения геокодированных результатов. Соответствие locator_fields имеет следующий формат:

# <additional locator field name> <additional data field name>
# This shows an example:
additional_fields_map = """
"'Rank' RANK;'Min X' Xmin;
'Max X' Xmax;'Min Y' Ymin;
'Max Y' Ymax"
"""

<additional locator field name> - это имя поля, поддерживаемого ролью локатора, а <additional data field name> - имя поля, использующегося для поиска в параметре in_features. Сопоставьте соответствующее поле с базовыми данными в параметре in_features.

Field Info

Пример кода

CreateFeatureLocator, пример 1 (автономный скрипт)

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

# Description: Create a feature locator using local data.
# Import system modules
import arcpy
# Set local variables
in_features = r"C:\data\arizona.gdb\az_points"
search_field = "*Name NAME VISIBLE NONE"
output_locator = r"C:\output\locators\az_points_locator"
locator_fields = "Rank <None> VISIBLE NONE;'Min X' <None> VISIBLE NONE;'Max X' <None> VISIBLE NONE;'Min Y' <None> VISIBLE NONE;'Max Y' <None> VISIBLE NONE"
# Execute CreateFeatureLocator
arcpy.geocoding.CreateFeatureLocator(in_features, search_field, output_locator, 
                                     locator_fields)
CreateFeatureLocator, пример 2 (автономный скрипт)

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

# Description: Create a feature locator using data from a hosted feature service in ArcGIS Online.
# Import system modules
import arcpy
# Sign in to Portal
arcpy.SignInToPortal("https://www.arcgis.com", "<username>", "<password>")
# Set local variables
in_features = "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number>"
search_field = "*Name NAME VISIBLE NONE"
output_locator = r"C:\output\locators\service_locator"
locator_fields = "Rank <None> VISIBLE NONE;'Min X' <None> VISIBLE NONE;'Max X' <None> VISIBLE NONE;'Min Y' <None> VISIBLE NONE;'Max Y' <None> VISIBLE NONE"
arcpy.geocoding.CreateFeatureLocator(in_features, search_field, output_locator, 
                                     locator_fields)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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