Resumen
Crea direcciones a partir de ubicaciones de puntos en una clase de entidad. El proceso de geocodificación inversa busca la dirección o intersección más cercana para la ubicación de puntos basado en la distancia de búsqueda que se especificó. Al utilizar el ArcGIS World Geocoding Service, esta operación puede consumir créditos.
Uso
La clase de entidad de entrada debe contener formas de puntos con coordenadas x,y válidas. No se devuelven las direcciones en los puntos con coordenadas nulas.
La clase de entidad de salida contiene el mismo número de registros que la clase de entidad de entrada. Se agregan a la clase de entidad campos adicionales que contienen las direcciones resultantes. Los nombres de los campos tienen el prefijo REV_. Si no se puede buscar una dirección, los campos contendrán valores vacíos.
Si la referencia espacial de la clase de entidad de entrada es diferente del localizador de direcciones, el localizador de direcciones transformará las coordenadas al vuelo y tratará de encontrar la concordancia. La clase de entidad de salida se guardará en la misma referencia espacial que la clase de entidad de entrada. Es posible cambiar la referencia espacial de la clase de entidad de salida al establecer un sistema de coordenadas de salida diferente en la configuración del entorno de la herramienta.
Si un punto en la clase de entidad de entrada no puede devolver una dirección, significa que no hay entidades en el localizador de direcciones que se puedan asociar con el punto de entrada. Las causas más comunes por las que los puntos no concuerdan son las siguientes:
- La distancia de búsqueda es demasiado pequeña, por lo que el punto no puede encontrar ninguna entidad más cercana.
- El punto contiene coordenadas nulas.
- Las coordenadas del punto son incorrectas y no se pueden transformar en la referencia espacial que se utilizó en el localizador de direcciones.
- El localizador de direcciones no contiene entidades de referencia en el área que se puedan asociar con el punto.
Puede aumentar la distancia de búsqueda de modo que la probabilidad de encontrar la dirección más cercana sea mayor, o puede utilizar otro localizador de direcciones que contenga más entidades o cubra un área más grande para hacer coincidir los puntos de entrada.
Se necesita una suscripción a ArcGIS Online for organizations si va a utilizar la geocodificación inversa de una clase de entidad con el ArcGIS World Geocoding Service. Consulte Trabajar con ArcGIS Online World Geocoding Service para obtener más información.
Sintaxis
arcpy.geocoding.ReverseGeocode(in_features, in_address_locator, out_feature_class, {address_type}, {search_distance}, {feature_type}, {location_type})
Parámetro | Explicación | Tipo de datos |
in_features | Una clase de entidad de puntos o capa desde la que se devuelven las direcciones según la ubicación de puntos de las entidades. | Feature Class |
in_address_locator | El localizador de direcciones que va a utilizar para hacer una geocodificación inversa de la clase de entidad de entrada. | Address Locator |
out_feature_class | La clase de entidad de salida. | Feature Class |
address_type (Opcional) | Especifica si debe devolver direcciones para los puntos como direcciones de calles o direcciones de intersección en caso de que el localizador de direcciones admita la concordancia de intersecciones.
| String |
search_distance (Opcional) | La distancia utilizada para la buscar la dirección o intersección más cercana para la ubicación de puntos. Algunos localizadores utilizan valores de distancia optimizados que no admiten la invalidación del parámetro de distancia de búsqueda. La distancia de búsqueda predeterminada para localizadores de direcciones creados con la herramienta Crear localizador de direcciones es de 100 metros. | Linear Unit |
feature_type [feature_type,...] (Opcional) | Limita los tipos de concordancia posibles que se devuelven. Se puede seleccionar un valor único o varios valores. Si se selecciona un valor único, la tolerancia de búsqueda para el tipo de entidad de entrada es de 500 metros. Si se incluyen varios valores, se aplican las distancias de búsqueda predeterminadas especificadas en el tipo de entidad tabla de jerarquía. Consulte la página web de la Ayuda de la API REST para obtener más información sobre el parámetro featureTypes para reverseGeocode. Este parámetro no es compatible con todos los localizadores.
| String |
location_type (Opcional) | Este parámetro está disponible para localizadores compatibles con el parámetro locationType. Especifica la geometría de salida preferida para las coincidencias PointAddress. Las opciones para este parámetro son la ubicación de un lado de la calle, que puede usarse para generar rutas, o la ubicación que representa el tejado o el centroide de parcela que corresponde a la dirección. Si la ubicación deseada no existe en los datos, se volverá a la ubicación predeterminada. En los resultados de geocodificación con Addr_type=PointAddress, los valores del atributo X,Y describen las coordenadas de la dirección a lo largo de la calle, mientras que los valores de DisplayX y DisplayY describen las coordenadas de tejado o centroide de edificio. Consulte la página web de la Ayuda de la API REST para obtener más información sobre el parámetro locationType para reverseGeocode. Este parámetro no es compatible con todos los localizadores.
| String |
Muestra de código
Ejemplo 1 de ReverseGeocode (ventana de Python)
El siguiente script de la ventana de Python demuestra cómo utilizar la función ReverseGeocode en modo inmediato.
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")
Ejemplo 2 de ReverseGeocode (script independiente)
El siguiente script de Python muestra cómo utilizar la función ReverseGeocode en un script independiente.
# 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)
Ejemplo 3 de ReverseGeocode (script independiente)
El siguiente script de Python muestra cómo utilizar la función ReverseGeocode en un script independiente.
# 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)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí