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

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

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

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

Примечание:

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

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

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

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

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

  • Локаторы, созданные с помощью этого инструмента, подерживают глобальный поиск для координат (широта/долгота, MGRS, DD или USNG). Как минимум один объект должен быть включен в основные базовые данные для построения локатора. Поддержка поиска координат отключается или включается в разделе Поддерживаемые категории на странице Опции геокодирования в диалоговом окне Свойства локатора для данного локатора.

  • При создании локатора дополнительные поля из базовых данных могут быть указаны и добавлены в локатор в качестве настраиваемых выходных полей. Эти поля используются для предоставления дополнительной информации о кандидатах результатов геокодирования. Например, если вы хотите узнать, с каким переписным кварталом или пожарным округом связан пожарный гидрант, вы можете геокодировать ID гидранта и пространственно соединить атрибуты переписного квартала или пожарного округа с результатами геокодирования. При построении локатора, с помощью пространственного соединения атрибутов из слоев с дополнительной информацией с базовыми данными, используемыми для построения локатора, вы можете указать присоединенные поля в качестве определяемых пользователем пользовательских выходных полей. Результат геокодирования будет включать дополнительные пользовательские выходные поля и их значения.

  • Выходные данные этого инструмента могут использоваться как входные данные для инструмента Создать составной локатор адресов. Однако к объединению локатора, созданного с помощью этого инструмента, с другими локаторами, основанными на ролях адресов, в составном локаторе следует относиться с осторожностью, потому что сопоставление полей поля роли локатора пространственных объектов Имя может привести к некорректным результатам. Вместо этого рекомендуется использовать локатор, созданный с помощью инструмента Создать локатор на основе роли Точка интереса.

  • Чтобы построить правильный синтаксис Python, сначала запустите инструмент на панели Геообработка, используя соответствующую опцию параметра. Затем откройте меню Запуск и выберите опцию Скопировать команду Python.

  • Вы можете создавать локаторы, используя классы точечных объектов, содержащие z-значения в качестве основных базовых данных. Объекты с z-значениями следует создавать на абсолютной высоте, чтобы результаты геокодирования отображались на карте на ожидаемой высоте.

Параметры

ПодписьОписаниеТип данных
Входные объекты

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

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

Внимание:

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

Примечание:

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

Feature Layer
Поля поиска

Ставят в соответствие полю данных поле, используемое для поиска в значении параметра Входные объекты. Поля со звездочкой (*) рядом с их именами являются обязательными. Выбранное поле будет индексироваться и использоваться в поиске.

Field Info
Выходной локатор

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

Address Locator
Дополнительные поля локатора
(Дополнительный)

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

Field Info
Пользовательские выходные поля
(Дополнительный)

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

Выполните следующее, чтобы добавить к локатору пользовательские выходные поля для использования их в результатах геокодирования:

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

arcpy.geocoding.CreateFeatureLocator(in_features, search_fields, output_locator, {locator_fields}, {custom_output_fields})
ИмяОписаниеТип данных
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
custom_output_fields
[custom_output_fields,...]
(Дополнительный)

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

Примечание:

Сначала вы должны включить имена пользовательских выходных полей в параметре field_mapping, затем перечислите имена в параметре custom_output_fields.

String

Пример кода

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"

# Run 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: Да

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