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

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

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

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

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

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

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

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

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

Параметры

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

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

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

Value Table
Список полей

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

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

Внимание:

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

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

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

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

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

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

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

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) – указывает, будут ли в новом поле составного локатора разрешены пустые значения. Возможные опции: 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 Pro поддерживает сохранение только в файловой папке.

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)

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

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

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