Обратное геокодирование (Геокодирование)

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

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

Примечание:

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

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

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

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входной класс объектов или слой

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

Feature Layer
Входной локатор адресов

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

Address Locator
Выходной класс пространственных объектов

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

Feature Class
Тип выходных адресных данных
(Дополнительный)

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

  • АдресВозвращает уличные адреса или адреса в формате, определенном входным локатором адресов. Это значение по умолчанию
  • ПерекрестокВозвращает адреса пересечений. Эта опция доступна, если локатором адресов поддерживается сопоставление адресов пересечений.
Прежние версии:

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

String
Расстояние поиска

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

Прежние версии:

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

Linear Unit
Тип объекта
(Дополнительный)

Задает возможные типы возвращаемых сопоставлений. Можно выбрать как одно, так и несколько значений. Если выбрано единичное значение, допуск поиска для типа входного объекта – 500 метров. Если включено несколько значений, будут применены расстояния поиска, указанные в таблице иерархии типов объектов.

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

  • СубадресСопоставление будет ограничено уличным адресом на основании точек, представляющих местоположения субадреса домов и строений. Для этой опции необходим локатор, созданный в ArcGIS Pro 2.8 или позднее и ArcGIS Enterprise 10.8.1 или позднее, если он опубликован как сервис.
  • Адрес точкиСопоставление будет ограничено уличным адресом на основании точек, представляющих местоположения домов и строений.
  • УчастокСопоставление будет ограничено участком земли, который считается реальным владением и может включать один или несколько домов и других строений. Этот тип сопоставления обычно имеет адрес и связанный идентификационный номер участка.
  • УлицаСопоставление будет ограничено уличным адресом, который отличается от Point Address, так как номер дома интерполируется на основе диапазона номеров. Совпадения Street Address включают диапазон номеров домов для сопоставленного отрезка улицы, а не интерполированное значение номера дома.
  • Пересечение улицСопоставление будет ограничено уличным адресом, состоящим из перекрестка, города и, дополнительно, штата и почтового индекса. Он извлекается из базовых данных Street Address, например, Redlands Blvd & New York St, Redlands, CA, 92373.
  • Название улицыСопоставление будет ограничено адресом, похожим на Street Address, но без номеров домов и с административным делением и почтовым индексом, например, W Olive Ave, Redlands, CA 92373.
  • МестностьСопоставление будет ограничено названием местоположения, обозначающее населенный пункт.
  • ПочтовыйСопоставление будет ограничено почтовым индексом. Базовые данные – это почтовый индекс, например, 90210 USA.
  • Точка интересаСопоставление будет ограничено точкой интереса. Базовые данные могут состоять из имен административных районов, достопримечательностей и географических объектов, например, Starbucks.
  • Указатель расстоянияСопоставление будет ограничено адресом улицы, который представляет собой линейное расстояние вдоль улицы, обычно, в километрах или милях, от указанной исходной точки, например, Mile 25 I-5 N, San Diego, CA.
String
Предпочитаемый тип местоположения
(Дополнительный)

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

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

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

arcpy.geocoding.ReverseGeocode(in_features, in_address_locator, out_feature_class, {address_type}, search_distance, {feature_type}, {location_type})
ИмяОписаниеТип данных
in_features

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

Feature Layer
in_address_locator

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

Address Locator
out_feature_class

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

Feature Class
address_type
(Дополнительный)

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

Прежние версии:

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

  • ADDRESSВозвращает уличные адреса или адреса в формате, определенном входным локатором адресов. Это значение по умолчанию
  • INTERSECTIONВозвращает адреса пересечений. Эта опция доступна, если локатором адресов поддерживается сопоставление адресов пересечений.
String
search_distance

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

Прежние версии:

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

Linear Unit
feature_type
[feature_type,...]
(Дополнительный)

Задает возможные типы возвращаемых сопоставлений. Можно выбрать как одно, так и несколько значений. Если выбрано единичное значение, допуск поиска для типа входного объекта – 500 метров. Если включено несколько значений, будут применены расстояния поиска, указанные в таблице иерархии типов объектов. См. веб-справку к REST API для получения дополнительной информации о параметре featureTypes для reverseGeocode.

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

  • SUBADDRESSСопоставление будет ограничено уличным адресом на основании точек, представляющих местоположения субадреса домов и строений. Для этой опции необходим локатор, созданный в ArcGIS Pro 2.8 или позднее и ArcGIS Enterprise 10.8.1 или позднее, если он опубликован как сервис.
  • POINT_ADDRESSСопоставление будет ограничено уличным адресом на основании точек, представляющих местоположения домов и строений.
  • PARCELСопоставление будет ограничено участком земли, который считается реальным владением и может включать один или несколько домов и других строений. Этот тип сопоставления обычно имеет адрес и связанный идентификационный номер участка.
  • STREET_ADDRESSСопоставление будет ограничено уличным адресом, который отличается от POINT_ADDRESS, так как номер дома интерполируется на основе диапазона номеров. Сопоставления STREET_ADDRESS включают диапазон номеров домов для соответствующего отрезка улицы, а не интерполированное значение номера дома.
  • STREET_INTERSECTIONСопоставление будет ограничено уличным адресом, состоящим из перекрестка, города и, дополнительно, штата и почтового индекса. Он извлекается из базовых данных STREET_ADDRESS, например, Redlands Blvd & New York St, Redlands, CA, 92373.
  • STREET_NAMEСопоставление будет ограничено адресом, похожим похожий на STREET_ADDRESS, но без номеров домов, а также административным округом и, дополнительно, почтовым индексом, например, W Olive Ave, Redlands, CA 92373.
  • LOCALITYСопоставление будет ограничено названием местоположения, обозначающее населенный пункт.
  • POSTALСопоставление будет ограничено почтовым индексом. Базовые данные – это почтовый индекс, например, 90210 USA.
  • POINT_OF_INTERESTСопоставление будет ограничено точкой интереса. Базовые данные могут состоять из имен административных районов, достопримечательностей и географических объектов, например, Starbucks.
  • DISTANCE_MARKERСопоставление будет ограничено адресом улицы, который представляет собой линейное расстояние вдоль улицы, обычно, в километрах или милях, от указанной исходной точки, например, Mile 25 I-5 N, San Diego, CA.
String
location_type
(Дополнительный)

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

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

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

Пример кода

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

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

import arcpy

arcpy.env.workspace = "C:/data/locations.gdb"

# Set local variables:
input_feature_class = "customers"
address_locator = "e:/StreetMap/data/Street_Addresses_US.loc"
result_feature_class = "customers_with_address"

arcpy.ReverseGeocode_geocoding(input_feature_class, address_locator, 
                               result_feature_class, "ADDRESS")
ReverseGeocode, пример 2 (автономный скрипт)

В следующем скрипте Python показано, как использовать функцию ReverseGeocode в автономном скрипте.

# Description: 
# Reverse Geocode customer point locations using a locator created with
# the Create Locator tool.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "c:/data/Atlanta.gdb"

# Set local variables
input_features = "MyCustomers"
locator = "c:/data/Atlanta/Atlanta_StreetAddress.loc"
reverse_output = "MyCustomers_Reverse_Streets"
addr_type = "ADDRESS"
feature_type = "STREET_INTERSECTION;STREET_ADDRESS"
location_type = "ROUTING_LOCATION"

# Execute ReverseGeocode
arcpy.geocoding.ReverseGeocode(input_features, locator, reverse_output, 
                               addr_type, None, feature_type, location_type)
ReverseGeocode, пример 3 (автономный скрипт)

Следующий скрипт Python демонстрирует использование функции ReverseGeocode c ArcGIS World Geocoding Service в автономном скрипте.

Примечание:

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

# Description: 
# Reverse Geocode customer point locations using the ArcGIS World Geocoding Service.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "c:/data/Atlanta.gdb"

# Set local variables
input_features = "MyCustomers"
locator = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"
reverse_output = "MyCustomers_Reverse_Streets"
addr_type = "ADDRESS"
feature_type = "STREET_INTERSECTION;STREET_ADDRESS"
location_type = "ROUTING_LOCATION"

# Execute ReverseGeocode
arcpy.geocoding.ReverseGeocode(input_features, locator, reverse_output, 
                               addr_type, None, feature_type, location_type)

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

Особые случаи

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

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

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