Crear localizador de direcciones compuesto (Geocodificación)

Resumen

Crea un localizador compuesto. Un localizador compuesto consta de dos o más localizadores individuales que permiten emparejar direcciones y lugares utilizando varios localizadores.

Más información sobre los localizadores compuestos

Uso

  • Antes de crear localizadores compuestos, utilice la herramienta Crear localizador o la herramienta Crear localizador de entidades para crear localizadores participantes.

  • Se requiere la referencia espacial para un localizador compuesto. Se utiliza la referencia espacial del primer localizador que participa a menos que especifique un sistema de coordenadas de salida diferente en la configuración del entorno de la herramienta.

  • Utilice la opción Ordenar por rol y puntuación para el parámetro Orden de resultados para un localizador multirrol, un localizador de ArcGIS StreetMap Premium, por ejemplo, y varios localizadores de un solo rol. Esta opción ordena los localizadores y los roles en un orden de reserva óptimo.

  • Para generar la sintaxis correcta de Python para el parámetro in_result_ordering, ejecute primero la herramienta desde el panel Geoprocesamiento utilizando la opción apropiada del parámetro Orden de resultados. Luego abra el menú Ejecutar y seleccione Copiar comando de Python.

Parámetros

EtiquetaExplicaciónTipo de datos
Localizadores de direcciones

Localizadores que se utilizarán para crear el localizador compuesto. El orden de los localizadores participantes determina cómo se buscan los candidatos y se hace concordar un lugar o una dirección. Al geocodificar un único lugar o dirección, el lugar o dirección se cotejará utilizando todos los localizadores participantes, a menos que el localizador se especifique con un criterio de selección. Todos los candidatos encontrados se mostrarán según el orden de los localizadores participantes de la lista. Si geocodifica una tabla de direcciones o lugares, las direcciones o lugares se cotejarán automáticamente con el primer mejor candidato encontrado de los primeros localizadores participantes. Si la dirección o el lugar no coinciden, se pasará al localizador siguiente de la lista.

Se requiere un nombre de referencia para cada localizador participante. Es el nombre del localizador al que hace referencia el localizador compuesto. No utilice espacios ni símbolos especiales en el nombre. La longitud máxima del nombre es de 14 caracteres.

Value Table
Mapa de campo

Asignación de los campos de entrada utilizada por cada localizador participante para los campos de entrada del localizador compuesto.

Esto incluye los campos y el contenido de los campos generados por los localizadores participantes. Cada campo de entrada único se enumera en el parámetro Mapa de campo. A la izquierda, en la columna Campos de entrada, aparece una lista de todos los campos de entrada del localizador compuesto. Al seleccionar un campo, puede ver los campos de cada localizador participante que están asignados a ese campo en las columnas Subcampo y Propiedades. Estos campos son los campos de entrada para el localizador compuesto.

Precaución:

No elimine ningún campo de localizador del parámetro Mapa de campo. Un localizador compuesto creado sin todos los campos del localizador no es válido.

Field Mappings
Criterios de selección
(Opcional)

Criterios de selección para cada localizador participante. Solo se admite un criterio de selección para cada localizador participante.

Al crear un localizador compuesto, puede especificar qué localizadores se utilizan en función de los valores de los campos de dirección de entrada. Por ejemplo, si el localizador compuesto utiliza un localizador que contiene datos de calles de una ciudad concreta, puede filtrar las direcciones o lugares que no tengan el nombre de esa ciudad. El uso de criterios de selección descalificará a los localizadores participantes que no cumplan los criterios para una dirección concreta, de modo que el proceso de geocodificación sea más eficaz. Por ejemplo, si un localizador de direcciones de calles se especifica con un criterio de selección como "City" = 'Atlanta', con este localizador solo se geocodificarán las direcciones que contengan el nombre de la ciudad de Atlanta.

Para especificar un criterio de selección, active la casilla del localizador situada bajo la columna Criterios de selección a la que desea aplicar el criterio. Puede introducir una expresión tal como "City" = 'Atlanta' en el cuadro de texto o hacer clic en el botón para abrir el cuadro de diálogo Especificar los criterios de selección del localizador y definir los criterios.

Value Table
Localizador de direcciones compuesto de salida

Localizador de direcciones compuesto que se va a crear. ArcGIS AllSource solo permite guardar direcciones en un a carpeta de archivos.

Address Locator
Orden de resultados
(Opcional)

Especifica el orden de reserva de los localizadores participantes a los que se pueden asociar las direcciones para aumentar la probabilidad de encontrar la mejor concordancia al geocodificar.

  • Utilizar orden de localizadores: los localizadores participantes aparecerán en el orden en que se agregaron y siguen el orden de reserva descrito en Combinar varios localizadores en un localizador compuesto. Esta es la opción predeterminada.
  • Ordenar por rol y puntuación: los roles individuales de los localizadores participantes se agruparán y ordenarán de más a menos precisos. Los resultados se mostrarán primero para los roles más precisos, seguidos de los menos precisos y, para los resultados que se muestren para diferentes localizadores con el mismo rol, los resultados se mostrarán en función de la puntuación. Se recomienda utilizar esta opción si tiene un localizador multirrol y varios localizadores de rol único o si tiene más de un localizador multirrol. Esto ordena automáticamente los localizadores y roles en un orden de reserva óptimo y recomendado.
  • Orden personalizado: se utilizará un orden de reserva personalizable para los localizadores participantes que permite insertar localizadores entre los roles de un localizador multirrol.
String

arcpy.geocoding.CreateCompositeAddressLocator(in_address_locators, in_field_map, {in_selection_criteria}, out_composite_address_locator, {in_result_ordering})
NombreExplicaciónTipo de datos
in_address_locators
[[in_address_locator, name],...]

Localizadores que se utilizarán para crear el localizador compuesto. El orden de los localizadores participantes determina cómo se buscan los candidatos y se hace concordar un lugar o una dirección. Al geocodificar un único lugar o dirección, el lugar o dirección se cotejará utilizando todos los localizadores participantes, a menos que el localizador se especifique con un criterio de selección. Todos los candidatos encontrados se mostrarán según el orden de los localizadores participantes de la lista. Si geocodifica una tabla de direcciones o lugares, las direcciones o lugares se cotejarán automáticamente con el primer mejor candidato encontrado de los primeros localizadores participantes. Si la dirección o el lugar no coinciden, se pasará al localizador siguiente de la lista.

Se requiere un nombre de referencia para cada localizador participante. Es el nombre del localizador al que hace referencia el localizador compuesto. No utilice espacios ni símbolos especiales en el nombre. La longitud máxima del nombre es de 14 caracteres.

Value Table
in_field_map

Asignación de los campos de entrada utilizada por cada localizador participante para los campos de entrada del localizador de direcciones compuesto.

Para cada campo de entrada del localizador, formatee la información del campo como en esta cadena de ejemplo: "Address 'Address or Intersection' true true false 4 Text 0 0 ,First,'#',Street". La información de esta cadena se compone de lo siguiente:

  • Nombre de campo nuevo (Address): nuevo nombre del campo localizador para el localizador compuesto.

    Un localizador del compuesto puede tener un campo Address y el otro localizador puede tener un campo Street Address. Puede designar el nuevo campo del localizador compuesto Address, que hace referencia a los dos campos localizadores originales.

  • Alias para el nuevo nombre de campo ('Address or Intersection'): alias del nuevo nombre del campo localizador para el localizador compuesto.

    Para un localizador compuesto con el nuevo nombre de campo Address, puede designar un alias de 'Address or Intersection' para el campo.

  • isEditable (true): especifica si el nuevo campo de localizador compuesto es editable. Las opciones son true o false.
  • Permitir valores nulos (true): especifica si el nuevo campo de localizador compuesto admite valores nulos. Las opciones son true o false.
  • Obligatorio (false): especifica si el nuevo campo de localizador compuesto es obligatorio. Las opciones son true o false.
  • Longitud (4): longitud del nuevo campo de localizador compuesto.
  • Tipo (Text): tipo de datos para el nuevo campo de localizador compuesto. El valor debe ser siempre Text para un localizador.
  • Escala (0): escala del nuevo campo de localizador compuesto. Puede utilizarse cualquier valor entre 1 y 100. Este valor no se aplica a los localizadores, pero debe utilizarse un valor válido.
  • Precisión (0): precisión del nuevo campo de localizador compuesto. Puede utilizarse cualquier valor entre 1 y 100. Este valor no se aplica a los localizadores, pero debe utilizarse un valor válido.
  • Regla de fusión (First): regla de fusión para el nuevo campo de localizador compuesto. Se puede utilizar cualquier valor de regla de fusión. Este valor no se aplica a los localizadores, pero debe utilizarse un valor válido.
  • Delimitador ('#'): delimitador para el nuevo campo de localizador compuesto. Se puede utilizar cualquier delimitador compatible.
  • Nombre de campo del localizador original (Street): nombre del campo de localizador en el localizador participante original.
Field Mappings
in_selection_criteria
[[in_address_locator, selection_criteria],...]
(Opcional)

Criterios de selección para cada localizador participante. Solo se admite un criterio de selección para cada localizador participante.

El uso de criterios de selección descalificará a los localizadores participantes que no cumplan los criterios para una dirección o lugar concretos, de modo que el proceso de geocodificación sea más eficaz. Consulte Principios básicos de combinar varios localizadores en un localizador compuesto para obtener más información sobre el uso de criterios de selección en el proceso de geocodificación.

Value Table
out_composite_address_locator

Localizador de direcciones compuesto que se va a crear. ArcGIS AllSource solo permite guardar direcciones en un a carpeta de archivos.

Address Locator
in_result_ordering
(Opcional)

Especifica el orden de reserva de los localizadores participantes a los que se pueden asociar las direcciones para aumentar la probabilidad de encontrar la mejor concordancia al geocodificar.

  • Use locator order: los localizadores participantes aparecerán en el orden en que se agregaron y siguen el orden de reserva descrito en Combinar varios localizadores en un localizador compuesto. Esta es la opción predeterminada.
    • La sintaxis correcta es una cadena de caracteres delimitada por comas de nombres de localizador.
    • Para un localizador compuesto que contenga dos localizadores (Atlanta.loc y Memphis.loc, por ejemplo), la sintaxis debe ser "Atlanta, Memphis".
  • Order by role and score: los roles individuales de los localizadores participantes se agruparán y ordenarán de más a menos precisos. Los resultados se mostrarán primero para los roles más precisos, seguidos de los menos precisos y, para los resultados que se muestren para diferentes localizadores con el mismo rol, los resultados se mostrarán en función de la puntuación. Se recomienda utilizar esta opción si tiene un localizador multirrol y varios localizadores de rol único o si tiene más de un localizador multirrol. Esto ordena automáticamente los localizadores y roles en un orden de reserva óptimo y recomendado.
    • La sintaxis es una cadena delimitada por comas de agrupaciones de roles estructurada de este modo: [LocatorRole1](LocatorName1.LocatorRole1, LocatorName2.LocatorRole1).
    • Para un localizador compuesto que contenga dos localizadores multirrol (Atlanta.loc y Memphis.loc, por ejemplo), cada uno con un rol PointAddress y un rol StreetAddress, la sintaxis debe ser "[PointAddress](Atlanta.PointAddress, Memphis.PointAddress),[StreetAddress](Memphis.StreetAddress,Atlanta.StreetAddress)".
    • Los roles deben ordenarse de más precisos a menos precisos.
  • Custom order: se utilizará un orden de reserva personalizable para los localizadores participantes que permite insertar localizadores entre los roles de un localizador multirrol.
    • La sintaxis es una cadena delimitada por comas de nombres de localizadores y roles estructurada así: LocatorName.LocatorRole.
    • Para un localizador compuesto que contenga dos localizadores multirrol (Atlanta.loc y Memphis.loc, por ejemplo), cada uno con un rol PointAddress y un rol StreetAddress, la sintaxis debe ser "Atlanta.StreetAddress,Memphis.PointAddress,Memphis.StreetAddres,Atlanta.PointAddress".
    • Los localizadores y los roles pueden colocarse en cualquier orden, pero colocar roles menos precisos antes de roles más precisos puede dar lugar a comportamientos inesperados.

Para generar la sintaxis correcta de Python, ejecute primero el rol desde el panel Geoprocesamiento. Luego abra el menú Ejecutar y seleccione Copiar comando de Python.

String

Muestra de código

Ejemplo de CreateCompositeAddressLocator (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función CreateCompositeAddressLocator en el modo intermedio.

# Create a composite address locator using the StreetMap US Streets and Tutorial Atlanta locators.

# Import system modules
import arcpy 

arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta/"

# Set local variables:
US_Streets_locator = "C:/dm_stmap_dvd/streetmap_na/data/Street_Addresses_US"
Atlanta_locator = Atlanta
Atlanta_Composite = US_Atlanta_Composite

# Field mapping
address_field_map = "Address 'Street or Intersection' true true false 100 Text 0 0 ,First,#,Atlanta_locator,Address,0,0,US_Streets_locator,Street;"
city_field_map = "City 'City or Placename' true true false 40 Text 0 0 ,First,#,Atlanta_locator,City,0,0,US_Streets_locator,City;"
state_field_map = "State 'State' true true false 20 Text 0 0 ,First,#,Atlanta_locator,State,0,0,US_Streets_locator,State;"
zip_field_map = "Zip 'Zipcode' true true false 10 Text 0 0 ,First,#,Atlanta_locator,Zip,0,0,US_Streets_locator,ZIP"

composite_locator_field_map = address_field_map + city_field_map + state_field_map + zip_field_map

arcpy.geocoding.CreateCompositeAddressLocator("Atlanta_locator Atlanta;US_Streets_locator US_Streets", composite_loactor_field_map,"Atlanta '\"City\" = 'Atlanta'';US_Streets #",Atlanta_Composite)