Résumé
Crée des adresses à partir des emplacements de points d’une classe d’entités. Le processus de géocodage inverse recherche l'adresse ou l'intersection la plus proche pour l'emplacement de point, d'après la distance de recherche spécifiée. Si vous utilisez ArcGIS World Geocoding Service, cette opération peut consommer des crédits.
Utilisation
La classe d’entités en entrée doit contenir des formes de point avec des coordonnées x, y valides. Les adresses ne seront pas retournées sur des points aux coordonnées nulles.
La classe d'entités en sortie contiendra le même nombre d'enregistrements que la classe d'entités en entrée. Les champs supplémentaires contenant les adresses résultantes sont ajoutés à la classe d’entités. Les noms des champs reçoivent le préfixe REV_. Si une adresse est introuvable, les champs contiendront des valeurs vides.
Si la référence spatiale de la classe d'entités en entrée est différente de celle du localisateur d'adresses, ce dernier transforme les coordonnées à la volée et tente de trouver une correspondance. La référence spatiale de la classe d'entités en sortie sera enregistrée dans la même référence spatiale que celle de la classe d'entités en entrée. Il est possible de modifier la référence spatiale de la classe d'entités en sortie en définissant un système de coordonnées en sortie différent dans les paramètres d'environnement de l'outil.
Si un point dans la classe d’entités en entrée ne retourne pas d’adresse, cela signifie que le localisateur d’adresse ne contient aucune entité pouvant être associée au point en entrée. Voici quelques causes courantes de points non appariés :
- La distance de recherche est trop réduite pour que le point puisse trouver les entités les plus proches.
- Le point contient des coordonnées nulles.
- Les coordonnées du point sont incorrectes et ne peuvent pas être transformées en référence spatiale utilisée dans le localisateur d'adresses.
- Le localisateur d'adresses ne contient aucune entité de référence dans la zone pouvant être associée au point.
Vous pouvez augmenter la distance de recherche pour avoir plus de chances de trouver l’adresse la plus proche ou utiliser un autre localisateur d’adresses contenant plus d’entités ou couvrant une zone plus vaste pour apparier les points en entrée.
Un abonnement à ArcGIS Online for organizations est indispensable si vous inversez le géocodage d'une classe d'entités à l'aide de ArcGIS World Geocoding Service. Pour plus d'informations, reportez-vous à la rubrique Utilisation du service de géocodage mondial ArcGIS Online.
Syntaxe
arcpy.geocoding.ReverseGeocode(in_features, in_address_locator, out_feature_class, {address_type}, {search_distance}, {feature_type}, {location_type})
Paramètre | Explication | Type de données |
in_features | Classe ou couche d'entités ponctuelles à partir de laquelle les adresses sont retournées, d'après l'emplacement des points de l'entité. | Feature Class |
in_address_locator | Localisateur d'adresses à utiliser pour inverser le géocodage de la classe d'entités en entrée. | Address Locator |
out_feature_class | Classe d'entités en sortie. | Feature Class |
address_type (Facultatif) | Indique si les adresses des points doivent être renvoyées sous forme d'adresses de rues ou d'adresses d'intersections si le localisateur d'adresses prend en charge l'appariement d'intersections.
| String |
search_distance (Facultatif) | Distance utilisée pour rechercher l'adresse ou l'intersection la plus proche pour l'emplacement de point. Certains localisateurs utilisent des valeurs de distance optimisées qui ne permettent pas de remplacer le paramètre de distance de recherche. La distance de recherche par défaut pour les localisateurs d’adresses créés avec l’outil Create Address Locator (Créer un localisateur d’adresses) est de 100 mètres. | Linear Unit |
feature_type [feature_type,...] (Facultatif) | Restreint les types de correspondance possibles. Vous pouvez sélectionner des valeurs uniques ou multiples. Lorsqu'une seule valeur est sélectionnée, la tolérance de recherche pour le type d'entité en entrée est de 500 mètres. Si plusieurs valeurs sont sélectionnées, alors les distances de recherche spécifiées dans la table hiérarchique du type d’entité s’appliquent. Reportez-vous à l’aide Web de l’API REST pour obtenir plus de détails sur le paramètre featureTypes pour reverseGeocode. Ce paramètre n’est pas pris en charge pour tous les localisateurs.
| String |
location_type (Facultatif) | Ce paramètre est disponible pour les localisateurs prenant en charge le paramètre locationType. Il spécifie la géométrie de sortie préférée des correspondances PointAddress. Les options de ce paramètre sont un emplacement côté rue pouvant être utilisé pour le calcul d’itinéraire, ou l’emplacement qui représente le centroïde de toit ou parcellaire de l’adresse. Si l’emplacement préféré n’existe pas dans les données, l’emplacement par défaut est renvoyé à la place. Pour les résultats de géocodage avec Addr_type=PointAddress, les valeurs d’attribut 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 centroïde de toit ou de bâtiment. Reportez-vous à l’aide Web de l’API REST pour obtenir plus de détails sur le paramètre locationType pour reverseGeocode. Ce paramètre n’est pas pris en charge pour tous les localisateurs.
| String |
Exemple de code
Exemple 1 de ReverseGeocode (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction ReverseGeocode en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta.gdb"
# Set local variables:
input_feature_class = "geocode_result"
address_locator = "C:/ArcTutor/Geocoding/Atlanta.loc"
result_feature_class = "customers_with_address"
arcpy.ReverseGeocode_geocoding(input_feature_class, address_locator,
result_feature_class, "ADDRESS", "100 Meters")
Exemple 2 de ReverseGeocode (script autonome)
Le script Python ci-dessous illustre l'utilisation de l'outil ReverseGeocode dans un script autonome.
# Description:
# Reverse Geocode customer point locations using the ArcGIS World Geocoding Service using SignInToPortal and
# Ready-To-Use-Services that returns multiple feature types and preferred location.
import arcpy
import os
arcpy.SignInToPortal_server("<Username>","<Password>", "https://geocode.arcgis.com/arcgis")
# Set workspace
arcpy.env.workspace = r"C:\arcgis\ArcTutor\Geocoding\atlanta.gdb"
# Set local variables
in_feature_class = "customers_ParcelBlk"
address_locator = "Ready-To-Use Services/Geocoding/ArcGIS World Geocoding Service.GeocodeServer"
out_feature_class = "customers_with_streets"
addr_type = "ADDRESS"
search_distance = "0 Meters"
feature_type = "STREET_ADDRESS;STREET_INTERSECTION"
location_type = "ROUTING_LOCATION"
# Perform Reverse Geocoding
arcpy.ReverseGeocode_geocoding(in_feature_class, address_locator, out_feature_class,
addr_type, search_distance, feature_type, location_type)
Exemple 3 de ReverseGeocode (script autonome)
Le script Python ci-dessous illustre l'utilisation de l'outil ReverseGeocode dans un script autonome.
# Description:
# Reverse Geocode customer point locations using the ArcGIS World Geocoding Service using an ArcGIS Server connection file
# that returns multiple feature types and preferred location.
# Import system modules import arcpy import os
# Set workspace arcpy.env.workspace = r"C:\arcgis\ArcTutor\Geocoding\atlanta.gdb"
# Set local variables in_feature_class = "customers_ParcelBlk"
# Create this ags connection file in ArcMap address_locator = r"C:/connection_files/arcgis on geocode.arcgis.com (user)/World.GeocodeServer"
out_feature_class = "customers_with_streets"
addr_type = "ADDRESS"
search_distance = "0 Meters"
feature_type = "STREET_ADDRESS;STREET_INTERSECTION"
location_type = "ROUTING_LOCATION"
# Perform Reverse Geocoding arcpy.ReverseGeocode_geocoding(in_feature_class, address_locator, out_feature_class, addr_type, search_distance, feature_type, location_type)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui