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

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

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

Примечание:

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

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

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

    Примечание:

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

Предоставляет шаблон для страны, содержащий имена полей, отображаемых в параметре Сопоставление полей, характерные для страны, указанной в создаваемом локаторе.

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

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

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

Внимание:

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

Примечание:

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

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

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

Примечание:

Если вы используете таблицу альтернативных названий, сопоставьте 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

arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, out_locator, language_code, {alternatename_tables}, {alternate_field_mapping}, {custom_output_fields}, {precision_type})
ИмяОписаниеТип данных
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Швейцария
  • DEUГермания
  • ESPИспания
  • FRAФранция
  • GBRВеликобритания.
  • GUMГуам
  • JPNЯпония
  • MNPСеверные Марианские острова
  • NLDНидерланды
  • PRIПуэрто-Рико
  • VIRАмериканские Виргинские острова
  • USAСША
  • UMIВнешние малые острова США
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 и выберите роль локатора. Имя, которое появится в столбце Имя поля в области Сопоставления полей, будет именем поля роли поля.

Примечание:

Если вы используете таблицу альтернативных названий, сопоставьте 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Каталонский
  • DUTНидерландский
  • ENGАнглийский
  • FREФранцузский
  • GERНемецкий
  • GLGГалисийский
  • ITAИтальянский
  • JPNЯпонский
  • SPAИспанский
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

Пример кода

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"

# Execute CreateLocator
arcpy.geocoding.CreateLocator("AS_DEFINED_IN_DATA", primary_reference_data, field_mapping, 
                              out_locator, "AS_DEFINED_IN_DATA")
CreateLocator, пример 2 (окно 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"

# Execute CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              language_code, None, None, "CustomField1;CustomField2")
CreateLocator, пример 3 (окно 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"

# Execute CreateLocator
arcpy.geocoding.CreateLocator("USA", primary_reference_data, field_mapping, 
                              out_locator, "ENG", alternatename_tables, 
                              alternate_field_mapping)
CreateLocator, пример 4 (автономный скрипт)

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

# Description: Create a multi-role 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"

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

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

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

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

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

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