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

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

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

Примечание:

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

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

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

    Примечание:

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

  • <Как определено в данных>Значение трехзначного кода языка задается в базовых данных для каждого объекта
  • Американское СамоаАмериканское Самоа
  • АвстралияАвстралия
  • АвстрияАвстрия
  • БельгияБельгия
  • КанадаКанада
  • ШвейцарияШвейцария
  • ЧехияЧехия
  • ГерманияГермания
  • ИспанияИспания
  • ЭстонияЭстония
  • ФранцияФранция
  • ВеликобританияВеликобритания
  • ГуамГуам
  • ИзраильИзраиль
  • ИталияИталия
  • JapanJapan
  • Южная КореяЮжная Корея
  • ЛитваЛитва
  • ЛатвияЛатвия
  • Северные Марианские островаСеверные Марианские острова
  • НидерландыНидерланды
  • Пуэрто-РикоПуэрто-Рико
  • ШвецияШвеция
  • Американские Виргинские островаАмериканские Виргинские острова
  • СШАСША
  • Внешние малые острова СШАВнешние малые острова США
  • Южная АфрикаЮжная Африка
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Швейцария
  • CZEЧехия
  • DEUГермания
  • ESPИспания
  • ESTЭстония
  • FRAФранция
  • GBRВеликобритания
  • GUMГуам
  • ISRИзраиль
  • ITAИталия
  • JPNJapan
  • KORЮжная Корея
  • LTUЛитва
  • LVAЛатвия
  • MNPСеверные Марианские острова
  • NLDНидерланды
  • 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 AllSource и выберите роль локатора. Имя, которое появится в столбце Имя поля в области Сопоставления полей, будет именем поля роли поля.

Примечание:

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

Пример кода

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)

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

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