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

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

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

Примечание:

Созданные этим инструментом локаторы можно использовать в ArcGIS Pro 2.2, Enterprise 10.6.1 или в более поздних их версиях, а также в качестве сервиса локаторов в ArcMap. В версиях Enterprise ниже 10.7 могут поддерживаться не все функции локатора. Поддержка осуществляется по мере добавления дополнительных функций в более новые версии программного обеспечения. Локаторы, созданные при помощи данного инструмента, не могут использоваться в качестве локального локатора в ArcMap.

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

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

    Примечание:

    • При создании локатора с помощью этого инструмента для каждой роли может использоваться только одна первичная таблица.
    • Роль локатора Точка интереса (POI) заменяет таблицу псевдонимов географических названий, но для этого требуется класс точечных или полигональных объектов с географическими названиями, а также соответствующий адрес в таблице атрибутов.

  • Основные роли локаторов, предоставляемые в ArcGIS Pro, позволяют создавать следующие распространенные типы локаторов:

    • PointAddress – адрес, основанный на точках, которые обозначают местоположение дома или здания. Включает Subaddress, основанный на точках, представляющих собой местоположение субадреса дома или строения, например, этаж или квартира.
    • Parcel—Адрес или название участка, основанные на точках или полигонах, которые представляют собой участок земли, который считается недвижимым имуществом и может включать в себя один или несколько домов или других строений, которым обычно присваивается адрес и идентификационный номер участка, например 17 011100120063.
    • StreetAddress – адрес, основанный на улицах, где номер дома интерполируется из диапазона номеров. Сюда входят перекрестки, название улицы, кварталы, между улицами и расширение типа улицы.
    • Точка интереса - может быть представлена административными единицами, названиями мест, предприятиями, достопримечательностями и географическими объектами, например, Starbucks.
    • DistanceMarker – уличный адрес, который представляет линейное расстояние вдоль улицы, обычно, в километрах или милях, от указанной исходной точки.
    • DistanceRange – тип указателя расстояния, представляющего интерполированные значения расстояния вдоль центральной линии улиц, построенной на базе линейных пространственных объектов.
    • Postal – почтовые индексы, почтовые индексы с расширениями и почтовые отделения, где для получения оптимальных результатов обратного геокодирования должны использоваться полигональные базовые данные.
    • Localities – административные зоны или области, такие как города, районы, штаты и т.д., где для получения оптимальных результатов обратного геокодирования должны использоваться полигональные базовые данные.

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

    Более подробно о сочетании нескольких ролей в одном локаторе

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

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

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

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

    Более подробно о таблицах альтернативных названий

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

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

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

Параметры

ПодписьОписаниеТип данных
Страна или регион

Определяет, где к базовым данным локатора должна применяться характерная для страны логика геокодирования.

По умолчанию соответствует региональным настройкам операционной системы. Можно указать, используя <Как определено в данных> из списка и подставив значение из данных отображающихся полей, или применить ко всему набору данных, указав страну из списка.

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

  • <Как определено в данных>Значение трехзначного кода языка задается в базовых данных для каждого объекта
  • Американское СамоаАмериканское Самоа
  • АвстралияАвстралия
  • АвстрияАвстрия
  • БельгияБельгия
  • КанадаКанада
  • ШвейцарияШвейцария
  • ЧехияЧехия
  • ГерманияГермания
  • ИспанияИспания
  • ЭстонияЭстония
  • ФранцияФранция
  • ВеликобританияВеликобритания
  • ГуамГуам
  • ИндияИндия
  • ИзраильИзраиль
  • ИталияИталия
  • JapanJapan
  • Южная КореяЮжная Корея
  • ЛитваЛитва
  • ЛатвияЛатвия
  • Северные Марианские островаСеверные Марианские острова
  • НидерландыНидерланды
  • НорвегияНорвегия
  • Пуэрто-РикоПуэрто-Рико
  • ШвецияШвеция
  • Американские Виргинские островаАмериканские Виргинские острова
  • СШАСША
  • Внешние малые острова СШАВнешние малые острова США
  • Южная АфрикаЮжная Африка
String
Первичные таблицы

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

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

Внимание:

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

Примечание:

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

Value Table
Соответствие полей

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

Примечание:

Для некоторых значений параметров Первичная таблица и Роли вы сможете использовать модель машинного обучения, что позволит автоматически сопоставлять поля в данных с полями локатора. Нажмите кнопку Интеллектуальное сопоставление полей Интеллектуальное сопоставление полей, чтобы автоматически начать сопоставление полей. Рекомендуется проверить корректность результатов процесса интеллектуального сопоставления полей.

Примечание:

Если вы используете таблицу альтернативных названий, выберите Join ID для значения параметра Первичная таблица(ы).

Чтобы добавить пользовательские выходные поля, укажите их имена в параметре Пользовательские выходные поля. В параметр Сопоставление полей будут добавлены новые поля. Затем в значении параметра Первичная таблица(ы) вы сможете выбрать поля, содержащие дополнительные значения, которые должны быть включены в выходные данные геокодирования.

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

Файл выходного локатора адресов.

Address Locator
Код языка

Определяет, где к базовым данным локатора должна применяться характерная для страны логика геокодирования.

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

Его можно задать, выбрав из списка <Как определено в данных> и сопоставив значение из первичных базовых данных в окне сопоставления полей, или применить ко всему набору данных, выбрав язык из списка.

  • <Как определено в данных>Будет использоваться значение трехзначного кода языка, заданного в базовых данных для каждого объекта.
  • БаскскийБаскский
  • КаталонскийКаталонский
  • ЧешскийЧешский
  • НидерландскийНидерландский
  • АнглийскийАнглийский
  • ЭстонскийЭстонский
  • ФранцузскийФранцузский
  • НемецкийНемецкий
  • ГалисийскийГалисийский
  • ИвритИврит
  • ИтальянскийИтальянский
  • ЯпонскийЯпонский
  • КорейскийКорейский
  • ЛатвийскийЛатвийский
  • ЛитовскийЛитовский
  • НорвежскийНорвежский
  • ИспанскийИспанский
  • ШведскийШведский
String
Таблицы альтернативных названий
(Дополнительный)

Таблицы, содержащие альтернативные названия для объектов в таблицах первичных ролей.

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

Внимание:

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

Value Table
Сопоставление полей альтернативных данных
(Дополнительный)

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

Примечание:

Если данные нормализованы и первичная таблица не содержит значений названия города, а таблица альтернативных названий содержит его, то поле Primary Name Indicator можно сопоставить с полем в таблице альтернативных названий, которое содержит значение, указывающее, является ли эта запись первичным полем (например, true/false или Yes/No). Если это поле не сопоставлено, в качестве первичного значения будет использоваться первая запись в таблице альтернативных названий.

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

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

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

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

Задает точность локатора.

  • Глобальная экстра высокаяТочность составляет приблизительно 1 см, что соответствует мировым стандартам. Используется по умолчанию.
  • Глобальная высокаяТочность составляет приблизительно 0,5 м, что соответствует мировым стандартам.
  • Локальная экстра высокаяПовышенная точность используется для локальных территорий.
Примечание:

Локаторы, созданные с опцией Глобальная экстра высокая или Локальная экстра высокая, могут использоваться в ArcGIS Pro 2.6 и Enterprise 10.8.1 или в более поздних версиях.

String
Совместимость версий
(Дополнительный)

Указывает версию локатора, который будет создан. Указание версии позволяет использовать локаторы с более ранними версиями ArcGIS и поддерживает обратную совместимость.

  • Текущая версияЛокатор будет совместим с версией текущего выпуска ArcGIS Pro. Он не будет совместим с более ранними версиями, которые указаны в других вариантах ниспадающего меню. Например, если выбрана Текущая версия, а другой вариант - 3.0 - 3.3, то созданный локатор будет поддерживаться только в версиях ArcGIS Pro выше, чем 3.3 и в версиях Enterprise выше, чем 11.3.
  • 3.0 - 3.3Локатор будет совместим с версиями ArcGIS Pro с 3.0 по 3.3.
String

arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, out_locator, language_code, {alternatename_tables}, {alternate_field_mapping}, {custom_output_fields}, {precision_type}, {version_compatibility})
ИмяОписаниеТип данных
country_code

Определяет, где к базовым данным локатора должна применяться характерная для страны логика геокодирования.

Его можно задать с помощью AS_DEFINED_IN_DATA, а значение подставить из primary_reference_data в field_mapping, или применить ко всему набору данных, указав трехзначный код страны - например, USA для Соединенных Штатов Америки, CAN для Канады или PRI для Пуэрто-Рико.

Использует шаблон с названиями стран, содержащий список имен полей, которые доступны для использования параметром field_mapping для указанной страны создаваемого локатора.

  • AS_DEFINED_IN_DATAБудет использоваться значение трехзначного кода страны, заданного в базовых данных для каждого объекта.
  • ASMАмериканское Самоа
  • AUSАвстралия
  • AUTАвстрия
  • BELБельгия
  • CANКанада
  • CHEШвейцария
  • CZEЧехия
  • DEUГермания
  • ESPИспания
  • ESTЭстония
  • FRAФранция
  • GBRВеликобритания
  • GUMГуам
  • INDИндия
  • ISRИзраиль
  • ITAИталия
  • JPNJapan
  • KORЮжная Корея
  • LTUЛитва
  • LVAЛатвия
  • MNPСеверные Марианские острова
  • NLDНидерланды
  • NORНорвегия
  • PRIПуэрто-Рико
  • SWEШвеция
  • VIRАмериканские Виргинские острова
  • USAСША
  • UMIВнешние малые острова США
  • ZAFЮжная Африка
String
primary_reference_data
[[reference_data, {role}],...]

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

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

Внимание:

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

Примечание:

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

Value Table
field_mapping
[field_mapping,...]

Сопоставление полей первичных базовых данных с полями, поддерживаемыми ролью локатора. Каждое поле, отображаемое в этом параметре, имеет следующий формат, где: <role name> - имя роли локатора, <locator role field name> - имя поля, поддерживаемого ролью локатора, <primary data> - имя данных, используемых в параметре primary_reference_data, и <primary data field name> - имя поля в основном наборе базовых данных:

Ниже показан пример первичного field_mapping:

# <role name>.<locator role field name> <primary data>.<primary data field name>

# This shows an example:
primary_reference_data_field_map =
["StreetAddress.HOUSE_NUMBER_FROM_LEFT 'streets'.L_F_ADD",\
"StreetAddress.HOUSE_NUMBER_TO_LEFT 'streets'.L_T_ADD",\
"StreetAddress.HOUSE_NUMBER_FROM_RIGHT 'streets'.R_F_ADD",\
"StreetAddress.HOUSE_NUMBER_TO_RIGHT 'streets'.R_T_ADD",\
"StreetAddress.STREET_PREFIX_DIR 'streets'.PREFIX",\
"StreetAddress.STREET_PREFIX_TYPE 'streets'.PRE_TYPE",\
"StreetAddress.STREET_NAME 'streets'.NAME",\
"StreetAddress.STREET_SUFFIX_TYPE 'streets'.TYPE",\
"StreetAddress.STREET_SUFFIX_DIR 'streets'.SUFFIX",\
"StreetAddress.CITY_LEFT 'streets'.CITYL",\
"StreetAddress.CITY_RIGHT 'streets'.CITYR",\
"StreetAddress.REGION_LEFT 'streets'.STATE_ABBR",\
"StreetAddress.REGION_RIGHT 'streets'.STATE_ABBR",\
"StreetAddress.POSTAL_LEFT 'streets'.ZIPL",\
"StreetAddress.POSTAL_RIGHT 'streets'.ZIPR"]

Выберите нужные поля для каждой таблицы из параметра primary_reference_data: Если вы не свяжете необязательное поле базовых данных, используемое ролью локатора, с полем в наборе базовых данных, то не надо будет указывать, что сопоставление отсутствует, используя <None> вместо имени поля.

Чтобы определить значение <locator role field name> для поля базовых данных, используемых ролью локатора, откройте инструмент Создать локатор в ArcGIS Pro и выберите роль локатора. Имя, которое появится в столбце Имя поля в области Сопоставления полей, будет именем поля роли поля.

Примечание:

Если вы используете таблицу альтернативных названий, выберите Join ID для значения параметра primary_reference_data.

Для добавления пользовательских выходных полей имена полей должны быть заданы как в параметре custom_output_fields, так и в параметре field_mapping. Параметр field_mapping будет использовать формат '<locator role field name> <primary data field name>', где <locator role field name> определено как 'RoleName.CustomFieldName', а <primary data field name> является именем поля в первичном наборе базовых данных, как показано в отображаемых полях в примере выше. Если к роли Street Address добавлено какое-либо пользовательское поле, то вам потребуется отобразить 'StreetAddress.CustomFieldName_Left' и 'StreetAddress.CustomFieldName_Right' для каждой стороны улицы.

String
out_locator

Файл выходного локатора адресов.

Address Locator
language_code

Определяет, где к базовым данным локатора должна применяться характерная для страны логика геокодирования.

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

Это можно сделать, задав для AS_DEFINED_IN_DATA значение language_code и выбрав значение из primary_reference_data в field_mapping; код языка можно применить ко всему набору данных, задав язык при помощи трехзначного кода, представляющего язык данного адреса, например, ENG для английского языка.

  • AS_DEFINED_IN_DATAБудет использоваться значение трехзначного кода языка, заданного в базовых данных для каждого объекта.
  • BAQБаскский
  • CATКаталонский
  • CZEЧешский
  • DUTНидерландский
  • ENGАнглийский
  • ESTЭстонский
  • FREФранцузский
  • GERНемецкий
  • GLGГалисийский
  • HEBИврит
  • ITAИтальянский
  • JPNЯпонский
  • KORКорейский
  • LITЛитовский
  • LAVЛатвийский
  • NORНорвежский
  • SPAИспанский
  • SWEШведский
String
alternatename_tables
[alternatename_tables,...]
(Дополнительный)

Таблицы, содержащие альтернативные названия для объектов в таблицах первичных ролей.

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

Внимание:

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

Value Table
alternate_field_mapping
[alternate_field_mapping,...]
(Дополнительный)

Сопоставляет поля таблиц альтернативных названий с полями альтернативных названий, поддерживаемыми ролью локатора. Каждое сопоставление полей должно использовать следующий формат, в котором <alternate name table role> - это имя роли таблицы альтернативных названий, <locator role alternate field name> - это имя поля альтернативных данных, которое поддерживается ролью локатора таблицы альтернативных названий, <alternate data table> - это имя таблицы альтернативных названий, а <alternate data table field name> - имя поля в таблице альтернативных названий. Выберите нужные поля для каждой таблицы в alternatename_tables.

Ниже показан пример alternate_field_mapping для alternatename_tables.

# <alternate name table role>.<locator role alternate field name> <alternate data table>.<alternate data table field name>

# This shows an example:
alternate_data__table_field_map =
["AlternateStreetName.STREET_NAME_JOIN_ID 'altname'.JOINID",\
"AlternateStreetName.STREET_PREFIX_DIR 'altname'.PRE_DIR",\
"AlternateStreetName.STREET_PREFIX_TYPE 'altname'.PRE_TYPE",\
"AlternateStreetName.STREET_NAME 'altname'.ST_NAME",\
"AlternateStreetName.STREET_SUFFIX_TYPE 'altname'.ST_TYPE",\
"AlternateStreetName.STREET_SUFFIX_DIR 'altname'.SUF_DIR"]
Примечание:

Если данные нормализованы и первичная таблица не содержит значений названия города, а таблица альтернативных названий содержит его, то поле Primary Name Indicator можно сопоставить с полем в таблице альтернативных названий, которое содержит значение, указывающее, является ли эта запись первичным полем (например, true/false или Yes/No). Если это поле не сопоставлено, в качестве первичного значения будет использоваться первая запись в таблице альтернативных названий.

String
custom_output_fields
[custom_output_fields,...]
(Дополнительный)

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

Примечание:

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

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

Задает точность локатора.

Примечание:

Локаторы, созданные с опцией GLOBAL_EXTRA_HIGH или LOCAL_EXTRA_HIGH, могут использоваться в ArcGIS Pro 2.6 и Enterprise 10.8.1 или в более поздних версиях.

  • GLOBAL_EXTRA_HIGHТочность составляет приблизительно 1 см, что соответствует мировым стандартам.
  • GLOBAL_HIGHТочность составляет приблизительно 0,5 м, что соответствует мировым стандартам. Используется по умолчанию.
  • LOCAL_EXTRA_HIGHПовышенная точность используется для локальных территорий.
String
version_compatibility
(Дополнительный)

Указывает версию локатора, который будет создан. Указание версии позволяет использовать локаторы с более ранними версиями ArcGIS и поддерживает обратную совместимость.

  • CURRENT_VERSIONЛокатор будет совместим с версией текущего выпуска ArcGIS Pro. Он не будет совместим с более ранними версиями, доступными в качестве опций для этого параметра. Например, если выбрана CURRENT_VERSION, а другой вариант - V3_0_TO_3_3, то созданный локатор будет поддерживаться только в версиях ArcGIS Pro выше, чем 3.3 и в версиях Enterprise выше, чем 11.3.
  • V3_0_TO_3_3Локатор будет совместим с версиями ArcGIS Pro с 3.0 по 3.3.
String

Пример кода

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

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

# Description: Create a POI locator using a feature class in a file geodatabase 
#              that contains points of interest for Arts & Entertainment 
#              locations as reference data, where country_code and language_code 
#              are defined in the data. The new locator will be created in a 
#              file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data/RhodeIsland"

# Set local variables:
primary_reference_data = "RI_Arts_POI POI"
field_mapping = ["POI.PLACE_NAME 'RI_Arts_POI'.PLACE_NAME",\
                 "POI.CATEGORY 'RI_Arts_POI'.CATEGORY",\
                 "POI.SUBCATEGORY 'RI_Arts_POI'.SUBCATEGORY",\
                 "POI.HOUSE_NUMBER 'RI_Arts_POI'.HOUSE_NUMB",\
                 "POI.STREET_NAME 'RI_Arts_POI'.STREET_NAME",\
                 "POI.NEIGHBORHOOD 'RI_Arts_POI'.NEIGHBORHOOD",\
                 "POI.CITY 'RI_Arts_POI'.CITY_NAME",\
                 "POI.SUBREGION 'RI_Arts_POI'.SUBREGION",\
                 "POI.REGION 'RI_Arts_POI'.REGION_NAME",\
                 "POI.POSTAL 'RI_Arts_POI'.POSTAL_CODE",\
                 "POI.COUNTRY_CODE 'RI_Arts_POI'.COUNTRY_CODE",\
                 "POI.LANG_CODE 'RI_Arts_POI'.LANGUAGE_CODE",\
                 "POI.RANK 'RI_Arts_POI'.RANK"]
out_locator = "Arts_Entertainment_POIs"

# Run CreateLocator
arcpy.geocoding.CreateLocator("AS_DEFINED_IN_DATA", primary_reference_data, field_mapping, 
                              out_locator, "AS_DEFINED_IN_DATA")
CreateLocator, пример 2 (автономный скрипт)

Этот скрипт Python демонстрирует пример использования функции CreateLocator.

# Description: Create a POI locator using a shapefile that contains points 
#              of interest for airport locations as reference data. The new 
#              locator will be created in a file folder.

# Import system modules
import arcpy

# Set local variables:
country_code="USA"
primary_reference_data=r"C:\Data\airports.shp POI"
field_mapping=["POI.PLACE_NAME 'airports.shp'.name",\
               "POI.CATEGORY 'airports.shp'.type",\
               "POI.REGION 'airports.shp'.iso_region",\
               "POI.ZONE 'airports.shp'.iso_country"]
out_locator=r"C:\Data\Airports_Locator"
language_code="ENG"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              out_locator, language_code)
CreateLocator, пример 3 (окно Python)

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

# Description: Create a StreetAddress locator using a street centerline feature 
#              class in a file geodatabase as reference data, where multiple 
#              custom_output_fields are added to the locator for use in the 
#              geocode result. country_code and language_code are specified and 
#              will be applied to the entire reference dataset. The new locator 
#              will be created in a file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data/Denver"

# Set local variables
country_code = "USA"
primary_reference_data = "Street_Centerline StreetAddress"
field_mapping = ["StreetAddress.HOUSE_NUMBER_FROM_LEFT 'Street_Centerline'.L_F_ADD",\
                 "StreetAddress.HOUSE_NUMBER_TO_LEFT 'Street_Centerline'.L_T_ADD",\
                 "StreetAddress.HOUSE_NUMBER_FROM_RIGHT 'Street_Centerline'.R_F_ADD",\
                 "StreetAddress.HOUSE_NUMBER_TO_RIGHT 'Street_Centerline'.R_T_ADD",\
                 "StreetAddress.STREET_PREFIX_DIR 'Street_Centerline'.PREFIX",\
                 "StreetAddress.STREET_PREFIX_TYPE 'Street_Centerline'.TYPE",\
                 "StreetAddress.STREET_NAME 'Street_Centerline'.NAME",\
                 "StreetAddress.STREET_SUFFIX_TYPE 'Street_Centerline'.TYPE",\
                 "StreetAddress.STREET_SUFFIX_DIR 'Street_Centerline'.SUFFIX",\
                 "StreetAddress.POSTAL_LEFT 'Street_Centerline'.ZIPLEFT",\
                 "StreetAddress.POSTAL_RIGHT 'Street_Centerline'.ZIPRIGHT",\
                 "StreetAddress.CustomField1_left 'Street_Centerline'.LEFTFIRE",\
                 "StreetAddress.CustomField1_right 'Street_Centerline'.RTFIRE",\
                 "StreetAddress.CustomField2_left 'Street_Centerline'.LEFTEMS",\
                 "StreetAddress.CustomField2_right 'Street_Centerline'.RTEMS"]
out_locator = "DenverStreetsCustomFieldsLocator"
language_code = "ENG"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              language_code, None, None, "CustomField1;CustomField2")
CreateLocator, пример 4 (окно Python)

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

# Create a StreetAddress locator using a street centerline feature class and an alternate
# name table, for alternate street names, in a file geodatabase as reference data.
# The new locator will be created in a file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/ArcTutor/Geocoding/Atlanta"

# Set local variables
primary_reference_data = "streets StreetAddress"
field_mapping = ["StreetAddress.STREET_NAME_JOIN_ID 'streets'.STREETID",\
                 "StreetAddress.HOUSE_NUMBER_FROM_LEFT 'streets'.L_F_ADD",\
                 "StreetAddress.HOUSE_NUMBER_TO_LEFT 'streets'.L_T_ADD",\
                 "StreetAddress.HOUSE_NUMBER_FROM_RIGHT 'streets'.R_F_ADD",\
                 "StreetAddress.HOUSE_NUMBER_TO_RIGHT 'streets'.R_T_ADD",\
                 "StreetAddress.STREET_PREFIX_DIR 'streets'.PREFIX",\
                 "StreetAddress.STREET_PREFIX_TYPE 'streets'.PRE_TYPE",\
                 "StreetAddress.STREET_NAME 'streets'.NAME",\
                 "StreetAddress.STREET_SUFFIX_TYPE 'streets'.TYPE",\
                 "StreetAddress.STREET_SUFFIX_DIR 'streets'.SUFFIX",\
                 "StreetAddress.CITY_LEFT 'streets'.CITYL",\
                 "StreetAddress.CITY_RIGHT 'streets'.CITYR",\
                 "StreetAddress.REGION_LEFT 'streets'.STATE_ABBR",\
                 "StreetAddress.REGION_RIGHT 'streets'.STATE_ABBR",\
                 "StreetAddress.POSTAL_LEFT 'streets'.ZIPL",\
                 "StreetAddress.POSTAL_RIGHT 'streets'.ZIPR"]
alternatename_tables = "altname AlternateStreetName"
alternate_field_mapping = ["AlternateStreetName.STREET_NAME_JOIN_ID 'altname'.STREETID",\
                           "AlternateStreetName.STREET_PREFIX_DIR 'altname'.PRE_DIR",\
                           "AlternateStreetName.STREET_PREFIX_TYPE 'altname'.PRE_TYPE",\
                           "AlternateStreetName.STREET_NAME 'altname'.ST_NAME",\
                           "AlternateStreetName.STREET_SUFFIX_TYPE 'altname'.ST_TYPE",\
                           "AlternateStreetName.STREET_SUFFIX_DIR 'altname'.SUF_DIR",\
                           "AlternateStreetName.PRIMARY_NAME_INDICATOR 'altname'.PRIMARY"]
out_locator = "AtlantaAlternateStreetsLocator"
 
# Run CreateLocator
arcpy.geocoding.CreateLocator("USA", primary_reference_data, field_mapping, 
                              out_locator, "ENG", alternatename_tables, 
                              alternate_field_mapping)
CreateLocator, пример 5 (автономный скрипт)

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

# Description: Create a multirole locator (PointAddress & StreetAddress) using a hosted
# feature service from ArcGIS Online as reference data.
# country_code and language_code
# are specified and will be applied to the entire reference dataset.
# The new locator will be created in a file folder.

# Import system modules
import arcpy

# Sign in to ArcGIS Online to use feature services as input
arcpy.SignInToPortal("https://www.arcgis.com", "<username>", "<password>")

# Set local variables
country = "USA"
in_table = "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> PointAddress;"\
           "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> StreetAddress"
field_mapping = ["PointAddress.ADDRESS_JOIN_ID '0'.PT_ADDR_ID",\
                 "PointAddress.HOUSE_NUMBER '0'.ADDRESS",\
                 "PointAddress.STREET_NAME '0'.ST_NAME",\
                 "PointAddress.SIDE '0'.SIDE",\
                 "PointAddress.CITY '0'.CITY",\
                 "PointAddress.REGION '0'.STATE",\
                 "StreetAddress.HOUSE_NUMBER_FROM_LEFT '1'.L_F_ADD_INT",\
                 "StreetAddress.HOUSE_NUMBER_TO_LEFT '1'.L_T_ADD_INT",\
                 "StreetAddress.HOUSE_NUMBER_FROM_RIGHT '1'.R_F_ADD_INT",\
                 "StreetAddress.HOUSE_NUMBER_TO_RIGHT '1'.R_T_ADD_INT",\
                 "StreetAddress.STREET_PREFIX_DIR '1'.PREFIX",\
                 "StreetAddress.STREET_PREFIX_TYPE '1'.PRETYPE",\
                 "StreetAddress.STREET_NAME '1'.NAME",\
                 "StreetAddress.STREET_SUFFIX_TYPE '1'.TYPE",\
                 "StreetAddress.STREET_SUFFIX_DIR '1'.SUFFIX",\
                 "StreetAddress.CITY_LEFT '1'.PLACENAME_L",\
                 "StreetAddress.CITY_RIGHT '1'.PLACENAME_R",\
                 "StreetAddress.REGION_LEFT '1'.STATE",\
                 "StreetAddress.REGION_ABBR_LEFT '1'.STATE_L",\
                 "StreetAddress.REGION_RIGHT '1'.STATE",\
                 "StreetAddress.REGION_ABBR_RIGHT '1'.STATE_R"]
 out_locator = r"C:\output\locators\MultiroleFeatureServiceBasedLocator"
 language = "ENG"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country, in_table, field_mapping, out_locator, language)

Параметры среды

Этот инструмент не использует параметры среды геообработки

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

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

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