Геокодировать адреса (Геокодирование)

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

Геокодирует таблицу с адресами. Для этого процесса требуется таблица, в которой хранятся адреса, которые вы хотите геокодировать, а также локатор адресов или составной локатор адресов. Этот инструмент сопоставляет сохраненные адреса с локатором адресов и сохраняет результат для каждой входной записи в новом классе точечных пространственных объектов. При использовании ArcGIS World Geocoding Service эта операция может потреблять кредиты.

Для выполнения операций геокодирования с помощью ArcGIS World Geocoding Service необходима учетная запись организации ArcGIS, при этом расходуются кредиты. Учетная запись организации должна иметь достаточное количество кредитов для выполнения всего запроса на геокодирование.

Примечание:

В верхней части инструмента доступна оценка кредитов, если активным является портал ArcGIS Online, а входным локатором адресов - ArcGIS World Geocoding Service.

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

  • Вы можете геокодировать адреса, хранящиеся в одном поле или в нескольких полях, либо хранящиеся в одном поле и в поле страны. В одном входном поле хранится полный адрес, например, 303 Peachtree St NE, Atlanta, GA 30308. Поддерживается несколько полей, если входные адреса разделены на несколько полей, таких как Address, City, State и ZIP для общего адреса в США. Одно входное поле содержит полный адрес, например, 303 Peachtree St NE, Atlanta, GA 3030, также поддерживается поле, где хранятся сведения о стране, связанной с адресом, например, USA.

  • Некоторые локаторы поддерживают несколько полей входных адресов, например Address, Address2 и Address3. В этом случае компонент адреса может быть разделен на несколько полей, и поля адреса будут объединены во время геокодирования. Например, 100, Main St и Apt 140 в трех полях или 100 Main St и Apt 140 в двух полях в результате геокодирования образуют адрес в виде 100 Main St Apt 140.

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

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

    Более подробно о повторном сопоставлении результатов геокодирования

  • Необходима подписка на ArcGIS Online для организаций для сопоставления таблицы адресов с помощью ArcGIS World Geocoding Service.

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

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

    Если локальная сцена содержит поверхность высот, по которой были оцифрованы базовые данные, использованные при создании локатора, установите для свойства высоты результатов геокодирования опцию На абсолютной высоте Абсолютные высоты поверхности. Это можно сделать в диалоговом окне Свойства слоя на вкладке Высота. Если поверхность высот, использованная для создания базовых данных, не находится в локальной сцене, установите для высоты результатов геокодирования опцию Относительно уровня земли Высоты относительно поверхности.

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

Параметры

ПодписьОписаниеТип данных
Входная таблица

Таблица адресов для геокодирования

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

Локатор адресов, который будет использован для геокодирования таблицы адресов.

Примечание:

Включение дополнительного модуля .loc после имени локатора в конце пути локатора является дополнительным.

Address Locator
Входные поля адреса

Соответствие адресных полей, используемых локатором адресов, полям входной таблицы адресов. Выберите Одно поле, если полный адрес хранится в одном поле входной таблицы, например, 303 Peachtree St NE, Atlanta, GA 30308. Выберите Несколько полей, если входные адреса разделены на несколько полей, например, Address, City, State и ZIP для общего адреса в США. Выберите Одно поле и поле страны, если полный адрес и страна записаны в нескольких полях, например, Address (303 Peachtree St NE, Atlanta, GA 30308) и Country (USA).

Некоторые локаторы поддерживают несколько входных полей адресов, таких как Address, Address2 и Address3. В этом случае компонент адреса может быть разделен на несколько полей, и поля адреса будут объединены во время геокодирования. Например, 100, Main St и Apt 140 в трех полях или 100 Main St и Apt 140 в двух полях в результате геокодирования образуют адрес в виде 100 Main St Apt 140.

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

Field Info
Выходной класс объектов

Выходной геокодированный класс пространственных объектов.

Примечание:

Сохранение результатов в формате шейп-файлов не поддерживается в связи с ограничениями шейп-файлов.

Feature Class
Динамический выходной класс объектов
(Дополнительный)

Этот параметр является неактивным в ArcGIS AllSource. Он остается для обеспечения обратной совместимости с ArcGIS Desktop.

Boolean
Страна
(Дополнительный)

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

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

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

Параметр Страна поддерживается не всеми локаторами.

String
Предпочитаемый тип местоположения
(Дополнительный)

Задает предпочитаемую выходную геометрию для соответствия PointAddress. Варианты для этого параметра: Местоположение маршрута, которое является стороной улицы, которая может использоваться для маршрутизации, и Местоположение адреса, которое представляет собой местоположение, представляющее верхнюю точку крыши или центроид участка для адреса. Если предпочтительное местоположение не существует в данных, будет возвращено расположение по умолчанию. Для результатов геокодирования Addr_type=PointAddress атрибутивные значения x,y соответствуют координатам адреса, а значения DisplayX и DisplayY описывают координаты верхней точки крыши или центроида здания.

Этот параметр не поддерживается всеми видами локаторов.

  • Местоположение адресаВозвращается геометрия для результатов геокодирования, которые представляют адреса таких элементов местоположений, как верхняя точка крыши, центроид участка или входная дверь.
  • Местоположение маршрутаБудет возвращена геометрия результатов геокодирования, которые представляют местоположение рядом с обочиной улицы, которое может использоваться для маршрутизации транспортных средств. Это значение по умолчанию
String
Категория
(Дополнительный)

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

  • Ограничения совпадений уровнями адресов или определенными типами местоположений
  • Недопущения совпадений на нежелательных уровнях адресов
  • Неточный поиск координат

Этот параметр не поддерживается всеми видами локаторов.

См. веб-справку к ArcGIS REST API для получения сведений о фильтрации категорий.

String
Выходные поля
(Дополнительный)

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

  • ВсеВключает все доступные выходные поля локатора в результаты геокодирования. Это значение по умолчанию
  • Только местоположениеСохраняет в результатах геокодирования поле Shape. Исходные имена полей из параметра Входная таблица сохраняются с исходными именами полей.
  • МинимальнаяДобавляет следующие поля, описывающие местоположение и то, насколько хорошо оно соответствует информации в сервисе локатора: Shape, Status, Score, Match_type, Match_addr и Addr_type. Исходные имена полей из параметра Входная таблица сохраняются.
  • Минимальные и пользовательские поляДобавляет следующие поля, описывающие местоположение и то, насколько хорошо оно соответствует информации в локаторе, а также любые пользовательские выходные поля в результатах геокодирования: Shape, Status, Score, Match_type, Match_addr и Addr_type. Исходные имена полей из параметра Входная таблица сохраняются.
Примечание:

Этот параметр может быть использован со входными локаторами, созданными с помощью инструмента Создать локатор или Создать локатор объектов, которые хранятся на диске или опубликованы на Enterprise версии 10.9 или более новой. Составные локаторы, содержащие хотя бы один локатор, созданный с помощью инструмента Создать локатор объектов, не поддерживают этот параметр.

String

arcpy.geocoding.GeocodeAddresses(in_table, address_locator, in_address_fields, out_feature_class, {out_relationship_type}, {country}, {location_type}, {category}, {output_fields})
ИмяОписаниеТип данных
in_table

Таблица адресов для геокодирования

Table View
address_locator

Локатор адресов, который будет использован для геокодирования таблицы адресов.

Примечание:

Включение дополнительного модуля .loc после имени локатора в конце пути локатора является дополнительным.

Address Locator
in_address_fields
[input_address_field, table_field_name]

Каждое сопоставление полей в этом параметре имеет формат input_address_field, table_field_name, где input_address_field – это имя поля входного адреса, заданное локатором адресов, а table_field_name – это имя соответствующего поля в таблице адресов, которую вы хотите геокодировать.

Вы можете указать одно поле ввода, в котором хранится полный адрес, например, 303 Peachtree St NE, Atlanta, GA 30308. Кроме того, вы можете указать несколько полей, если входные адреса разделены на несколько полей, таких как Address, City, Stateи ZIP для общего адреса в США. Вы также можете указать одно входное поле, где хранится полный адрес, например, 303 Peachtree St NE, Atlanta, GA 30308, а также поле, где хранится информация о стране, связанной с адресом, например, USA.

Некоторые локаторы поддерживают несколько полей входных адресов, например Address, Address2 и Address3. В этом случае компонент адреса может быть разделен на несколько полей, и поля адреса будут объединены во время геокодирования. Например, 100, Main St и Apt 140 в трех полях или 100 Main St и Apt 140 в двух полях в результате геокодирования образуют адрес в виде 100 Main St Apt 140.

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

Field Info
out_feature_class

Выходной геокодированный класс пространственных объектов.

Примечание:

Сохранение результатов в формате шейп-файлов не поддерживается в связи с ограничениями шейп-файлов.

Feature Class
out_relationship_type
(Дополнительный)
Прежние версии:

Этот параметр не действует в ArcGIS AllSource. Он остается для обеспечения обратной совместимости с ArcGIS Desktop.

В ArcGIS AllSource единственно возможное значение - это STATIC.

  • STATICСоздает статическую копию входной таблицы адресов в выходном классе объектов. Это единственное допустимое значение.
  • DYNAMICЭта опция не применима в ArcGIS AllSource. См. справку ArcGIS Desktop для этого инструмента.
Boolean
country
[country,...]
(Дополнительный)

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

Этот параметр доступен для локаторов, поддерживающих параметр страны, и позволяет ограничить область геокодирования выбранными странами. Указав страну, вы, как правило, сможете увеличить точность геокодирования. Если поле страны в параметре in_table сопоставляется с полем Country в значении параметра input_address_field, то значение страны из параметра in_table будет превалировать по сравнению с параметром country.

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

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

Параметр country не поддерживается всеми видами локаторов.

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

Задает предпочитаемую выходную геометрию для сопоставления POINT_ADDRESS. Варианты этого параметра – ROUTING_LOCATION, сторона улицы, которую можно использовать для построения маршрутов, либо ADDRESS_LOCATION, местоположение, находящееся на крыше здания или в центре земельного участка. Если предпочтительное местоположение не существует в данных, будет возвращено расположение ROUTING_LOCATION по умолчанию. Для результатов геокодирования Addr_type = PointAddress атрибутивные значения x,y соответствуют координатам адреса, а значения DisplayX и DisplayY описывают координаты верхней точки крыши или центроида здания. См. веб-справку к ArcGIS REST API для получения подробной информации о параметре locationType для geocodeAddresses.

Этот параметр не поддерживается всеми видами локаторов.

  • ADDRESS_LOCATIONВозвращается геометрия для результатов геокодирования, которые представляют адреса таких элементов местоположений, как верхняя точка крыши, центроид участка или входная дверь.
  • ROUTING_LOCATIONБудет возвращена геометрия результатов геокодирования, которые представляют местоположение рядом с обочиной улицы, которое может использоваться для маршрутизации транспортных средств. Это значение по умолчанию
String
category
[category,...]
(Дополнительный)

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

  • Ограничения совпадений уровнями адресов или определенными типами местоположений
  • Недопущения совпадений на нежелательных уровнях адресов
  • Неточный поиск координат

Этот параметр не поддерживается всеми видами локаторов.

См. веб-справку к ArcGIS REST API для получения сведений о фильтрации категорий.

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

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

Примечание:

Этот параметр может быть использован со входными локаторами, созданными с помощью инструмента Создать локатор или Создать локатор объектов, которые хранятся на диске или опубликованы на Enterprise версии 10.9 или более новой. Составные локаторы, содержащие хотя бы один локатор, созданный с помощью инструмента Создать локатор объектов, не поддерживают этот параметр.

  • ALLВключает все доступные выходные поля локатора в результаты геокодирования. Это значение по умолчанию
  • LOCATION_ONLYСохраняет в результатах геокодирования поле Shape. Исходные имена полей из параметра in_table будут сохранены с исходными именами полей.
  • MINIMALДобавляет следующие поля, описывающие местоположение и то, насколько хорошо оно соответствует информации в сервисе локатора: Shape, Status, Score, Match_type, Match_addr и Addr_type. Исходные имена полей из значения параметра in_table будут сохранены.
  • MINIMAL_AND_USERДобавляет следующие поля, описывающие местоположение и то, насколько хорошо оно соответствует информации в локаторе в результатах геокодирования, а также любые пользовательские выходные поля, определенные пользователем: Shape, Status, Score, Match_type, Match_addr и Addr_type. Исходные имена полей из значения параметра in_table будут сохранены.
String

Пример кода

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

В следующем скрипте показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью локального локатора.

import arcpy

arcpy.env.workspace = "C:\Geocoding\atlanta"

# Set local variables
table = "customers.dbf"
locator = "Atlanta_AddressLocator.loc"
field_map = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
                  "Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;County <None> VISIBLE NONE;" +
                  "State <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
                  "Country <None> VISIBLE NONE")
geocode_result = "geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator, 
                                 field_map, geocode_result)
GeocodeAddresses, пример 2 (автономный скрипт)

В следующем скрипте показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью серверного локатора через подключение AGS.

import arcpy

# Set local variables:
table = r"C:\data\Atlanta.gdb\customers"
locator = r"C:\ags_connections\server_name.ags\Atlanta.GeocodeServer"
field_map = "'Single Line Input' SingleLine VISIBLE NONE"
geocode_result = r"C:\outputs\geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator,
                                 field_map, geocode_result)
GeocodeAddresses, пример 3 (автономный скрипт)

В следующем скрипте показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью локального локатора.

Примечание:

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

import arcpy

# Set local variables
table = r"C:\data\Atlanta.gdb\customers"
locator = "https://machinename.domain.com/server/rest/services/service_name/GeocodeServer/portal_item_name"
field_map = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
                  "Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;County <None> VISIBLE NONE;" +
                  "State <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
                  "Country <None> VISIBLE NONE")
geocode_result = r"C:\outputs\geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator, field_map, geocode_result)
GeocodeAddresses, пример 4 (автономный скрипт)

В следующем скрипте показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью ArcGIS World Geocoding Service.

Примечание:

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

Примечание:

При использовании ArcGIS World Geocoding Service эта операция может потреблять кредиты.

import arcpy

# Set local variables
table = r"C:\data\Addresses.csv"

# Sign in to Portal
#arcpy.SignInToPortal("https://www.arcgis.com.", "MyUsername", "MyPassword")

locator = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"

field_map = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
             "Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;Subregion <None> VISIBLE NONE;" +
             "Region <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
             "Country <None> VISIBLE NONE")

geocode_result = r"C:\outputs\geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator, field_map, geocode_result)
GeocodeAddresses, пример 5 (автономный скрипт)

В следующем скрипте показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов, в которой все адресные данные находятся в одном поле, а данные о стране — во втором поле, с помощью ArcGIS World Geocoding Service.

Примечание:

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

Примечание:

При использовании ArcGIS World Geocoding Service эта операция может потреблять кредиты.

import arcpy

# Set local variables
table = r"C:\Data\MyDatabase.gdb\DistributionCenters"

# Sign in to Portal
#arcpy.SignInToPortal("https://www.arcgis.com.", "MyUsername", "MyPassword")

locator = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"

field_map = "'Single Line Input' SingleLine VISIBLE NONE;Country Country VISIBLE NONE"

geocode_result = r"C:\Data\MyDatabase.gdb\DistributionCenters_Geocoded"

arcpy.geocoding.GeocodeAddresses(table, locator, field_map, geocode_result)