Сводка
Создает адреса из точечных местоположений класса пространственных объектов. В процессе обратного геокодирования осуществляется поиск ближайшего адреса или пересечения улиц для точечного местоположения на заданном расстоянии поиска. При использовании сервиса ArcGIS World Geocoding Service эта операция может потреблять кредиты.
Использование
Входной класс объектов должен содержать точечные фигуры с правильными координатами x, y. Адреса для точек с пустыми координатами не возвращаются.
Выходной класс объектов будет содержать такое же количество записей, что и входной класс объектов. Дополнительные поля, содержащие полученные адреса, добавляются к классу пространственных объектов. Имена полей включают префикс REV_. Если адрес не будет найден, то эти поля не будут показывать никаких значений.
Если пространственная привязка входного класса объектов будет отличаться от привязки локатора адресов, то локатор незамедлительно преобразует координаты. Выходной класс объектов будет сохранен в той же пространственной привязке, что и входной класс объектов. Изменить пространственную привязку для выходного класса пространственных объектов можно, задав другую выходную систему координат в параметрах среды инструмента.
Если адрес для точки во входном классе объектов найти не удалось, это значит, что в локаторе адресов нет объектов, которые могут быть связаны с входной точкой. Ниже показаны наиболее распространенные причины появления несопоставленных точек:
- Расстояние поиска слишком мало, и точка не может найти еще более близлежащие объекты.
- Точка содержит нулевые координаты.
- Координаты точки не корректны и не могут быть преобразованы в пространственную привязку, используемую локатором адресов.
- Локатор адресов не содержит в данной области базовых объектов, которые могут быть связаны с этой точкой.
Можно увеличить расстояние (радиус) поиска, чтобы увеличить вероятность нахождения ближайшего адреса, либо применить другой локатор адресов, в котором содержится больше объектов, или который покрывает большую площадь для сопоставления входных точек.
Необходима подписка ArcGIS Online для организаций для выполнения обратного геокодирования класса объектов с помощью ArcGIS World Geocoding Service. Дополнительные сведения см. в разделе Работа с сервисом геокодирования ArcGIS Online World.
Синтаксис
arcpy.geocoding.ReverseGeocode(in_features, in_address_locator, out_feature_class, {address_type}, {search_distance}, {feature_type}, {location_type})
Параметр | Объяснение | Тип данных |
in_features | Класс или слой точечных объектов, от которых адреса отображаются в зависимости от местоположения точечного объекта. | Feature Class |
in_address_locator | Локатор адресов, используемый для обратного геокодирования входного класса объектов. | Address Locator |
out_feature_class | Выходной класс объектов. | Feature Class |
address_type (Дополнительный) | Определяет, как будут отображаться адреса точечных объектов, если локатор адресов поддерживает сопоставление пересечений – как уличные адреса или как адреса пересечений.
| String |
search_distance (Дополнительный) | Расстояние, применяемое для поиска ближайшего адреса или пересечения для точечного местоположения. Некоторые локаторы используют оптимизированные значения расстояния, которые не поддерживают перекрытия в параметре Расстояние поиска. Расстояние поиска по умолчанию для локаторов адресов, созданных с помощью инструмента Создать локатор адресов, составляет 100 метров. | Linear Unit |
feature_type [feature_type,...] (Дополнительный) | Возвращено ограничение возможных типов сопоставления. Можно выбрать как единичные так и множественные значения. Если выбрано единичное значение, допуск поиска для типа входного объекта – 500 метров. Если включены множественные значения, будут применены расстояния поиска, указанные в таблице иерархии типа входного объекта. См. веб-справку к REST API для дополнительной информации о параметреfeatureTypes для reverseGeocode. Этот параметр не поддерживается для всех локаторов.
| String |
location_type (Дополнительный) | Этот параметр доступен для всех локаторов, поддерживающих параметр locationType. Задает предпочитаемую выходную геометрию для соответствия PointAddress. Варианты этого параметра – сторона улицы, которую можно использовать для построения маршрутов, либо местоположение, представляющее крышу здания или центроид земельного участка. Если предпочитаемое местоположение не присутствует в данных, вместо него будет возвращено местоположение по умолчанию. Для результатов геокодирования с Addr_type=PointAddress атрибутивные значения X, Y соответствуют координатам адреса, а значения DisplayX и DisplayY описывают координаты верхней точки крыши или центроида здания. См. веб-справку к REST API для дополнительной информации о параметреlocationType для reverseGeocode. Этот параметр не поддерживается для всех локаторов.
| String |
Пример кода
ReverseGeocode, пример 1 (окно Python)
Пример скрипта окна Python для использования функции ReverseGeocode в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta.gdb"
# Set local variables:
input_feature_class = "geocode_result"
address_locator = "C:/ArcTutor/Geocoding/Atlanta.loc"
result_feature_class = "customers_with_address"
arcpy.ReverseGeocode_geocoding(input_feature_class, address_locator,
result_feature_class, "ADDRESS", "100 Meters")
ReverseGeocode, пример 2 (автономный скрипт)
В следующем скрипте Python показано, как использовать функцию ReverseGeocode в автономном скрипте.
# Description:
# Reverse Geocode customer point locations using the ArcGIS World Geocoding Service using SignInToPortal and
# Ready-To-Use-Services that returns multiple feature types and preferred location.
import arcpy
import os
arcpy.SignInToPortal_server("<Username>","<Password>", "https://geocode.arcgis.com/arcgis")
# Set workspace
arcpy.env.workspace = r"C:\arcgis\ArcTutor\Geocoding\atlanta.gdb"
# Set local variables
in_feature_class = "customers_ParcelBlk"
address_locator = "Ready-To-Use Services/Geocoding/ArcGIS World Geocoding Service.GeocodeServer"
out_feature_class = "customers_with_streets"
addr_type = "ADDRESS"
search_distance = "0 Meters"
feature_type = "STREET_ADDRESS;STREET_INTERSECTION"
location_type = "ROUTING_LOCATION"
# Perform Reverse Geocoding
arcpy.ReverseGeocode_geocoding(in_feature_class, address_locator, out_feature_class,
addr_type, search_distance, feature_type, location_type)
ReverseGeocode, пример 3 (автономный скрипт)
В следующем скрипте Python показано, как использовать функцию ReverseGeocode в автономном скрипте.
# Description:
# Reverse Geocode customer point locations using the ArcGIS World Geocoding Service using an ArcGIS Server connection file
# that returns multiple feature types and preferred location.
# Import system modules import arcpy import os
# Set workspace arcpy.env.workspace = r"C:\arcgis\ArcTutor\Geocoding\atlanta.gdb"
# Set local variables in_feature_class = "customers_ParcelBlk"
# Create this ags connection file in ArcMap address_locator = r"C:/connection_files/arcgis on geocode.arcgis.com (user)/World.GeocodeServer"
out_feature_class = "customers_with_streets"
addr_type = "ADDRESS"
search_distance = "0 Meters"
feature_type = "STREET_ADDRESS;STREET_INTERSECTION"
location_type = "ROUTING_LOCATION"
# Perform Reverse Geocoding arcpy.ReverseGeocode_geocoding(in_feature_class, address_locator, out_feature_class, addr_type, search_distance, feature_type, location_type)
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да