Créer un localisateur (Géocodage)

Synthèse

Permet de créer un localisateur capable de trouver l’emplacement d’une adresse ou d’un lieu, de convertir une table d’adresses ou de lieux en une collection d’entités ponctuelles ou encore d’identifier l’adresse d’un emplacement ponctuel.

Remarque :

Les localisateurs créés avec cet outil peuvent être utilisés dans ArcGIS Pro 2.2 ou une version ultérieure, Enterprise 10.6.1 ou une version ultérieure et en tant que service de localisateur dans ArcMap. Toutes les fonctionnalités de localisateur ne sont peut-être pas prises en charge dans Enterprise, avant la version 10.7. Cela sera désormais le cas, puisque des fonctionnalités supplémentaires sont ajoutées aux versions récentes du logiciel. Les localisateurs créés avec cet outil ne peuvent pas être utilisés en tant que localisateur local dans ArcMap.

Utilisation

  • Le rôle de localisateur définit le type de données utilisées (parcelle, axe médian de la rue, code postal, point d’intérêt, etc.) et fournit les champs à utiliser lors de la génération du localisateur et des informations renvoyées dans les résultats du géocodage. Seuls les rôles pris en charge par la valeur Pays ou région sélectionnée sont affichés avec les champs de rôle de localisateur correspondants.

    Remarque :

    • Une seule table principale par rôle peut être utilisée lors de la création d’un localisateur à l’aide de cet outil.
    • Le rôle de localisateur Point d’intérêt remplace la table d’alias de noms de lieux, mais il nécessite une classe d’entités ponctuelles ou surfaciques de noms de lieux avec l’adresse associée dans la table attributaire.

  • Les rôles de localisateur principaux fournis avec ArcGIS Pro permettent de créer les types de localisateur courants suivants :

    • PointAddress : adresse reposant sur des points qui représentent l’emplacement des maisons et des bâtiments. Elle comporte une sous-adresse basée sur les points représentant les emplacements de sous-adresse des maisons ou des bâtiments, tels que les suites, les étages ou encore les appartements.
    • Parcelle : adresse ou nom de parcelle basé sur des points ou des polygones représentant une parcelle de terrain considérée comme un bien immobilier et qui peut inclure une ou plusieurs maisons ou structures généralement dotées d’une adresse et d’un numéro d’identification de la parcelle, comme 17 011100120063.
    • StreetAddress : adresse basée sur les rues où le numéro de domicile est interpolé à partir d’une plage de numéros. Elle comporte les intersections, les noms, les blocs et les prolongements de rue.
    • Point d’intérêt : divisions administratives, noms de lieux, de commerces, d’entités géographiques et de lieux d’intérêt (exemple : Starbucks).
    • DistanceMarker : adresse qui représente la distance linéaire le long d’une rue, généralement en kilomètres ou en miles, depuis un emplacement d’origine.
    • DistanceRange : type de repère de distance représentant les valeurs de distance interpolées le long de l’axe médian de la rue basé sur des entités.
    • Postal : codes postaux, codes postaux avec extensions et localités postales pour lesquels les données de référence des polygones doivent être utilisées pour renvoyer les meilleurs résultats de géocodage inverse.
    • Localités : zones administratives ou autres telles que les villes, les quartiers, les États, etc. pour lesquelles les données de référence des polygones doivent être utilisées pour renvoyer les meilleurs résultats de géocodage inverse.

  • L’outil Créer un localisateur peut être utilisé pour créer un localisateur multi-rôle. Un localisateur multi-rôle permet de combiner plusieurs couches de données de référence et rôles au sein d’un seul localisateur afin de rechercher plusieurs types d’emplacement simultanément. S’il existe plusieurs couches avec le même type de géométrie qui peuvent être affectées au même rôle, il est conseillé de les fusionner en une seule et d’utiliser celle-ci en tant que données de référence principales pour le rôle correspondant.

    En savoir plus sur la combinaison de plusieurs rôles dans un localisateur unique

  • Les localisateurs créés à l’aide de cet outil prennent en charge les recherches globales de coordonnées (MGRS, DD, UTM, etc.). Les données de référence principales utilisées pour créer le localisateur doivent contenir au moins une entité. La prise en charge de la recherche de coordonnées est activée ou désactivée sous Catégories à prendre en charge dans la page Options de géocodage de la boîte de dialogue Propriétés du localisateur.

  • Les classes d’entités et les tables représentées en tant que services ne sont pas des types de données pris en charge pour une utilisation en tant que données de référence principales et que tables des autres noms.

  • Les tables des autres noms peuvent servir pour tous les rôles de localisateur pris en charge et identifient les autres noms des entités dans les données de référence principales.

    Pour en savoir plus sur les tables de noms secondaires.

  • La sortie de cet outil peut être utilisée comme entrée de l’outil Créer un localisateur d’adresses composite.

Paramètres

ÉtiquetteExplicationType de données
Pays ou région

Indique là où la logique de géocodage propre à un pays doit s’appliquer aux données de référence pour le localisateur considéré.

La valeur par défaut correspond au paramètre régional du système d’exploitation. Il peut être spécifié en sélectionnant <As defined in data> (<Comme défini dans les données>) dans la liste et en associant une valeur figurant parmi les données dans l’appariement de champ ; il est également possible d’appliquer un pays ou une région à l’ensemble du jeu de données en le/la sélectionnant dans la liste.

Il fournit un modèle de pays contenant les noms de champs prévus qui apparaissent dans le paramètre Field Mapping (Appariement de champ) pour le pays spécifié du localisateur à créer.

  • <Comme défini dans les données>Valeur du code de pays à 3 caractères définie dans les données de référence pour chaque entité
  • Samoa américainesSamoa américaines
  • AustralieAustralie
  • AutricheAutriche
  • BelgiqueBelgique
  • CanadaCanada
  • SuisseSuisse
  • AllemagneAllemagne
  • EspagneEspagne
  • FranceFrance
  • Grande-BretagneGrande-Bretagne
  • GuamGuam
  • Mariannes du Nord (îles)Mariannes du Nord (îles)
  • Pays-BasPays-Bas
  • Porto RicoPorto Rico
  • Iles Vierges américainesIles Vierges américaines
  • États-UnisÉtats-Unis
  • Dépendances américaines du PacifiqueDépendances américaines du Pacifique
String
Table(s) principale(s)

Classes d’entités des données de référence, et leurs rôles, utilisés pour créer le localisateur. Seule une table principale peut être utilisée par rôle.

Les classes d’entités représentée en tant que services sont des types de données pris en charge pour une utilisation en tant que données de référence principales.

Attention :

Lorsqu’un ensemble de définition est défini pour les données de référence principales ou que des entités sont sélectionnées, seules les entités interrogées et sélectionnées sont incluses lors de la création du localisateur.

Remarque :

Lorsque vous créez un localisateur à l’aide de données de référence contenant des millions d’entités, vous devez disposer d’un espace disque disponible équivalant à trois à quatre fois le volume des données sur le lecteur contenant votre répertoire temporaire. En effet, les fichiers utilisés pour générer le localisateur sont enregistrés dans le répertoire temporaire avant que le localisateur ne soit copié dans l’emplacement en sortie. Si vous ne disposez pas d’un espace disque suffisant, l’exécution de l’outil échoue par manque d’espace. Lors de la création de localisateurs de grande envergure, votre machine doit également être dotée de suffisamment de RAM pour traiter des processus qui sollicitent considérablement la mémoire.

Value Table
Appariement de champ

Appariement des champs du jeu de données de référence principales pris en charge par le rôle de localisateur. Les champs signalés par un astérisque (*) en regard de leur nom sont requis par le rôle de localisateur. Appariez les champs pertinents pour chaque table du paramètre Table(s) principale(s).

Remarque :

Si vous utilisez la table des autres noms, appariez l’ID de jointure dans Primary Table(s) (Table[s] principale[s]).

Pour ajouter des champs en sortie personnalisés supplémentaires, saisissez le nom des champs dans le paramètre Custom Output Fields (Champs en sortie personnalisés). Les nouveaux champs seront ajoutés au paramètre Field Mapping (Appariement de champ). Vous pouvez alors sélectionner les champs dans le paramètre Primary Table(s) (Table[s] principale[s]) qui comporte les valeurs supplémentaires à inclure dans le géocode en sortie.

String
Localisateur en sortie

Fichier de localisateur d’adresses en sortie.

Address Locator
Code de la langue

Indique là où la logique de géocodage propre à une langue doit s’appliquer aux données de référence pour le localisateur considéré.

Si un champ de code de langue existe dans les données de référence principales, le fait de fournir un code de langue contribue à améliorer les résultats du géocodage.

Il peut être spécifié en sélectionnant <As defined in data> (<Comme défini dans les données>) dans la liste et en associant une valeur provenant des données de référence principales dans l’appariement de champ ; il est également possible de l’appliquer à l’ensemble du jeu de données en sélectionnant une langue dans la liste.

  • <Comme défini dans les données>Valeur du code de langue à 3 caractères définie dans les données de référence pour chaque entité
  • BasqueBasque
  • CatalanCatalan
  • NéerlandaisNéerlandais
  • AnglaisAnglais
  • FrançaisFrançais
  • AllemandAllemand
  • GalicienGalicien
  • ItalienItalien
  • EspagnolEspagnol
String
Table des autres noms
(Facultatif)

Tables contenant les autres noms des entités figurant dans les tables de rôles principales.

Les tables représentées en tant que services sont des types de données pris en charge pour une utilisation en tant que tables d’autres noms.

Attention :

Lorsqu’un ensemble de définition est défini pour la table d’autres noms ou que des enregistrements sont sélectionnés, seuls les enregistrements interrogés et sélectionnés sont inclus lors de la création du localisateur.

Value Table
Appariement des champs d’autres données
(Facultatif)

Apparie des champs de la table des autres noms aux champs des autres données pris en charge par le rôle de localisateur. Les champs signalés par un astérisque (*) en regard de leur nom sont requis par le rôle de localisateur. Appariez les champs pertinents pour chaque table dans Alternate Name Tables (Table des autres noms).

Remarque :

Si les données sont normalisées et que la table principale ne contient pas de valeurs de noms de ville à la différence de la table d’autres noms, il est possible d’apparier le champ Primary Name Indicator à un champ de la table d’autres noms qui contient une valeur indiquant si l’enregistrement est le champ principal (vrai/faux ou Oui/Non, par exemple). Si ce champ n’est pas apparié, le premier enregistrement dans la table des autres noms est utilisé comme valeur principale.

String
Champs en sortie personnalisés
(Facultatif)

Ajoute les champs en sortie aux résultats du géocode. Les valeurs spécifiées pour ce paramètre définissent les noms des champs en sortie qui sont renvoyés par les résultats du géocode ; toutefois, chaque nouveau champ est apparié à un champ des données de référence. Ce nouveau champ en sortie s’applique à tous les rôles utilisés dans le localisateur. Si le rôle du localisateur possède un côté droit et un côté gauche, _left et _right sont ajoutés à la fin du nom du champ. Le nombre maximal de champs pris en charge dans le localisateur est de 50.

Procédez comme suit pour ajouter des champs en sortie personnalisés au localisateur à utiliser dans les résultats de géocodage :

  • Saisissez les noms des champs en sortie personnalisés. Les noms de champ en sortie sont ajoutés à l’appariement de champ.
  • Sélectionnez le champ dans les données de référence comportant les valeurs supplémentaires à inclure dans le géocode en sortie.
String
Type de précision
(Facultatif)

Spécifie la précision du localisateur.

  • Extrêmement élevé globalLa précision est d’environ 1 cm, qui est une valeur globalement cohérente.
  • Élevé globalLa précision est d’environ 0,5 m, qui est une valeur globalement cohérente. Il s’agit de l’option par défaut.
  • Extrêmement élevé localUne précision accrue est utilisée pour les zones locales.
Remarque :

Les localisateurs créés avec la valeur de précision Extrêmement élevé global ou Extrêmement élevé local peuvent être utilisés dans ArcGIS Pro 2.6 ou versions suivantes, ou Enterprise 10.8.1 ou versions suivantes.

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})
NomExplicationType de données
country_code

Indique là où la logique de géocodage propre à un pays doit s’appliquer aux données de référence pour le localisateur considéré.

Il peut être spécifié par AS_DEFINED_IN_DATA et une valeur pouvant être appariée depuis primary_reference_data dans field_mapping ; il est également possible de l’appliquer à l’ensemble du jeu de données en spécifiant un code de pays à 3 caractères tel que USA, CAN ou PRI.

Il fournit un modèle de pays contenant les noms de champs attendus disponibles pour le paramètre field_mapping pour le pays spécifié du localisateur à créer.

  • AS_DEFINED_IN_DATAValeur du code de pays à 3 caractères définie dans les données de référence pour chaque entité
  • ASMSamoa américaines
  • AUSAustralie
  • AUTAutriche
  • BELBelgique
  • CANCanada
  • CHESuisse
  • DEUAllemagne
  • ESPEspagne
  • FRAFrance
  • GBRGrande-Bretagne
  • GUMGuam
  • MNPMariannes du Nord (îles)
  • NLDPays-Bas
  • PRIPorto Rico
  • VIRIles Vierges américaines
  • USAÉtats-Unis
  • UMIDépendances américaines du Pacifique
String
primary_reference_data
[[reference_data, {role}],...]

Classes d’entités des données de référence, et leurs rôles, utilisés pour créer le localisateur. Seule une table principale peut être utilisée par rôle.

Les classes d’entités représentée en tant que services sont des types de données pris en charge pour une utilisation en tant que données de référence principales.

Attention :

Lorsqu’un ensemble de définition est défini pour les données de référence principales ou que des entités sont sélectionnées, seules les entités interrogées et sélectionnées sont incluses lors de la création du localisateur.

Remarque :

Lorsque vous créez un localisateur à l’aide de données de référence contenant des millions d’entités, vous devez disposer d’un espace disque disponible équivalant à trois à quatre fois le volume des données sur le lecteur contenant votre répertoire temporaire. En effet, les fichiers utilisés pour générer le localisateur sont enregistrés dans le répertoire temporaire avant que le localisateur ne soit copié dans l’emplacement en sortie. Si vous ne disposez pas d’un espace disque suffisant, l’exécution de l’outil échoue par manque d’espace. Lors de la création de localisateurs de grande envergure, votre machine doit également être dotée de suffisamment de RAM pour traiter des processus qui sollicitent considérablement la mémoire.

Value Table
field_mapping
[field_mapping,...]

Appariement des champs du jeu de données de référence principales pris en charge par le rôle de localisateur. Chaque appariement de champ pour ce paramètre est au format suivant, dans lequel <role name> est le nom du rôle de localisateur, <locator role field name> est le nom du champ pris en charge par le rôle de localisateur, <primary data> est le nom des données utilisées dans le paramètre primary_reference_data et <primary data field name> est le nom du champ dans le jeu de données de référence principal.

Vous trouverez ci-après un exemple de field_mapping principal.

# <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'"

Appariez les champs pertinents pour chaque table dans le paramètre primary_reference_data. Si vous choisissez de ne pas apparier un champ de données de référence facultatif utilisé par le rôle de localisateur d’adresses à un champ d’un jeu de données de référence, il n’est pas nécessaire de spécifier l’absence d’appariement en utilisant <None> à la place du nom de champ.

Pour déterminer le paramètre <locator role field name> d’un champ de données de référence utilisé par un rôle de localisateur, ouvrez l’outil Créer un localisateur dans in ArcGIS Pro et sélectionnez un rôle de localisateur. Le nom qui s’affiche dans la colonne Field Name (Nom du champ) du paramètre Field Mapping (Appariement de champ) est le nom de rôle du champ.

Remarque :

Si vous utilisez la table d’autres noms, appariez l’ID de jointure dans primary_reference_data.

Pour ajouter des champs en sortie personnalisés, les noms des champs doivent être définis dans le paramètre custom_output_fields ainsi que dans le paramètre field_mapping. Le paramètre field_mapping utilise le format '<locator role field name> <primary data field name>', dans lequel <locator role field name> est défini comme 'RoleName.CustomFieldName' et <primary data field name> est le nom du champ dans le jeu de données de référence principal, comme indiqué dans les champs appariés figurant dans l’exemple ci-dessus. Si un champ personnalisé est ajouté à un rôle Adresse, vous devez apparier 'StreetAddress.CustomFieldName_Left' et 'StreetAddress.CustomFieldName_Right' de chaque côté de la rue.

String
out_locator

Fichier de localisateur d’adresses en sortie.

Address Locator
language_code

Indique là où la logique de géocodage propre à une langue doit s’appliquer aux données de référence pour le localisateur considéré.

Si un champ de code de langue existe dans les données de référence principales, le fait de fournir un code de langue contribue à améliorer les résultats du géocodage.

Il peut être spécifié en sélectionnant AS_DEFINED_IN_DATA en tant que valeur de language_code et en associant une valeur issue de primary_reference_data dans field_mapping ; il est également possible de l’appliquer à l’ensemble du jeu de données. Il suffit pour cela de spécifier une langue via un code de langue composé de 3 caractères qui représente la langue d’une adresse (ENG, par exemple).

  • AS_DEFINED_IN_DATAValeur du code de langue à 3 caractères définie dans les données de référence pour chaque entité
  • BAQBasque
  • CATCatalan
  • DUTNéerlandais
  • ENGAnglais
  • FREFrançais
  • GERAllemand
  • GLGGalicien
  • ITAItalien
  • SPAEspagnol
String
alternatename_tables
[alternatename_tables,...]
(Facultatif)

Tables contenant les autres noms des entités figurant dans les tables de rôles principales.

Les tables représentées en tant que services sont des types de données pris en charge pour une utilisation en tant que tables d’autres noms.

Attention :

Lorsqu’un ensemble de définition est défini pour la table d’autres noms ou que des enregistrements sont sélectionnés, seuls les enregistrements interrogés et sélectionnés sont inclus lors de la création du localisateur.

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

Apparie des champs de la table des autres noms aux champs des autres données pris en charge par le rôle de localisateur. Chaque appariement de champ doit utiliser le format suivant, dans lequel <alternate name table role> est le nom du rôle dans la table d’autres noms, <locator role alternate field name> est le nom du champ de données secondaire pris en charge par le rôle de localisateur de la table d’autres noms, <alternate data table> est le nom de la table d’autres noms et <alternate data table field name> est le nom du champ dans la table d’autres noms. Appariez les champs pertinents pour chaque table dans alternatename_tables.

Vous trouverez ci-après un exemple de alternate_field_mapping pour 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'"
Remarque :

Si les données sont normalisées et que la table principale ne contient pas de valeurs de noms de ville à la différence de la table d’autres noms, il est possible d’apparier le champ Primary Name Indicator à un champ de la table d’autres noms qui contient une valeur indiquant si l’enregistrement est le champ principal (vrai/faux ou Oui/Non, par exemple). Si ce champ n’est pas apparié, le premier enregistrement dans la table des autres noms est utilisé comme valeur principale.

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

Ajoute les champs en sortie aux résultats du géocode. Les valeurs spécifiées pour ce paramètre définissent les noms des champs en sortie qui sont renvoyés par les résultats du géocode ; toutefois, chaque nouveau champ est apparié à un champ des données de référence. Ce nouveau champ en sortie s’applique à tous les rôles utilisés dans le localisateur. Si le rôle du localisateur possède un côté droit et un côté gauche, _left et _right sont ajoutés à la fin du nom du champ. Le nombre maximal de champs pris en charge dans le localisateur est de 50.

Remarque :

Vous devez d’abord inclure les noms de champs en sortie dans le paramètre field_mapping, puis dresser la liste des noms dans le paramètre custom_output_fields.

String
precision_type
(Facultatif)

Spécifie la précision du localisateur.

Remarque :

Les localisateurs créés avec une précision GLOBAL_EXTRA_HIGH ou LOCAL_EXTRA_HIGH peuvent être utilisés dans ArcGIS Pro 2.6 ou versions suivantes, ou Enterprise 10.8.1 ou versions suivantes.

  • GLOBAL_EXTRA_HIGHLa précision est d’environ 1 centimètre, qui est une valeur globalement cohérente.
  • GLOBAL_HIGHLa précision est d’environ 0,5 mètre, qui est une valeur globalement cohérente. Il s’agit de l’option par défaut.
  • LOCAL_EXTRA_HIGHUne précision accrue est utilisée pour les zones locales.
String

Exemple de code

Exemple 1 d’utilisation de l’outil CreateLocator (script autonome)

Le script Python ci-dessous illustre l’utilisation de l’outil CreateLocator dans un script autonome.

# 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"

# Execute CreateLocator
arcpy.geocoding.CreateLocator("AS_DEFINED_IN_DATA", primary_reference_data, field_mapping, 
                              out_locator, "AS_DEFINED_IN_DATA")
Exemple 2 d’utilisation de l’outil CreateLocator (fenêtre Python)

Le script Python ci-dessous montre comment utiliser la fonction CreateLocator en mode immédiat.

# 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"

# Execute CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              language_code, None, None, "CustomField1;CustomField2")
Exemple 3 d’utilisation de l’outil CreateLocator (fenêtre Python)

Le script Python ci-dessous montre comment utiliser la fonction CreateLocator en mode immédiat.

# 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"

# Execute CreateLocator
arcpy.geocoding.CreateLocator("USA", primary_reference_data, field_mapping, 
                              out_locator, "ENG", alternatename_tables, 
                              alternate_field_mapping)
Exemple 4 d’utilisation de l’outil CreateLocator (script autonome)

Le script Python ci-dessous montre comment utiliser la fonction CreateLocator en mode immédiat.

# Description: Create a multi-role 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"

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

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes