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

Сводка

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

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

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

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

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

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

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

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

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

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

Синтаксис

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

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

Feature Layer
in_address_locator

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

Address Locator
out_feature_class

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

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

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

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

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

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

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

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

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

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

  • 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, пример (окно 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"
result_feature_class = "customers_with_address"
arcpy.ReverseGeocode_geocoding(input_feature_class, address_locator, 
                               result_feature_class, "ADDRESS", "100 Meters")
ReverseGeocode (обратное геокодирование), пример (автономный скрипт)

В следующем скрипте 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"
search_distance = "0 Unknown"
feature_type = "STREET_INTERSECTION;STREET_ADDRESS"
location_type = "ROUTING_LOCATION"
# Execuste ReverseGeocode
arcpy.geocoding.ReverseGeocode(input_features, locator, reverse_output, 
                               addr_type, search_distance, feature_type, 
                               location_type)

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

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

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