Les adresses des entreprises, installations ou événements sont des coordonnées qui doivent être trouvées, mais parfois les données avec à la fois la géométrie et des attributs d'adresse bien formés n'ont pas bénéficié du géocodage de haute qualité disponible dans ArcGIS Online appliqué aux enregistrements où la géométrie pourrait être améliorée.
Ce blog montre comment appliquer le géocodage aux géométries non fiables au sein d'un jeu de données qui évolue dans le temps sans encourir le coût du géocodage récurrent des enregistrements déjà géocodés. Le produit d'information à maintenir est une couche d'entités hébergée dans ArcGIS Online ou votre propre portail ArcGIS Enterprise.
Voici le sujet, environ 600K emplacements d'entreprises enregistrés auprès du Bureau des Finances de la Ville de Los Angeles :
Entreprises au centre-ville de Los Angeles
Vous comprendrez que les entreprises peuvent ouvrir, fermer, déménager ou changer de nom, et ce jeu de données est actualisé mensuellement pour suivre cela. Les entreprises tiennent généralement à être trouvées, et ce que nous voyons dans les données ce sont des champs d'adresse de haute qualité. Si nous voulons maintenir une vue spatiale utile des données, comme dans une couche d'entités hébergée, nous devons soutenir ce rythme de rafraîchissement. En plus des enregistrements qui changent, nous devons également améliorer tous les enregistrements qui n'ont pas obtenu la géométrie correcte lors de leur création initiale.
Des enregistrements comme ceux-ci :
Null Island et Equal Archipelago
Les points rouges sont soit sur Null Island ou une région que je vais nommer Equal Archipelago, signifiant des points où la latitude égale la longitude. Avec les enregistrements ayant une géométrie réellement nulle (des libertés ont été prises pour nommer Null Island !) nous avons un sous-ensemble facilement identifiable d'emplacements d'entreprises à corriger, ce dont nous sommes confiants pouvoir faire à partir des champs d'adresse dans les données.
Voici le sous-ensemble des emplacements d'entreprises que nous devons géocoder :
Emplacements à géocoder
Notez le nombre d'enregistrements - 94086. Comme nous utiliserons ArcGIS Online pour faire le géocodage (nécessite des crédits), nous devons être attentifs au coût en crédits pour le géocodage, et géocoder les enregistrements cibles une seule fois sauf s'ils changent d'adresse. C'est là qu'intervient le géocodage plus intelligent, géocodez les enregistrements avec une géométrie non fiable ou lorsque les champs d'adresse changent, mais seulement une fois, pas à chaque mise à jour, tout en appliquant les modifications à la géométrie fiable ou aux champs non liés à l'adresse.
Commençons.
Les données sources se trouvent dans un portail open data pour lequel un lecteur est disponible via téléchargement de package. Dans la pièce jointe du blog se trouve un espace de travail CreateLosAngelesBusinesses.fmw (requiert ArcGIS Pro 3.5+ plus ArcGIS Data Interoperability, ou FME 2025+), le lecteur s'installera si vous éditez l'espace de travail, tout comme le package Geocoder. L'espace de travail crée une classe d'entités initiale. La voici :
Créer une classe d'entités pour emplacements d'entreprises
Cependant c'est ici que vous ne pouvez pas éviter le coût en crédits d'un géocodage initial, mais remarquez que nous ne géocodons que les enregistrements avec une géométrie nulle ou sur Null Island ou le long de Equal Archipelago - ceux-ci ont une géométrie non fiable. Les étapes notables du traitement sont l'interrogation du serveur back-end pour générer des flux de traitement séparés, la création de géométrie ponctuelle à partir de valeurs chaîne comme '(34.2817, -118.5361)' et l'utilisation du géocodage par lots pour la rapidité.
La classe d'entités résultante est partagée comme couche web, qui est le produit d'information que nous maintiendrons.
C'est ici que le traitement devient plus intéressant, voici l'espace de travail nommé RefreshLosAngelesBusinesses.fmw dans le téléchargement du blog :
Actualiser les listes d'entreprises
L'astuce pour ne pas refaire un géocodage sur un terrain déjà parcouru est de fusionner la géométrie connue sur les enregistrements non fiables depuis la couche cible, et de fusionner sur la clé primaire et les champs d'adresse. Ainsi si une adresse change, l'entité ne fusionnera pas et sera re-géocodée.
Voici les propriétés FeatureMerger utilisées pour récupérer la géométrie depuis les emplacements connus :
Fusionner uniquement la géométrie
Une fois tout géocodage terminé, toutes les entités entrantes et existantes sont envoyées à un ChangeDetector, qui génère une transaction minimale efficace pour mettre à jour le service d'entités cible. Pour le géocodage, vous remarquerez que je suis passé du mode batch au mode ligne par ligne dans le transformateur Geocoder. Le batch est plus rapide mais le géocodage ligne par ligne peut offrir une meilleure qualité.
Voici un mois de renouvellement des emplacements d'entreprises pour Los Angeles (15 septembre 2025), 596402 emplacements au total, dont 1688 emplacements mis à jour, 4385 insérés et 1707 supprimés. Sur les 94086 emplacements entrants avec localisation non fiable, seulement 1822 ont dû être géocodés. Seulement 9 adresses n'ont pas pu être trouvées et nécessitent une revue manuelle.
Mise à jour mensuelle des adresses commerciales
Voici les paramètres ChangeDetector utilisés pour calculer la transaction du jeu de modifications. Si un attribut ou la géométrie change pour une valeur de clé primaire, alors un enregistrement écrit est généré avec un type de transaction INSERT, UPDATE ou DELETE .
Paramètres ChangeDetector
L'attachement du blog contient les fichiers source fmw de l'outil ETL spatial pour créer une classe d'entités initiale dans une file geodatabase des emplacements commerciaux et effectuer un rafraîchissement des données à la demande. Il y a aussi un outil pour trouver les enregistrements non fiables à inspecter avant un traitement ultérieur.
Amusez-vous à géocoder plus intelligemment !