Crear localizador (Geocodificación)

Resumen

Crea un localizador que puede encontrar la ubicación de una dirección o un lugar, convertir una tabla de direcciones o lugares en una colección de entidades de puntos o identificar la dirección de una ubicación de puntos.

Nota:

Los localizadores creados con esta herramienta se pueden utilizar en ArcGIS Pro 2.2 o versiones posteriores, Enterprise 10.6.1 o versiones posteriores y como un servicio de localizador en ArcMap. Es posible que no se admitan todas las funciones de localizador en versiones anteriores a Enterprise 10.7. Se aplicará según se agregue como función adicional a versiones más recientes del software. Los localizadores creados con esta herramienta no se pueden utilizar como un localizador local en ArcMap.

Uso

  • El rol del localizador define el tipo de datos que se utilizan (parcela, línea central de calle, postal, punto de interés, etc.) y proporciona los campos apropiados para crear el localizador y la información devuelta en los resultados de la geocodificación. Solo se enumerarán los roles admitidos por el valor País o región seleccionado junto con los campos de rol de localizador correspondientes.

    Nota:

    • Solo se puede utilizar una tabla principal por rol al crear un localizador con esta herramienta.
    • El rol de localizador Punto de interés (POI) sustituye a la tabla de alias de nombres de lugares, pero requiere una clase de entidad poligonal o de punto de topónimos junto con la dirección asociada en la tabla de atributos.

  • Los roles del localizador principal proporcionados con ArcGIS Pro permiten crear los siguientes tipos de localizadores comunes:

    • PointAddress: dirección de una calle basada en puntos que representan ubicaciones de casas y edificios. Incluye Subaddress, que se basa en puntos que representan ubicaciones de subdirecciones de casas y edificios, como suites, pisos o apartamentos.
    • Parcela: una dirección o nombre de parcela basadas en puntos o polígonos que representan una parcela de tierra que se considera un bien inmueble y puede incluir una o varias viviendas u otras estructuras que suelen tener una dirección y número de identificación de parcela asignados a ella, como 17 011100120063.
    • StreetAddress: dirección de una calle basada en calles donde el número de la casa se interpola de un rango de números. Incluye las intersecciones, el nombre de la calle, los bloques de calles y la extensión de la calle.
    • Punto de interés: divisiones administrativas, nombres de lugares, negocios, hitos y entidades geográficas, por ejemplo, Starbucks.
    • DistanceMarker: dirección de calle que representa la distancia lineal a lo largo de una calle, normalmente en kilómetros o millas, desde una ubicación de origen designada.
    • DistanceRange: tipo de marcador de distancia que representa valores de distancia interpolados a lo largo de la línea de centro de calle en función de las entidades de línea.
    • Postal: códigos postales, códigos postales con extensiones y localidades postales donde se deben usar datos de referencia de polígonos para obtener resultados de geocodificación inversa óptimos.
    • Localities: zonas o áreas administrativas como ciudades, vecindarios, estados, etc., donde se deben usar datos de referencia de polígonos para obtener resultados de geocodificación inversa óptimos.

  • Esta herramienta se puede utilizar para crear un localizador multirrol. El localizador multirrol permite combinar varios roles y capas de datos de referencia en un solo localizador para buscar varios tipos de ubicaciones a la vez. Si tiene varias capas del mismo tipo de geometría que se pueden asignar al mismo rol, es mejor fusionar las capas en una sola capa y utilizar la capa fusionada como datos de referencia primarios para el rol correspondiente.

    Más información sobre la combinación de varios roles en un solo localizador

  • Los localizadores creados con esta herramienta admiten búsquedas globales de coordenadas (latitud/longitud, MGRS, DD o USNG). Se debe incluir al menos una entidad en los datos de referencia primarios utilizados para crear el localizador. La compatibilidad con la búsqueda de coordenadas se deshabilita o habilita en Categorías que se admitirán, en la página Opciones de geocodificación del cuadro de diálogo Propiedades del localizador del localizador.

  • Se pueden especificar y agregar al localizador campos adicionales de los datos de referencia como campos de salida personalizados cuando se crea el localizador. Estos campos se utilizan para proporcionar información adicional sobre los candidatos del resultado de la geocodificación. Por ejemplo, si desea saber a qué bloque censal o distrito de bomberos está asociada una dirección, puede geocodificar las direcciones y unir espacialmente los atributos del bloque censal o distrito de bomberos al resultado de la geocodificación. Al unir espacialmente los atributos de las capas con la información adicional a los datos de referencia utilizados para crear el localizador, puede especificar los campos unidos como campos de salida personalizados definidos por el usuario al crear el localizador. El resultado de la geocodificación incluirá los campos de salida personalizados y sus valores.

  • Las tablas y clases de entidad representadas como servicios son tipos de datos compatibles para usarlos como datos de referencia primarios y tablas de nombre alternativo.

  • Las tablas de nombres alternativos se pueden usar para todas los roles de localizador admitidos y se admiten nombres alternativos para las entidades de los datos de referencia primarios.

    Más información sobre las tablas de nombres alternativos

  • La salida de esta herramienta se puede usar como entrada de la herramienta Crear localizador de direcciones compuesto.

  • Para generar la sintaxis de Python correcta, ejecute primero la herramienta desde el panel Geoprocesamiento con las opciones de parámetros apropiadas. A continuación, abra el menú Ejecutar y elija la opción Copiar comando de Python.

  • Puede crear localizadores utilizando clases de entidad de puntos sensibles a valores z como datos de referencia primarios. Las entidades sensibles a valores z deben crearse en una elevación absoluta para que los resultados de la geocodificación se muestren en la elevación esperada en el mapa.

Parámetros

EtiquetaExplicaciónTipo de datos
País o región

Especifica dónde se aplicará la lógica de geocodificación específica del país a los datos de referencia para el localizador.

El valor predeterminado es la configuración regional del sistema operativo. Se puede especificar utilizando <Como se define en los datos> en la lista y asignando uno de los valores de los datos de la asignación de campos o se puede aplicar a todo el dataset especificando un país de la lista.

Proporciona una plantilla de país que contiene los nombres de campo previstos que se muestran en el valor del parámetro Asignación de campos para el país especificado del localizador que se va a crear.

  • <Como se define en los datos>Valor de código de país de tres caracteres definido en los datos de referencia de cada entidad
  • Samoa AmericanaSamoa Americana
  • AustraliaAustralia
  • AustriaAustria
  • BélgicaBélgica
  • CanadáCanadá
  • SuizaSuiza
  • República ChecaRepública Checa
  • AlemaniaAlemania
  • EspañaEspaña
  • EstoniaEstonia
  • FranciaFrancia
  • Gran BretañaGran Bretaña
  • GuamGuam
  • IsraelIsrael
  • ItaliaItalia
  • JapónJapón
  • Corea del SurCorea del Sur
  • LituaniaLituania
  • LetoniaLetonia
  • Islas Marianas del NorteIslas Marianas del Norte
  • Países BajosPaíses Bajos
  • Puerto RicoPuerto Rico
  • SueciaSuecia
  • Islas Vírgenes de los EE. UU.Islas Vírgenes de los EE. UU.
  • Estados UnidosEstados Unidos
  • Islas Ultramarinas Menores de los Estados UnidosIslas Ultramarinas Menores de los Estados Unidos
  • SudáfricaSudáfrica
String
Tablas principales

Las clases de entidad de datos de referencia y sus roles, que se utilizan para crear el localizador. Solo se puede utilizar una tabla principal por rol.

Las clases de entidad representadas como servicios son tipos de datos compatibles para usarlos como datos de referencia primarios.

Precaución:

Cuando se define una consulta de definición para los datos de referencia primarios o existen entidades seleccionadas, solo se incluirán las entidades consultadas y seleccionadas cuando se crea el localizador.

Nota:

Al crear un localizador con datos de referencia que contienen millones de entidades, debe disponer al menos de 3 a 4 veces el tamaño de los datos en espacio libre en disco en la unidad que contiene el directorio temporal, ya que los archivos utilizados para construir el localizador se escriben en esta ubicación antes de que el localizador se copie en la ubicación de salida. Si no se dispone de suficiente espacio en disco, la herramienta fallará cuando se quede sin espacio. Además, al crear localizadores grandes, su equipo debe tener RAM suficiente para manejar grandes procesos que requieren mucha memoria.

Value Table
Asignación de campos

La asignación de los campos del dataset de referencia primario a los campos admitidos por el rol del localizador. Los campos con un asterisco (*) al lado del nombre son obligatorios por el rol del localizador. Asigne los campos relevantes para cada tabla en el parámetro Tablas principales.

Nota:

Si utiliza una tabla de nombres alternativos, asigne un Id. de unión en el valor del parámetro Tablas principales.

Para agregar campos de salida personalizados, especifique el nombre de los campos en el parámetro Campos de salida personalizados. Los nuevos campos se agregan al valor del parámetro Asignación de campos. A continuación, se pueden seleccionar los campos del valor del parámetro Tablas principales que contienen los valores adicionales a incluir en la salida de geocodificación.

String
Localizador de salida

El archivo del localizador de direcciones de salida.

Address Locator
Código de idioma

Especifica dónde se aplicará la lógica de geocodificación específica del idioma a los datos de referencia para el localizador.

Si existe un campo de código de idioma en los datos de referencia primarios, proporcionar un código de idioma puede mejorar los resultados de la geocodificación.

Se puede especificar utilizando <Como se define en los datos> en la lista y asignando uno de los valores de los datos de referencia primarios de la asignación de campos o se puede aplicar a todo el dataset especificando un idioma de la lista.

  • <Como se define en los datos>Se utilizará el valor de código de idioma de tres caracteres definido en los datos de referencia de cada entidad.
  • VascoVasco
  • CatalánCatalán
  • ChecoCheco
  • NeerlandésNeerlandés
  • EnglishEnglish
  • EstonioEstonio
  • FrancésFrancés
  • AlemánAlemán
  • GallegoGallego
  • HebreoHebreo
  • ItalianoItaliano
  • JaponésJaponés
  • CoreanoCoreano
  • LetónLetón
  • LituanoLituano
  • EspañolEspañol
  • SuecoSueco
String
Tablas de nombres alternativos
(Opcional)

Las tablas que contienen los nombres alternativos para las entidades en las tablas de roles principales.

Las tablas representadas como servicios son tipos de datos compatibles para usarlos como tablas de nombre alternativo.

Precaución:

Cuando se define una consulta de definición para la tabla de nombre alternativo o existen registros seleccionados, solo se incluyen los registros consultados y seleccionados al crear el localizador.

Value Table
Asignación de campos de datos alternativos
(Opcional)

La asignación de los campos de la tabla de nombres alternativos a los campos de datos alternativos admitidos por el rol del localizador. Los campos con un asterisco (*) al lado del nombre son obligatorios por el rol del localizador. Asigne los campos relevantes para cada tabla desde el valor del parámetro Tablas de nombres alternativos.

Nota:

Si los datos están normalizados y la tabla principal no contiene valores de nombre de ciudad, pero sí la tabla de nombres alternativos, el campo Primary Name Indicator se puede asignar a un campo de la tabla de nombres alternativos que contenga un valor que indique si el registro es el campo principal (por ejemplo, verdadero/falso o Sí/No). Si este campo no está asignado, el primer registro de la tabla de nombres alternativos se utiliza como el valor principal.

String
Campos de salida personalizados
(Opcional)

Añade campos de salida definidos por el usuario al localizador. Los valores especificados para este parámetro definen los nombres de los campos de salida personalizados que se devuelven en el resultado de geocodificación; sin embargo, cada nuevo campo debe asignarse a un campo en los datos de referencia. Este nuevo campo de salida se aplica a todos los roles usados en el localizador. Si el rol del localizador tiene lado izquierdo y derecho, se incorporan _left y _right al final del nombre del campo. El número máximo permitido de campos admitido en el localizador es 50.

Realice lo siguiente para agregar campos de salida personalizados al localizador para usarlos en el resultado de geocodificación:

  • Escriba los nombres de los campos de salida personalizados. Los nombres de los campos de salida personalizados se agregan a la asignación de campos.
  • Seleccione el campo de los datos de referencia que contenga los valores adicionales que desea incluir en la salida de geocodificación.
String
Tipo de precisión
(Opcional)

Especifica la precisión del localizador.

  • Global extraaltaLa precisión es de aproximadamente 1 centímetro, cifra coherente a escala mundial.
  • Global altaLa precisión es de aproximadamente 0,5 metros, que es consistente globalmente. Esta es la opción predeterminada.
  • Local extraaltaSe utiliza mayor precisión para las áreas locales.
Nota:

Los localizadores creados con precisión Global extraalta o Local extraalta se pueden usar en ArcGIS Pro 2.6 o posteriores y en Enterprise 10.8.1 o posteriores.

String

arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, out_locator, language_code, {alternatename_tables}, {alternate_field_mapping}, {custom_output_fields}, {precision_type})
NombreExplicaciónTipo de datos
country_code

Especifica dónde se aplicará la lógica de geocodificación específica del país a los datos de referencia para el localizador.

Se puede especificar mediante AS_DEFINED_IN_DATA y se puede asignar un valor desde primary_reference_data en field_mapping, o se puede aplicar a todo el dataset especificando el nombre del código de país de tres caracteres, por ejemplo: USA para Estados Unidos de América, CAN para Canadá o PRI para Puerto Rico.

Proporciona una plantilla de país que contiene los nombres de campo previstos que estén disponibles mediante el parámetro field_mapping para el país especificado del localizador que se va a crear.

  • AS_DEFINED_IN_DATASe utilizará el valor de código de país de tres caracteres definido en los datos de referencia de cada entidad.
  • ASMSamoa Americana
  • AUSAustralia
  • AUTAustria
  • BELBélgica
  • CANCanadá
  • CHESuiza
  • CZERepública Checa
  • DEUAlemania
  • ESPEspaña
  • ESTEstonia
  • FRAFrancia
  • GBRGran Bretaña
  • GUMGuam
  • ISRIsrael
  • ITAItalia
  • JPNJapón
  • KORCorea del Sur
  • LTULituania
  • LVALetonia
  • MNPIslas Marianas del Norte
  • NLDPaíses Bajos
  • PRIPuerto Rico
  • SWESuecia
  • VIRIslas Vírgenes de los EE. UU.
  • USAEstados Unidos
  • UMIIslas Ultramarinas Menores de los Estados Unidos
  • ZAFSudáfrica
String
primary_reference_data
[[reference_data, {role}],...]

Las clases de entidad de datos de referencia y sus roles, que se utilizan para crear el localizador. Solo se puede utilizar una tabla principal por rol.

Las clases de entidad representadas como servicios son tipos de datos compatibles para usarlos como datos de referencia primarios.

Precaución:

Cuando se define una consulta de definición para los datos de referencia primarios o existen entidades seleccionadas, solo se incluirán las entidades consultadas y seleccionadas cuando se crea el localizador.

Nota:

Al crear un localizador con datos de referencia que contienen millones de entidades, debe disponer al menos de 3 a 4 veces el tamaño de los datos en espacio libre en disco en la unidad que contiene el directorio temporal, ya que los archivos utilizados para construir el localizador se escriben en esta ubicación antes de que el localizador se copie en la ubicación de salida. Si no se dispone de suficiente espacio en disco, la herramienta fallará cuando se quede sin espacio. Además, al crear localizadores grandes, su equipo debe tener RAM suficiente para manejar grandes procesos que requieren mucha memoria.

Value Table
field_mapping
[field_mapping,...]

La asignación de los campos del dataset de referencia primario a los campos admitidos por el rol del localizador. Cada asignación de campos de este parámetro está en el siguiente formato, donde <role name> es el nombre del localizador, <locator role field name> es el nombre del campo que admite el nombre del localizador, <primary data> es el nombre de los datos que se utilizan en el parámetro primary_reference_data y <primary data field name> es el nombre del campo del dataset de referencia primario.

Lo que sigue es un ejemplo de field_mapping primario.

# <role name>.<locator role field name> <primary data>.<primary data field name>

# This shows an example:
primary_reference_data_field_map =
["StreetAddress.HOUSE_NUMBER_FROM_LEFT 'streets'.L_F_ADD",\
"StreetAddress.HOUSE_NUMBER_TO_LEFT 'streets'.L_T_ADD",\
"StreetAddress.HOUSE_NUMBER_FROM_RIGHT 'streets'.R_F_ADD",\
"StreetAddress.HOUSE_NUMBER_TO_RIGHT 'streets'.R_T_ADD",\
"StreetAddress.STREET_PREFIX_DIR 'streets'.PREFIX",\
"StreetAddress.STREET_PREFIX_TYPE 'streets'.PRE_TYPE",\
"StreetAddress.STREET_NAME 'streets'.NAME",\
"StreetAddress.STREET_SUFFIX_TYPE 'streets'.TYPE",\
"StreetAddress.STREET_SUFFIX_DIR 'streets'.SUFFIX",\
"StreetAddress.CITY_LEFT 'streets'.CITYL",\
"StreetAddress.CITY_RIGHT 'streets'.CITYR",\
"StreetAddress.REGION_LEFT 'streets'.STATE_ABBR",\
"StreetAddress.REGION_RIGHT 'streets'.STATE_ABBR",\
"StreetAddress.POSTAL_LEFT 'streets'.ZIPL",\
"StreetAddress.POSTAL_RIGHT 'streets'.ZIPR"]

Asigne los campos relevantes para cada tabla en el parámetro primary_reference_data. Si no asigna un campo de datos de referencia opcional que utiliza el rol del localizador a un campo de un dataset de referencia, no es necesario especificar que no hay ninguna asignación usando <None> en lugar de un nombre de campo.

Para determinar el valor de <locator role field name> para el campo de datos de referencia utilizado por el rol del localizador, abra la herramienta Crear localizador en ArcGIS Pro y elija el rol del localizador. El nombre que aparece en la columna Nombre de campo del parámetro Asignación de campos es el nombre de campo del rol del campo.

Nota:

Si utiliza una tabla de nombres alternativos, asigne un Id. de unión en el valor del parámetro primary_reference_data.

Para agregar campos de salida personalizados, los nombres de los campos se deben definir tanto en el parámetro custom_output_fields como en el parámetro field_mapping. El parámetro field_mapping utilizará el formato '<locator role field name> <primary data field name>', donde <locator role field name> se define como 'RoleName.CustomFieldName' y <primary data field name> es el nombre del campo del dataset de referencia primario como se muestra en los campos asignados del ejemplo anterior. Si se agrega un campo personalizado a un rol de Dirección de calle, es necesario asignar 'StreetAddress.CustomFieldName_Left' y 'StreetAddress.CustomFieldName_Right' para cada lado de la calle.

String
out_locator

El archivo del localizador de direcciones de salida.

Address Locator
language_code

Especifica dónde se aplicará la lógica de geocodificación específica del idioma a los datos de referencia para el localizador.

Si existe un campo de código de idioma en los datos de referencia primarios, proporcionar un código de idioma puede mejorar los resultados de la geocodificación.

Se puede especificar configurando AS_DEFINED_IN_DATA como el valor de language_code y asignando un valor de primary_reference_data en field_mapping o puede aplicarse a todo el dataset especificando un idioma mediante el código de idioma de 3 caracteres que representa el idioma de la dirección, como ENG para inglés.

  • AS_DEFINED_IN_DATASe utilizará el valor de código de idioma de tres caracteres definido en los datos de referencia de cada entidad.
  • BAQVasco
  • CATCatalán
  • CZECheco
  • DUTNeerlandés
  • ENGEnglish
  • ESTEstonio
  • FREFrancés
  • GERAlemán
  • GLGGallego
  • HEBHebreo
  • ITAItaliano
  • JPNJaponés
  • KORCoreano
  • LITLituano
  • LAVLetón
  • SPAEspañol
  • SWESueco
String
alternatename_tables
[alternatename_tables,...]
(Opcional)

Las tablas que contienen los nombres alternativos para las entidades en las tablas de roles principales.

Las tablas representadas como servicios son tipos de datos compatibles para usarlos como tablas de nombre alternativo.

Precaución:

Cuando se define una consulta de definición para la tabla de nombre alternativo o existen registros seleccionados, solo se incluyen los registros consultados y seleccionados al crear el localizador.

Value Table
alternate_field_mapping
[alternate_field_mapping,...]
(Opcional)

Asigna campos de la tabla de nombres alternativos a los campos de datos alternativos admitidos por el rol del localizador. Cada asignación de campos debe utilizar el siguiente formato, donde <alternate name table role> es el nombre del rol de tabla de nombres alternativos, <locator role alternate field name> es el nombre de los campos de datos alternativos que admite el rol de localizador de la tabla de nombres alternativos, <alternate data table> es el nombre de la tabla de nombres alternativos y <alternate data table field name> es el nombre del campo en la tabla de nombres alternativos. Asigne los campos relevantes para cada tabla en alternatename_tables.

El siguiente es un ejemplo de alternate_field_mapping para alternatename_tables.

# <alternate name table role>.<locator role alternate field name> <alternate data table>.<alternate data table field name>

# This shows an example:
alternate_data__table_field_map =
["AlternateStreetName.STREET_NAME_JOIN_ID 'altname'.JOINID",\
"AlternateStreetName.STREET_PREFIX_DIR 'altname'.PRE_DIR",\
"AlternateStreetName.STREET_PREFIX_TYPE 'altname'.PRE_TYPE",\
"AlternateStreetName.STREET_NAME 'altname'.ST_NAME",\
"AlternateStreetName.STREET_SUFFIX_TYPE 'altname'.ST_TYPE",\
"AlternateStreetName.STREET_SUFFIX_DIR 'altname'.SUF_DIR"]
Nota:

Si los datos están normalizados y la tabla principal no contiene valores de nombre de ciudad, pero sí la tabla de nombres alternativos, el campo Primary Name Indicator se puede asignar a un campo de la tabla de nombres alternativos que contenga un valor que indique si el registro es el campo principal (por ejemplo, verdadero/falso o Sí/No). Si este campo no está asignado, el primer registro de la tabla de nombres alternativos se utiliza como el valor principal.

String
custom_output_fields
[custom_output_fields,...]
(Opcional)

Añade campos de salida definidos por el usuario al localizador. Los valores especificados para este parámetro definen los nombres de los campos de salida personalizados que se devuelven en el resultado de geocodificación; sin embargo, cada nuevo campo debe asignarse a un campo en los datos de referencia. Este nuevo campo de salida se aplica a todos los roles usados en el localizador. Si el rol del localizador tiene lado izquierdo y derecho, se incorporan _left y _right al final del nombre del campo. El número máximo permitido de campos admitido en el localizador es 50.

Nota:

Primero se deben incluir los nombres de los campos de salida personalizados en el parámetro field_mapping y, a continuación, se deben enumerar los nombres en el parámetro custom_output_fields.

String
precision_type
(Opcional)

Especifica la precisión del localizador.

Nota:

Los localizadores creados con precisión GLOBAL_EXTRA_HIGH o LOCAL_EXTRA_HIGH se pueden usar en ArcGIS Pro 2.6 o posteriores y en Enterprise 10.8.1 o posteriores.

  • GLOBAL_EXTRA_HIGHLa precisión es de aproximadamente 1 centímetro, que es consistente globalmente.
  • GLOBAL_HIGHLa precisión es de aproximadamente 0,5 metros, que es consistente globalmente. Esta es la opción predeterminada.
  • LOCAL_EXTRA_HIGHSe utiliza mayor precisión para las áreas locales.
String

Muestra de código

Ejemplo 1 de CreateLocator (script independiente)

La siguiente secuencia de comandos Pythonindependiente muestra cómo utilizar la función CreateLocator en una secuencia de comandos independiente.

# Description: Create a POI locator using a feature class in a file geodatabase 
#              that contains points of interest for Arts & Entertainment 
#              locations as reference data, where country_code and language_code 
#              are defined in the data. The new locator will be created in a 
#              file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data/RhodeIsland"

# Set local variables:
primary_reference_data = "RI_Arts_POI POI"
field_mapping = ["POI.PLACE_NAME 'RI_Arts_POI'.PLACE_NAME",\
               "POI.CATEGORY 'RI_Arts_POI'.CATEGORY",\
               "POI.SUBCATEGORY 'RI_Arts_POI'.SUBCATEGORY",\
               "POI.HOUSE_NUMBER 'RI_Arts_POI'.HOUSE_NUMB",\
               "POI.STREET_NAME 'RI_Arts_POI'.STREET_NAME",\
               "POI.NEIGHBORHOOD 'RI_Arts_POI'.NEIGHBORHOOD",\
               "POI.CITY 'RI_Arts_POI'.CITY_NAME",\
               "POI.SUBREGION 'RI_Arts_POI'.SUBREGION",\
               "POI.REGION 'RI_Arts_POI'.REGION_NAME",\
               "POI.POSTAL 'RI_Arts_POI'.POSTAL_CODE",\
               "POI.COUNTRY_CODE 'RI_Arts_POI'.COUNTRY_CODE",\
               "POI.LANG_CODE 'RI_Arts_POI'.LANGUAGE_CODE",\
               "POI.RANK 'RI_Arts_POI'.RANK"]
out_locator = "Arts_Entertainment_POIs"

# Run CreateLocator
arcpy.geocoding.CreateLocator("AS_DEFINED_IN_DATA", primary_reference_data, field_mapping, 
                              out_locator, "AS_DEFINED_IN_DATA")
Ejemplo 2 de CreateLocator (script independiente)

La siguiente secuencia de comandos Pythonindependiente muestra cómo utilizar la función CreateLocator en una secuencia de comandos independiente.

# Description: Create a POI locator using a shapefile that contains points 
#              of interest for airport locations as reference data. The new 
#              locator will be created in a file folder.

# Import system modules
import arcpy

# Set local variables:
country_code="USA"
primary_reference_data=r"C:\Data\airports.shp POI"
field_mapping=["POI.PLACE_NAME 'airports.shp'.name",\
               "POI.CATEGORY 'airports.shp'.type",\
               "POI.REGION 'airports.shp'.iso_region",\
               "POI.ZONE 'airports.shp'.iso_country"]
out_locator=r"C:\Data\Airports_Locator"
language_code="ENG"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              out_locator, language_code)
Ejemplo 3 de CreateLocator (ventana de Python)

El siguiente script de Python muestra cómo utilizar la función CreateLocator en el modo inmediato.

# Description: Create a StreetAddress locator using a street centerline feature 
#              class in a file geodatabase as reference data, where multiple 
#              custom_output_fields are added to the locator for use in the 
#              geocode result. country_code and language_code are specified and 
#              will be applied to the entire reference dataset. The new locator 
#              will be created in a file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data/Denver"

# Set local variables
country_code = "USA"
primary_reference_data = "Street_Centerline StreetAddress"
field_mapping = ["StreetAddress.HOUSE_NUMBER_FROM_LEFT 'Street_Centerline'.L_F_ADD",\
                "StreetAddress.HOUSE_NUMBER_TO_LEFT 'Street_Centerline'.L_T_ADD",\
                "StreetAddress.HOUSE_NUMBER_FROM_RIGHT 'Street_Centerline'.R_F_ADD",\
                "StreetAddress.HOUSE_NUMBER_TO_RIGHT 'Street_Centerline'.R_T_ADD",\
                "StreetAddress.STREET_PREFIX_DIR 'Street_Centerline'.PREFIX",\
                "StreetAddress.STREET_PREFIX_TYPE 'Street_Centerline'.TYPE",\
                "StreetAddress.STREET_NAME 'Street_Centerline'.NAME",\
                "StreetAddress.STREET_SUFFIX_TYPE 'Street_Centerline'.TYPE",\
                "StreetAddress.STREET_SUFFIX_DIR 'Street_Centerline'.SUFFIX",\
                "StreetAddress.POSTAL_LEFT 'Street_Centerline'.ZIPLEFT",\
                "StreetAddress.POSTAL_RIGHT 'Street_Centerline'.ZIPRIGHT",\
                "StreetAddress.CustomField1_left 'Street_Centerline'.LEFTFIRE",\
                "StreetAddress.CustomField1_right 'Street_Centerline'.RTFIRE",\
                "StreetAddress.CustomField2_left 'Street_Centerline'.LEFTEMS",\
                "StreetAddress.CustomField2_right 'Street_Centerline'.RTEMS"]
out_locator = "DenverStreetsCustomFieldsLocator"
language_code = "ENG"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              language_code, None, None, "CustomField1;CustomField2")
Ejemplo 4 de CreateLocator (ventana de Python)

El siguiente script de Python muestra cómo utilizar la función CreateLocator en el modo inmediato.

# Create a StreetAddress locator using a street centerline feature class and an alternate
# name table, for alternate street names, in a file geodatabase as reference data.
# The new locator will be created in a file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/ArcTutor/Geocoding/Atlanta"

# Set local variables
primary_reference_data = "streets StreetAddress"
field_mapping = ["StreetAddress.STREET_NAME_JOIN_ID 'streets'.STREETID",\
                "StreetAddress.HOUSE_NUMBER_FROM_LEFT 'streets'.L_F_ADD",\
                "StreetAddress.HOUSE_NUMBER_TO_LEFT 'streets'.L_T_ADD",\
                "StreetAddress.HOUSE_NUMBER_FROM_RIGHT 'streets'.R_F_ADD",\
                "StreetAddress.HOUSE_NUMBER_TO_RIGHT 'streets'.R_T_ADD",\
                "StreetAddress.STREET_PREFIX_DIR 'streets'.PREFIX",\
                "StreetAddress.STREET_PREFIX_TYPE 'streets'.PRE_TYPE",\
                "StreetAddress.STREET_NAME 'streets'.NAME",\
                "StreetAddress.STREET_SUFFIX_TYPE 'streets'.TYPE",\
                "StreetAddress.STREET_SUFFIX_DIR 'streets'.SUFFIX",\
                "StreetAddress.CITY_LEFT 'streets'.CITYL",\
                "StreetAddress.CITY_RIGHT 'streets'.CITYR",\
                "StreetAddress.REGION_LEFT 'streets'.STATE_ABBR",\
                "StreetAddress.REGION_RIGHT 'streets'.STATE_ABBR",\
                "StreetAddress.POSTAL_LEFT 'streets'.ZIPL",\
                "StreetAddress.POSTAL_RIGHT 'streets'.ZIPR"]
alternatename_tables = "altname AlternateStreetName"
alternate_field_mapping = ["AlternateStreetName.STREET_NAME_JOIN_ID 'altname'.STREETID",\
                          "AlternateStreetName.STREET_PREFIX_DIR 'altname'.PRE_DIR",\
                          "AlternateStreetName.STREET_PREFIX_TYPE 'altname'.PRE_TYPE",\
                          "AlternateStreetName.STREET_NAME 'altname'.ST_NAME",\
                          "AlternateStreetName.STREET_SUFFIX_TYPE 'altname'.ST_TYPE",\
                          "AlternateStreetName.STREET_SUFFIX_DIR 'altname'.SUF_DIR",\
                          "AlternateStreetName.PRIMARY_NAME_INDICATOR 'altname'.PRIMARY"]
out_locator = "AtlantaAlternateStreetsLocator"

# Run CreateLocator
arcpy.geocoding.CreateLocator("USA", primary_reference_data, field_mapping, 
                              out_locator, "ENG", alternatename_tables, 
                              alternate_field_mapping)
Ejemplo 5 de CreateLocator (script independiente)

El siguiente script de Python muestra cómo utilizar la función CreateLocator en el modo inmediato.

# Description: Create a multirole locator (PointAddress & StreetAddress) using a hosted
# feature service from ArcGIS Online as reference data.
# country_code and language_code
# are specified and will be applied to the entire reference dataset.
# The new locator will be created in a file folder.

# Import system modules
import arcpy

# Sign in to ArcGIS Online to use feature services as input
arcpy.SignInToPortal("https://www.arcgis.com", "<username>", "<password>")

# Set local variables
country = "USA"
in_table = "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> PointAddress;"\
           "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> StreetAddress"
field_mapping = ["PointAddress.ADDRESS_JOIN_ID '0'.PT_ADDR_ID",\
                "PointAddress.HOUSE_NUMBER '0'.ADDRESS",\
                "PointAddress.STREET_NAME '0'.ST_NAME",\
                "PointAddress.SIDE '0'.SIDE",\
                "PointAddress.CITY '0'.CITY",\
                "PointAddress.REGION '0'.STATE",\
                "StreetAddress.HOUSE_NUMBER_FROM_LEFT '1'.L_F_ADD_INT",\
                "StreetAddress.HOUSE_NUMBER_TO_LEFT '1'.L_T_ADD_INT",\
                "StreetAddress.HOUSE_NUMBER_FROM_RIGHT '1'.R_F_ADD_INT",\
                "StreetAddress.HOUSE_NUMBER_TO_RIGHT '1'.R_T_ADD_INT",\
                "StreetAddress.STREET_PREFIX_DIR '1'.PREFIX",\
                "StreetAddress.STREET_PREFIX_TYPE '1'.PRETYPE",\
                "StreetAddress.STREET_NAME '1'.NAME",\
                "StreetAddress.STREET_SUFFIX_TYPE '1'.TYPE",\
                "StreetAddress.STREET_SUFFIX_DIR '1'.SUFFIX",\
                "StreetAddress.CITY_LEFT '1'.PLACENAME_L",\
                "StreetAddress.CITY_RIGHT '1'.PLACENAME_R",\
                "StreetAddress.REGION_LEFT '1'.STATE",\
                "StreetAddress.REGION_ABBR_LEFT '1'.STATE_L",\
                "StreetAddress.REGION_RIGHT '1'.STATE",\
                "StreetAddress.REGION_ABBR_RIGHT '1'.STATE_R"]
out_locator = r"C:\output\locators\MultiroleFeatureServiceBasedLocator"
language = "ENG"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country, in_table, field_mapping, out_locator, language)

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados