Сводка
Создает адреса из точечных местоположений класса пространственных объектов. В процессе обратного геокодирования осуществляется поиск ближайшего адреса или пересечения улиц для точечного местоположения на заданном расстоянии поиска. При использовании 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 (Дополнительный) | Определяет, будут ли возвращаться адреса точечных объектов как уличные или как адреса пересечений, если локатор поддерживает сопоставление пересечений. Прежние версии:Этот параметр применяется только к локаторам, построенным с помощью инструмента Создать локатор адресов, или к составным локаторам, созданным инструментом Создать локатор адресов.
| String |
search_distance | Расстояние, применяемое для поиска ближайшего адреса или пересечения для точечного местоположения. Некоторые локаторы используют оптимизированные значения расстояния, которые не поддерживают перекрытия в параметре Расстояние поиска. Локаторы, созданные с помощью инструмента Создать локатор адресов, по умолчанию используют расстояние поиска, равное 100 метров. | Linear Unit |
feature_type [feature_type,...] (Дополнительный) | Задает возможные типы возвращаемых сопоставлений. Можно выбрать как одно, так и несколько значений. Если выбрано единичное значение, допуск поиска для типа входного объекта – 500 метров. Если включены множественные значения, будут применены расстояния поиска, указанные в таблице иерархии типа входного объекта. См. веб-справку к REST API для получения дополнительной информации о параметре featureTypes для reverseGeocode. Этот параметр не поддерживается для всех локаторов.
| String |
location_type (Дополнительный) | Задает предпочитаемую выходную геометрию для соответствия POINT_ADDRESS. Варианты этого параметра - ROUTING_LOCATION, сторона улицы, которую можно использовать для построения маршрутов, либо ADDRESS_LOCATION, местоположение, находящееся на крыше здания или в центре земельного участка. Если предпочитаемое местоположение отсутствует в данных, вместо него будет возвращено местоположение ROUTING_LOCATION по умолчанию. Для результатов геокодирования с Addr_type = "PointAddress" атрибутивные значения x,y соответствуют координатам адреса, а значения DisplayX и DisplayY описывают координаты верхней точки крыши или центроида здания. См. справочную онлайн-систему к REST API для получения подробной информации о параметре locationType для reverseGeocode. Этот параметр не поддерживается для всех локаторов.
| String |
Пример кода
Пример скрипта окна 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")
В следующем скрипте 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)
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да