Géocoder des adresses (Géocodage)

Résumé

Assure le géocodage d'une table d'adresses. Ce processus nécessite une table qui stocke les adresses à géocoder et un localisateur d'adresses ou un localisateur d'adresses composite. Cet outil apparie les adresses par rapport au localisateur et enregistre le résultat pour chaque enregistrement en entrée dans une nouvelle classe d’entités ponctuelles. Lors de l’utilisation de ArcGIS World Geocoding Service, cette opération peut consommer des crédits.

Les opérations de géocodage faisant appel à ArcGIS World Geocoding Service requièrent un abonnement d’organisation ArcGIS Online et consomment des crédits. Le compte d’organisation doit être muni d’un nombre suffisant de crédits pour répondre à l’intégralité de la demande de géocodage.

Utilisation

  • Vous pouvez géocoder des adresses qui sont stockées dans un seul champ ou qui sont fractionnées dans plusieurs champs. Un seul champ en entrée contient l'adresse complète, par exemple 303 Peachtree St NE, Atlanta, GA 30308. Plusieurs champs sont pris en charge si les adresses en entrée sont réparties sur plusieurs champs, comme Address, City, State et ZIP pour une adresse aux États-Unis.

  • Certains localisateurs prennent en charge plusieurs adresses en entrée telles que Address, Address2 et Address3. Dans ce cas, le composant d’adresse peut être divisé en plusieurs champs et les champs d’adresse sont concaténés au moment du géocodage. Par exemple, 100, Main st et Apt 140 en trois champs ou 100 Main st et Apt 140 constituant deux champs 100 Main st Apt 140 lors du géocodage.

  • La classe d'entités en sortie est enregistrée dans la même référence spatiale que le localisateur d'adresses. Pour modifier la référence spatiale de la classe d’entités en sortie, définissez un système de coordonnées en sortie différent dans les paramètres d’environnement de l’outil.

  • La classe d'entités en sortie, par défaut, stocke une copie de l'adresse en entrée et des informations complémentaires telles que le score, le statut et l'adresse appariée de chaque enregistrement. Les adresses peuvent être ré-appariées à l’aide de l’outil Ré-apparier les adresses ou l’option Rematch Addresses (Ré-apparier les adresses) qui ouvre la fenêtre Ré-apparier les adresses. La modification des adresses dans la table d'adresses en entrée ne change pas le résultat dans la classe d'entités en sortie une fois le processus d'appariement terminé et la classe d'entités créée.

    Pour en savoir plus sur le ré-appariement des résultats de géocodage

  • Un abonnement à ArcGIS Online for organizations est nécessaire pour apparier une table d’adresses à l’aide de ArcGIS World Geocoding Service.

Syntaxe

arcpy.geocoding.GeocodeAddresses(in_table, address_locator, in_address_fields, out_feature_class, {out_relationship_type}, {country}, {location_type}, {category}, {output_fields})
ParamètreExplicationType de données
in_table

Table d'adresses à géocoder.

Table View
address_locator

Localisateur d'adresses à utiliser pour géocoder la table d'adresses.

Remarque :

L'inclusion de l'extension .loc après le nom du localisateur mentionné à la fin du chemin d’accès au localisateur est facultative.

Address Locator
in_address_fields
[input_address_field, table_field_name]

Chaque appariement de champ dans ce paramètre est au format input_address_field, table_field_nameinput_address_field est le nom du champ d'adresse en entrée spécifié par le localisateur d'adresses et table_field_name représente le nom du champ correspondant dans la table d'adresses que vous souhaitez géocoder.

Vous pouvez spécifier un seul champ en entrée qui contient l’adresse complète, par exemple 303 Peachtree St NE, Atlanta, GA 30308. Vous pouvez également spécifier plusieurs champs si les adresses en entrée sont fractionnées sur différents champs, tels que Address, City, State et ZIP.

Certains localisateurs prennent en charge plusieurs adresses en entrée telles que Address, Address2 et Address3. Dans ce cas, le composant d’adresse peut être divisé en plusieurs champs et les champs d’adresse sont concaténés au moment du géocodage. Par exemple, 100, Main st et Apt 140 en trois champs ou 100 Main st et Apt 140 constituant deux champs 100 Main st Apt 140 lors du géocodage.

Si vous choisissez de ne pas apparier un champ d’adresse facultatif en entrée utilisé par le localisateur d’adresses à un champ dans la table d’adresses en entrée, précisez qu’il n’y a pas d’appariement en utilisant <None> (<Aucun>) au lieu d’un nom de champ (voir l’exemple ci-dessous).

Field Info
out_feature_class

Classe d'entités ou fichier de formes géocodé(e) en sortie.

Feature Class
out_relationship_type
(Facultatif)
Héritage :

Ce paramètre n’a aucun effet dans ArcGIS Pro. Il reste présent pour assurer la rétrocompatibilité avec ArcGIS Desktop.

Dans ArcGIS Pro, la seule valeur acceptable est STATIC.

  • STATICUne copie statique de la table des champs d’adresses en entrée est créée dans la classe d’entités en sortie. Il s'agit de la seule valeur acceptable.
  • DYNAMICCette option ne s’applique pas dans ArcGIS Pro. Consultez l’aide de ArcGIS Desktop relative à cet outil.
Boolean
country
[country,...]
(Facultatif)

Ce paramètre est disponible pour les localisateurs prenant en charge un paramètre de pays et limite le géocodage aux pays sélectionnés. La sélection d’un ensemble de pays contribue à accroître la précision du géocodage. Si un champ représentant les pays dans Input Table (Table en entrée) est apparié au champ Country dans Input Address Fields (Champs d’adresse en entrée), la valeur du pays issue de Input Table (Table en entrée) remplace le paramètre Country (Pays).

Limite l’opération aux pays sélectionnés. Si aucun pays n’est spécifié, le géocodage est effectué sur tous les pays pris en charge par le localisateur. La valeur en entrée doit être spécifiée sous forme d’un code de pays ISO 3166-1 de 3 caractères.

Le paramètre Country (Pays) n’est pas pris en charge pour tous les localisateurs.

String
location_type
(Facultatif)

Spécifie la géométrie de sortie préférée des correspondances POINT_ADDRESS. Les options de ce paramètre sont ROUTING_LOCATION, le côté d’une rue qui peut être utilisé pour le calcul de l’itinéraire ou ADDRESS_LOCATION, l’emplacement représentant le toit, le centroïde de parcelle de l’adresse ou la porte principale. Si l’emplacement préféré n’existe pas dans les données, l’emplacement par défaut de ROUTING_LOCATION est renvoyé à la place. Pour les résultats de géocodage avec Addr_type = PointAddress, les valeurs attributaires x,y décrivent les coordonnées de l’adresse le long de la rue, tandis que les valeurs DisplayX et DisplayY décrivent les coordonnées du toit ou du centroïde du bâtiment. Consultez l’aide Web de l’API REST pour en savoir plus sur le paramètre locationType dans le cadre de l’opération reverseGeocode.

Ce paramètre n’est pas pris en charge pour tous les localisateurs.

  • ADDRESS_LOCATIONLa géométrie des résultats de géocodage qui représentent une localisation d’adresse, tel que le toit, le centroïde de la parcelle ou la porte principale, est renvoyée.
  • ROUTING_LOCATIONLa géométrie des résultats de géocodage représentant un emplacement proche du côté de la rue et pouvant servir dans le cadre du calcul d’itinéraire est renvoyée. Il s’agit de l’option par défaut.
String
category
[category,...]
(Facultatif)

Restreint les types de lieux que le localisateur recherche, ce qui élimine les correspondances positives erronées et peut accélérer le processus de recherche. Si aucune catégorie n’est utilisée, le géocodage est effectué pour toutes les catégories prises en charge. Toutes les valeurs de catégorie ne sont pas prises en charge pour tous les emplacements et tous les pays. Le paramètre peut généralement être utilisé pour les opérations suivantes :

  • Limiter les appariements à des types d’emplacement spécifiques ou à des niveaux d’adresse
  • Éviter les appariements de remplacement aux niveaux d’adresse non désirés
  • Distinguer les recherches de coordonnées

Ce paramètre n’est pas pris en charge pour tous les localisateurs.

Reportez-vous à l’aide web de l’API REST pour obtenir de détails sur le filtrage par catégorie.

String
output_fields
(Facultatif)

Spécifie les champs de localisateur en sortie qui sont renvoyés dans les résultats de géocodage.

Remarque :

Ce paramètre peut être utilisé avec les localisateurs en entrée créés à l’aide de l’outil Créer un localisateur ou Créer un localisateur d’entités stocké sur le disque ou publié dans Enterprise version 10.9 ou ultérieure. Les localisateurs composites qui contiennent au moins un localisateur créé à l’aide de l’outil Créer un localisateur d’adresses ne prennent pas en charge ce paramètre.

  • ALL Inclut tous les champs de localisateur en sortie disponibles dans les résultats de géocodage. Il s’agit de l’option par défaut.
  • LOCATION_ONLYStocke le champ Shape dans les résultats de géocodage. Les noms de champ d’origine de in_table sont conservés. Le ré-appariement des résultats de géocodage n’est pas disponible avec cette option.
  • MINIMALAjoute les champs suivants qui décrivent l’emplacement et son niveau d’appariement avec les informations du localisateur dans les résultats de géocodage : Shape, Status, Score, Match_type, Match_addr et Addr_type. Les noms de champ d’origine de in_table sont conservés.
String

Exemple de code

Exemple d’utilisation de l’outil GeocodeAddresses (script autonome)

Le script de fenêtre Python suivant montre comment utiliser la fonction GeocodeAddresses pour géocoder une table d’adresses avec un localisateur 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')
Exemple 2 d’utilisation de l’outil GeocodeAddresses (script autonome)

Le script de fenêtre Python suivant montre comment utiliser la fonction GeocodeAddresses pour géocoder une table d’adresses avec un localisateur serveur via une connexion 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')
Exemple 3 d’utilisation de l’outil GeocodeAddresses (script autonome)

Le script de fenêtre Python suivant montre comment utiliser la fonction GeocodeAddresses pour géocoder une table d’adresses avec un localisateur de portail.

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')
Exemple 4 d’utilisation de l’outil GeocodeAddresses (script autonome)

Le script de fenêtre Python suivant montre comment utiliser la fonction GeocodeAddresses pour géocoder une table d’adresses avec le Service de géocodage mondial.

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')

Informations de licence

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

Rubriques connexes