Сводка
Геокодирует таблицу с адресами. Для этого процесса требуется таблица, в которой хранятся адреса, которые вы хотите геокодировать, а также локатор адресов или составной локатор адресов. Этот инструмент сопоставляет адреса с локатором адресов и сохраняет результат для каждой входной записи в новом классе точечных пространственных объектов. При использовании ArcGIS World Geocoding Service эта операция может потреблять кредиты.
Для выполнения операций геокодирования с помощью ArcGIS World Geocoding Service требуется подписка организации ArcGIS Online и расходуются кредиты. Учетная запись организации должна иметь достаточное количество кредитов для завершения всего запроса на геокодирование.
Использование
Вы можете геокодировать адреса, хранящиеся в одном поле или в нескольких полях. Одно входное поле содержит полный адрес, например, 303 Peachtree St NE, Atlanta, GA 30308. Несколько полей поддерживаются, если входной адрес разбит на несколько полей, например, Address, City, State и ZIP для обычных почтовых адресов США.
Некоторые локаторы поддерживают несколько полей входных адресов, например Address, Address2 и Address3. В этом случае компонент адреса может быть разделен на несколько полей, и поля адреса будут объединены во время геокодирования. Например, 100, Main St и Apt 140 в трех полях или 100 Main St и Apt 140 в двух полях в результате геокодирования образуют адрес в виде 100 Main St Apt 140.
Выходной класс объектов сохраняется в той же пространственной привязке, что и локатор адресов. Изменить пространственную привязку для выходного класса пространственных объектов можно, задав другую выходную систему координат в параметрах среды инструмента.
Выходной класс объектов по умолчанию сохраняет копию входного адреса и дополнительную информацию – количество набранных очков, статус и сопоставленный адрес каждой записи. Адреса могут повторно сопоставляться с помощью инструмента Повторно сопоставить адреса или диалогового окна Интерактивное сопоставление, которое открывается на панели Повторно сопоставить адреса. Редактирование адресов во входной таблице адресов не изменит результат в выходном классе объектов, когда будет завершен процесс сопоставления и создан класс пространственных объектов.
Более подробно о повторном сопоставлении результатов геокодирования
Для сопоставления таблицы адресов с помощью ArcGIS World Geocoding Service, необходима подписка на ArcGIS Online for organizations.
Синтаксис
arcpy.geocoding.GeocodeAddresses(in_table, address_locator, in_address_fields, out_feature_class, {out_relationship_type}, {country}, {location_type}, {category}, {output_fields})
Parameter | Объяснение | Тип данных |
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 для обычных почтовых адресов США. Некоторые локаторы поддерживают несколько полей входных адресов, например 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 Pro. Он остается для обеспечения обратной совместимости с ArcGIS Desktop. В ArcGIS Pro, единственно возможное значение - это STATIC.
| Boolean |
country [country,...] (Дополнительный) | Этот параметр доступен для локаторов, поддерживающих параметр страны, и позволяет ограничить область геокодирования выбранными странами. Выбрав страну, вы, как правило, сможете увеличить точность геокодирования. Если поле страны во Входной таблице обозначено как Country во Входном поле адреса, значение страны из Входной таблицы будет превалировать по сравнению со значением в параметре Страна. Этот параметр ограничен для выбранной страны или стран. Если страна не указана, геокодирование выполняется по всем доступным странам локатора. Входное значение должно быть указано как ISO 3166-1 3-значный код страны. Country поддерживается не для всех локаторов. | String |
location_type (Дополнительный) | Задает предпочитаемую выходную геометрию для соответствия POINT_ADDRESS. Варианты этого параметра - ROUTING_LOCATION, сторона улицы, которую можно использовать для построения маршрутов, либо ADDRESS_LOCATION, местоположение, находящееся на крыше здания или в центре земельного участка. Если предпочитаемое местоположение отсутствует в данных, вместо него будет возвращено местоположение ROUTING_LOCATION по умолчанию. Для результатов геокодирования с Addr_type = PointAddress атрибутивные значения x,y соответствуют координатам адреса, а значения DisplayX и DisplayY описывают координаты верхней точки крыши или центроида здания. См. справочную онлайн-систему REST API для получения подробной информации о параметре locationType для reverseGeocode. Этот параметр не поддерживается для всех локаторов.
| String |
category [category,...] (Дополнительный) | Ограничивает типы местоположений, в которых локатором выполняется поиск, это убирает ложно положительные совпадения и ускоряет процесс поиска. Если категория не используется, геокодирование будет осуществляться по всем поддерживаемым категориям. Не для всех локаторов и не для всех стран поддерживаются все значения категорий. В целом, этот параметр используется для:
Этот параметр не поддерживается для всех локаторов. См. веб-справку к REST API для получения сведений о фильтрации категорий. | String |
output_fields (Дополнительный) | Задает выходные поля локатора, которые возвращаются в результатах геокодирования. Примечание:Этот параметр может быть использован со входными локаторами, созданными с помощью инструмента Создать локатор или Создать локатор объектов, которые хранятся на диске или опубликованы на Enterprise версии 10.9 или более новой. Составные локаторы, содержащие хотя бы один локатор, созданный с помощью инструмента Создать локатор объектов, не поддерживают этот параметр.
| String |
Пример кода
В следующем скрипте в окне Python показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью локального локатора.
import arcpy
arcpy.env.workspace = "C:\ArcTutor\Geocoding\atlanta"
# Set local variables
address_table = "customers.dbf"
address_locator = "Atlanta_AddressLocator"
address_fields = ("\'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.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
В следующем скрипте в окне Python показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью серверного локатора через подключение AGS.
import arcpy
# Set local variables:
address_table = r"C:\data\Atlanta.gdb\customers"
address_locator = r"C:\ags_connections\server_name.ags\Atlanta.GeocodeServer"
address_fields = "'Single Line Input' SingleLine VISIBLE NONE"
geocode_result = r"C:\outputs\geocode_result.shp"
arcpy.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
В следующем скрипте в окне Python показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью локатора Портала.
import arcpy
arcpy.SignInToPortal("https://machinename.domain.com/portal", "username", "password")
# Set local variables
address_table = r"C:\data\Atlanta.gdb\customers"
address_locator = "https://machinename.domain.com/server/rest/services/service_name/GeocodeServer/portal_item_name"
address_fields = ("\'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.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
В следующем скрипте Python показано, как использовать функцию GeocodeAddresses для геокодирования таблицы адресов с помощью World Geocoding Service.
import arcpy
arcpy.SignInToPortal("https://www.arcgis.com/", username='username', password='password')
# Set local variables
address_table = r"C:\data\Addresses.csv"
# Using the World Geocoding Service charges credits to the signed in account
address_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.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да