Resumen
Geocodifica una tabla de direcciones. Este proceso requiere una tabla que almacene las direcciones que desea geocodificar y un localizador de direcciones o un localizador de direcciones compuesto. Esta herramienta hace concordar las direcciones contra el localizador y guarda el resultado para cada registro de entrada en una nueva clase de entidad de punto. Al utilizar el ArcGIS World Geocoding Service, esta operación puede consumir créditos.
La realización de operaciones de geocodificación mediante el ArcGIS World Geocoding Service requiere una suscripción de organización a ArcGIS Online y consume créditos. La cuenta de organización debe tener suficientes créditos para completar toda la solicitud de geocodificación.
Uso
Puede geocodificar direcciones almacenadas en un único campo o divididas en varios campos. Un campo de entrada almacena la dirección completa; por ejemplo, 303 Peachtree St NE, Atlanta GA 30308. Se admiten varios campos si las direcciones de entrada están divididas en varios campos, como Address, City, State y ZIP para una dirección general de los Estados Unidos.
Algunos localizadores admiten varios campos de dirección de entrada tales como Address, Address2 y Address3. En este caso, el componente de dirección se puede separar en varios campos y los campos de dirección se concatenarán en el momento de la geocodificación. Por ejemplo, 100, Main st y Apt 140 en tres campos, o 100 Main st y Apt 140 en dos campos, ambos se convertirían en 100 Main st Apt 140 al geocodificar.
La clase de entidad de salida se guarda en la misma referencia espacial que el localizador de direcciones. Para cambiar la referencia espacial de la clase de entidad de salida, establezca un sistema de coordenadas de salida diferente en la configuración de entorno de la herramienta.
La clase de entidad de salida, por defecto, almacena una copia de la dirección de entrada e información adicional, por ejemplo, puntuación, estado y dirección coincidente de cada registro. Las direcciones se pueden volver a geocodificar utilizando la herramienta Repetir geocodificación de direcciones o la opción Repetir geocodificación de direcciones que abre el panel Repetir geocodificación de direcciones. Editar las direcciones en la tabla de direcciones de entrada no cambiará el resultado en la clase de entidad de salida una vez que termina el proceso de concordancia y se crea la clase de entidad.
Obtenga más información sobre cómo repetir la geocodificación de los resultados de geocodificación.
Se requiere suscripción a ArcGIS Online for organizations para geocodificar una tabla de direcciones con el ArcGIS World Geocoding Service.
Sintaxis
arcpy.geocoding.GeocodeAddresses(in_table, address_locator, in_address_fields, out_feature_class, {out_relationship_type}, {country}, {location_type}, {category}, {output_fields})
Parámetro | Explicación | Tipo de datos |
in_table | La tabla de direcciones que se va a geocodificar. | Table View |
address_locator | El localizador de direcciones que se va a utilizar para geocodificar la tabla de direcciones. Nota:Incluir la extensión .loc después del nombre del localizador al final de la ruta del localizador es opcional. | Address Locator |
in_address_fields [input_address_field, table_field_name] | Cada asignación de campos en este parámetro está en el formato input_address_field, table_field_name, donde input_address_field es el nombre del campo de dirección de entrada especificado por el localizador de direcciones y table_field_name es el nombre del campo correspondiente en la tabla de direcciones que se desea geocodificar. Puede especificar un único campo de entrada que almacena la dirección completa; por ejemplo, 303 Peachtree St NE, Atlanta GA 30308. Otra alternativa es especificar varios campos si las direcciones de entrada están divididas en diferentes campos, como Address, City, State y ZIP para una dirección general de Estados Unidos. Algunos localizadores admiten varios campos de dirección de entrada tales como Address, Address2 y Address3. En este caso, el componente de dirección se puede separar en varios campos y los campos de dirección se concatenarán en el momento de la geocodificación. Por ejemplo, 100, Main st y Apt 140 en tres campos, o 100 Main st y Apt 140 en dos campos, ambos se convertirían en 100 Main st Apt 140 al geocodificar. Si decide no asignar un campo de dirección de entrada opcional empleado por el localizador de direcciones a un campo de la tabla de entrada de direcciones, especifique que no hay ninguna asignación con <None> en lugar del nombre de campo. | Field Info |
out_feature_class | La clase de entidad geocodificada o shapefile de salida. | Feature Class |
out_relationship_type (Opcional) | Heredado:Este parámetro no tiene ningún efecto en ArcGIS Pro. Se conserva para compatibilidad con las versiones anteriores de ArcGIS Desktop. En ArcGIS Pro, el único valor que se acepta es STATIC.
| Boolean |
country [country,...] (Opcional) | Este parámetro está disponible para localizadores compatibles con un parámetro de país y limita la geocodificación a los países seleccionados. Si realiza una selección de países, mejorará la precisión de la geocodificación en la mayoría de los casos. Si un campo que representa a los países en la Tabla de entrada se asigna al campo Country de Campos de dirección de entrada, el valor del país de la Tabla de entrada invalida el parámetro País. Esta opción está limitada al país o los países seleccionados. Cuando no se especifica ningún país, la geocodificación se ejecuta con todos los países compatibles del localizador. El valor de entrada se debería especificar siguiendo los códigos de países de 3 caracteres de la norma ISO 3166-1. País no es compatible con todos los localizadores. | String |
location_type (Opcional) | Especifica la geometría de salida preferida para las coincidencias POINT_ADDRESS. Las opciones para este parámetro son ROUTING_LOCATION, un lado de la ubicación de la calle, que puede usarse para generación de rutas, o ADDRESS_LOCATION, la ubicación que representa el tejado o el centroide de parcela que corresponde a la dirección o una entrada principal. Si la ubicación deseada no existe en los datos, se volverá a la ubicación predeterminada de ROUTING_LOCATION. 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 ayuda web de la API REST para más información sobre el parámetro locationType para reverseGeocode. Este parámetro no es compatible con todos los localizadores.
| String |
category [category,...] (Opcional) | Limita los tipos de lugares que busca el localizador, eliminando así las coincidencias de falsos positivos y agilizando potencialmente el proceso de búsqueda. Cuando no se utiliza ninguna categoría, la geocodificación se ejecuta con todas las categorías compatibles. No todos los valores de categoría son compatibles con todas las ubicaciones y países. En general, el parámetro se puede utilizar para:
Este parámetro no es compatible con todos los localizadores. Consulte la página web de Ayuda de la API REST para obtener más información sobre el filtrado por categoría. | String |
output_fields (Opcional) | Especifica qué campos de salida del localizador se devuelven en los resultados de geocodificación. Nota:Este parámetro se puede utilizar con localizadores de entrada creados con la herramienta Crear localizador o la herramienta Crear localizador de entidades almacenados en el disco o publicados en Enterprise 10.9 o posterior. Los localizadores compuestos que contienen al menos un localizador creado con la herramienta Crear localizador de direcciones no admiten este parámetro.
| String |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la función GeocodeAddresses para geocodificar una tabla de direcciones con un localizador local.
import arcpy
arcpy.env.workspace = "C:\ArcTutor\Geocoding\atlanta"
# Set local variables
address_table = "customers.dbf"
address_locator = "Atlanta_AddressLocator"
address_fields = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
"Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;County <None> VISIBLE NONE;" +
"State <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
"Country <None> VISIBLE NONE")
geocode_result = "geocode_result.shp"
arcpy.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
El siguiente script de la ventana de Python muestra cómo utilizar la función GeocodeAddresses para geocodificar una tabla de direcciones con un localizador de servidor mediante una conexión AGS.
import arcpy
# Set local variables:
address_table = r"C:\data\Atlanta.gdb\customers"
address_locator = r"C:\ags_connections\server_name.ags\Atlanta.GeocodeServer"
address_fields = "'Single Line Input' SingleLine VISIBLE NONE"
geocode_result = r"C:\outputs\geocode_result.shp"
arcpy.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
El siguiente script de la ventana de Python muestra cómo utilizar la función GeocodeAddresses para geocodificar una tabla de direcciones con un localizador de portal.
import arcpy
arcpy.SignInToPortal("https://machinename.domain.com/portal", "username", "password")
# Set local variables
address_table = r"C:\data\Atlanta.gdb\customers"
address_locator = "https://machinename.domain.com/server/rest/services/service_name/GeocodeServer/portal_item_name"
address_fields = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
"Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;County <None> VISIBLE NONE;" +
"State <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
"Country <None> VISIBLE NONE")
geocode_result = r"C:\outputs\geocode_result.shp"
arcpy.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
El siguiente script de la ventana de Python muestra cómo utilizar la función GeocodeAddresses para geocodificar una tabla de direcciones con el World Geocoding Service.
import arcpy
arcpy.SignInToPortal("https://www.arcgis.com/", username='username', password='password')
# Set local variables
address_table = r"C:\data\Addresses.csv"
# Using the World Geocoding Service charges credits to the signed in account
address_locator = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"
field_map = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
"Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;Subregion <None> VISIBLE NONE;" +
"Region <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
"Country <None> VISIBLE NONE")
geocode_result = r"C:\outputs\geocode_result.shp"
arcpy.GeocodeAddresses_geocoding(address_table, address_locator,
address_fields, geocode_result,
'STATIC')
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí