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

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

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

Подробнее о составных локаторах

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

  • Перед тем, как создавать составные локаторы, используйте инструмент Создать локатор или инструмент Создать локатор объекта, чтобы создать участвующие локаторы.

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

  • Используйте опцию Порядок по роли и очкам для параметра Порядок результатов для мультиролевого локатора, локатора ArcGIS StreetMap Premium (например) и нескольких локаторов с одной ролью. Эта опция упорядочивает локаторы и роли в оптимальном порядке возврата.

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

Параметры

ПодписьОписаниеТип данных
Локаторы адресов

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

Каждый участвующий локатор должен иметь имя. Это будет то имя локатора, на которое будет ссылаться составной локатор. Имя не должно содержать пробелов или специальных символов. Максимальная длина этого имени не должна превышать 14 символов.

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

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

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

Внимание:

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

Field Mappings
Критерии выборки
(Дополнительный)

Критерии выборки для каждого участвующего локатора. Для каждого участвующего локатора поддерживается только один критерий выборки.

При создании составного локатора можно указать, какие локаторы используются, на основе значений входных полей адреса. Например, если составной локатор использует стандартный локатор, который содержит данные о дорогах для конкретного города, то вы можете захотеть отфильтровать все адреса, которые не содержат названия этого города. Использование критериев выборки отключит участвующие локаторы, которые не отвечают этим критериям по определенным адресам, что сделает процесс геокодирования более эффективным. Например, если локатор адреса улицы определен по критериям выборки как "City" = 'Atlanta', по данному локатору будут геокодированы только адреса, содержащие название города Atlanta.

Для определения критерия выборки отметьте поле в столбце Критерий выборки рядом с локатором, в который вы хотите внести критерий. Вы можете ввести выражение, такое как "City" = 'Atlanta' в текстовом поле, либо нажмите кнопку ... для открытия диалогового окна Указать критерии выборки локатора и определите критерий.

Value Table
Выходной составной локатор адресов

Составной локатор адресов, который будет создан. ArcGIS AllSource поддерживает сохранение локаторов только в файловых папках.

Address Locator
Порядок результатов
(Дополнительный)

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

  • Использовать порядок локаторов – участвующие локаторы находятся в том порядке, в котором они добавлены, и придерживаются порядка возврата, описанного в Объединении нескольких локаторов в составной. Используется по умолчанию.
  • Порядок по роли и по баллу — отдельные роли участвующих локаторов будут сгруппированы и упорядочены от наиболее точных к наименее точным. Сначала будут возвращены результаты для более точных ролей, за которыми последуют менее точные роли, а для разных локаторов с одной и той же ролью результаты будут возвращены на основе балльной оценки. Рекомендуется использовать эту опцию при наличии мультиролевого локатора и нескольких одноролевых локаторов или если у вас более одного мультиролевого локатора. Это автоматически упорядочит локаторы и роли в рекомендованном оптимальном порядке возврата.
  • Пользовательский порядок — будет использоваться настраиваемый порядок возврата для участвующих локаторов, что позволяет вставить локаторы между ролями мультиролевого локатора.
String

arcpy.geocoding.CreateCompositeAddressLocator(in_address_locators, in_field_map, {in_selection_criteria}, out_composite_address_locator, {in_result_ordering})
ИмяОписаниеТип данных
in_address_locators
[[in_address_locator, name],...]

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

Каждый участвующий локатор должен иметь имя. Это будет то имя локатора, на которое будет ссылаться составной локатор. Имя не должно содержать пробелов или специальных символов. Максимальная длина этого имени не должна превышать 14 символов.

Value Table
in_field_map

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

Для каждого входного поля локатора отформатируйте информацию о поле, как в этом примере строки: "Address 'Address or Intersection' true true false 4 Text 0 0 ,First,'#',Street". Информация в этой строке состоит из следующих элементов:

  • Имя нового поля (Address) — новое имя поля локатора для составного локатора.

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

  • Псевдоним для нового имени поля ('Address or Intersection') — псевдоним нового имени поля локатора для составного локатора.

    Для составного локатора с новым именем поля Address можно назначить псевдоним 'Address or Intersection' для поля.

  • IsEditable (true) — указывает, доступно ли для редактирования новое поле составного локатора. Возможные опции: true или false.
  • Разрешить значения NULL (true) — указывает, допускает ли новое поле составного локатора значения null. Возможные опции: true или false.
  • Обязательно (false) — указывает, является ли новое поле составного локатора обязательным полем. Возможные опции: true или false.
  • Длина (4) — длина нового поля составного локатора.
  • Тип (Text) — тип данных нового поля составного локатора. Это значение всегда должно быть Text для локатора.
  • Масштаб (0) — масштаб нового поля составного локатора. Можно использовать любое значение от 1 до 100. Это значение неприменимо к локаторам, но необходимо использовать допустимое значение.
  • Точность (0) — разрядность нового поля составного локатора. Можно использовать любое значение от 1 до 100. Это значение неприменимо к локаторам, но необходимо использовать допустимое значение.
  • Правило слияния (First) — правило слияния для нового поля составного локатора. Можно использовать любое значение правила слияния. Это значение неприменимо к локаторам, но необходимо использовать допустимое значение.
  • Разделитель ('#') — Разделитель для нового поля составного локатора. Можно использовать любой поддерживаемый разделитель.
  • Имя поля исходного локатора (Street) — имя поля локатора в исходном участвующем локаторе.
Field Mappings
in_selection_criteria
[[in_address_locator, selection_criteria],...]
(Дополнительный)

Критерии выборки для каждого участвующего локатора. Для каждого участвующего локатора поддерживается только один критерий выборки.

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

Value Table
out_composite_address_locator

Составной локатор адресов, который будет создан. ArcGIS AllSource поддерживает сохранение локаторов только в файловых папках.

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

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

  • Use locator order — участвующие локаторы будут располагаться в том порядке, в котором они были добавлены, и будут придерживаться порядка возврата, описанного в разделе Объединение нескольких локаторов в составной. Используется по умолчанию.
    • Правильным синтаксисом является строка с именами локаторов, разделенными запятыми.
    • Для составного локатора, содержащего два локатора (Atlanta.loc и Memphis.loc, например), синтаксис должен быть таким "Atlanta, Memphis".
  • Order by role and score — отдельные роли участвующих локаторов будут сгруппированы и упорядочены от наиболее точных к наименее точным. Сначала будут возвращены результаты для более точных ролей, за которыми последуют менее точные роли, а для разных локаторов с одной и той же ролью результаты будут возвращены на основе балльной оценки. Рекомендуется использовать эту опцию при наличии мультиролевого локатора и нескольких одноролевых локаторов или если у вас более одного мультиролевого локатора. Это автоматически упорядочит локаторы и роли в рекомендованном оптимальном порядке возврата.
    • Синтаксис представляет собой разделенную запятыми строку группировок ролей, структурированную как [LocatorRole1](LocatorName1.LocatorRole1, LocatorName2.LocatorRole1).
    • Для составного локатора, содержащего два мультиролевых локатора (Atlanta.loc и Memphis.loc, например), каждый из которых содержит роль PointAddress и роль StreetAddress, синтаксис должен быть таким "[PointAddress](Atlanta.PointAddress, Memphis.PointAddress),[StreetAddress](Memphis.StreetAddress,Atlanta.StreetAddress)".
    • Роли должны быть упорядочены от наиболее точных к наименее точным.
  • Custom order — будет использоваться настраиваемый порядок возврата для участвующих локаторов, что позволяет вставить локаторы между ролями мультиролевого локатора.
    • Правильным синтаксисом является строка с именами локаторов, разделенными запятыми, с точкой и ролью локатора в конце, то есть LocatorName.LocatorRole.
    • Для составного локатора, содержащего два мультиролевых локатора (Atlanta.loc и Memphis.loc, например), каждый из которых содержит роль PointAddress и роль StreetAddress, синтаксис должен быть таким "Atlanta.StreetAddress,Memphis.PointAddress,Memphis.StreetAddres,Atlanta.PointAddress".
    • Локаторы и роли могут быть размещены в любом порядке, но размещение менее точных ролей перед более точными ролями может привести к непредсказуемому поведению.

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

String

Пример кода

CreateCompositeAddressLocator, пример (окно Python)

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

# Create a composite address locator using the StreetMap US Streets and Tutorial Atlanta locators.

# Import system modules
import arcpy 

arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta/"

# Set local variables:
US_Streets_locator = "C:/dm_stmap_dvd/streetmap_na/data/Street_Addresses_US"
Atlanta_locator = Atlanta
Atlanta_Composite = US_Atlanta_Composite

# Field mapping
address_field_map = "Address 'Street or Intersection' true true false 100 Text 0 0 ,First,#,Atlanta_locator,Address,0,0,US_Streets_locator,Street;"
city_field_map = "City 'City or Placename' true true false 40 Text 0 0 ,First,#,Atlanta_locator,City,0,0,US_Streets_locator,City;"
state_field_map = "State 'State' true true false 20 Text 0 0 ,First,#,Atlanta_locator,State,0,0,US_Streets_locator,State;"
zip_field_map = "Zip 'Zipcode' true true false 10 Text 0 0 ,First,#,Atlanta_locator,Zip,0,0,US_Streets_locator,ZIP"

composite_locator_field_map = address_field_map + city_field_map + state_field_map + zip_field_map

arcpy.geocoding.CreateCompositeAddressLocator("Atlanta_locator Atlanta;US_Streets_locator US_Streets", composite_loactor_field_map,"Atlanta '\"City\" = 'Atlanta'';US_Streets #",Atlanta_Composite)