Geschäfts-, Einrichtungs- oder Veranstaltungsadressen sind Koordinaten, die gefunden werden wollen, aber manchmal hat Daten mit sowohl Geometrie als auch gut ausgeformten Adressattributen nicht den Vorteil des hochwertigen Geokodierens, das in ArcGIS Online verfügbar ist, erfahren, wenn es auf Datensätze angewendet wird, bei denen die Geometrie eine Verbesserung gebrauchen könnte.
Dieser Blog zeigt, wie man Geokodierung auf unzuverlässige Geometrien innerhalb eines Datensatzes anwendet, der sich im Laufe der Zeit ändert, ohne die Kosten für wiederholtes Geokodieren von bereits geokodierten Datensätzen zu verursachen. Das zu pflegende Informationsprodukt ist ein gehosteter Feature-Layer in ArcGIS Online oder Ihrem eigenen ArcGIS Enterprise-Portal.
Hier ist das Thema, etwa 600.000 Geschäftsstandorte, die beim Finanzamt der Stadt Los Angeles registriert sind:
Geschäfte in der Innenstadt von Los Angeles
Sie werden verstehen, dass Geschäfte eröffnen, schließen, umziehen oder ihren Namen ändern können und dieser Datensatz monatlich aktualisiert wird, um dies zu verfolgen. Unternehmen möchten typischerweise gefunden werden können, und was wir in den Daten sehen, sind hochwertige Adressfelder. Wenn wir eine nützliche räumliche Ansicht der Daten beibehalten wollen, wie z. B. in einem gehosteten Feature-Layer, müssen wir diesen Aktualisierungsrhythmus unterstützen. Zusätzlich zu den sich ändernden Datensätzen müssen wir auch alle Datensätze verbessern, die bei ihrer Erstellung keine korrekte Geometrie erhalten haben.
Datensätze wie diese:
Null Island und Equal Archipelago
Die roten Punkte befinden sich entweder auf Null Island oder in einer Region, die ich Equal Archipelago nennen werde, was Punkte bedeutet, bei denen die Breite gleich der Länge ist. Zusammen mit Datensätzen mit tatsächlich null Geometrie (bei der Benennung von Null Island wurde etwas Freiheit genommen!) haben wir eine leicht identifizierbare Teilmenge von Geschäftsstandorten zur Korrektur, von denen wir überzeugt sind, dass wir sie anhand der Adressfelder in den Daten korrigieren können.
Hier ist die Teilmenge der Geschäftsstandorte, die wir geokodieren müssen:
Standorte zum Geokodieren
Beachten Sie die Anzahl der Datensätze - 94086. Da wir ArcGIS Online für das Geokodieren verwenden (erfordert Credits), müssen wir auf die Kosten für Credits beim Geokodieren achten und die Ziel-Datensätze nur einmal geokodieren, es sei denn, sie ändern ihre Adresse. Hier kommt das intelligentere Geokodieren ins Spiel: Geokodieren Sie Datensätze mit unzuverlässiger Geometrie oder bei Änderung der Adressfelder nur einmal und nicht bei jedem Update, während Sie dennoch alle Änderungen an vertrauenswürdiger Geometrie oder Nicht-Adressfeldern anwenden.
Lassen Sie uns anfangen.
Die Quelldaten stammen aus einem Open Data Portal, für das ein Reader über Paketdownload verfügbar ist. Im Blog-Anhang befindet sich ein Workspace CreateLosAngelesBusinesses.fmw (erfordert ArcGIS Pro 3.5+ plus ArcGIS Data Interoperability oder FME 2025+), der Reader wird installiert, wenn Sie den Workspace bearbeiten, ebenso wie das Geocoder-Paket. Der Workspace erstellt eine anfängliche Feature-Class. Hier ist sie:
Feature-Class für Geschäftsstandorte erstellen
Dies ist jedoch der Punkt, an dem man die Credit-Kosten für eine anfängliche Geokodierung nicht vermeiden kann. Beachten Sie jedoch, dass wir nur Datensätze mit null Geometrie oder auf Null Island oder entlang des Equal Archipelago geokodieren – diese haben unzuverlässige Geometrie. Bemerkenswerte Verarbeitungsschritte sind das Abfragen des Backend-Servers zur Erzeugung separater Verarbeitungsströme, das Erstellen von Punktgeometrien aus Zeichenfolgenwerten wie '(34.2817, -118.5361)' und die Verwendung von Batch-Forward-Geocoding zur Beschleunigung.
Die Ausgabe-Feature-Class wird als Web-Layer freigegeben, was das Informationsprodukt ist, das wir pflegen werden.
Hier wird die Verarbeitung interessanter. Hier ist der Workspace namens RefreshLosAngelesBusinesses.fmw im Blog-Download:
Geschäftslisten aktualisieren
Der Trick, um nicht bereits bearbeitete Datensätze erneut zu geokodieren, besteht darin, bisher bekannte Geometrien auf unzuverlässige Datensätze zu mergen, und zwar aus dem Ziel-Feature-Layer sowie auf Basis des Primärschlüssels und der Adressfelder zu mergen. So wird bei einer Adressänderung das Feature nicht gemerged und neu geokodiert.
Hier sind die Eigenschaften des FeatureMerger zu sehen, mit denen Geometrien von bekannten Standorten übernommen werden:
Nur Geometrie mergen
Sobald jegliche Geokodierung abgeschlossen ist, werden alle eingehenden und bestehenden Features an einen ChangeDetector gesendet, der eine effiziente minimale Transaktion generiert, um den Ziel-Feature-Service zu aktualisieren. Für das Geokodieren werden Sie bemerken, dass ich vom Batch- zum zeilenbasierten Geokodieren im Geocoder-Transformer gewechselt habe. Batch ist schneller, aber zeilenbasiertes Geokodieren kann bessere Qualität liefern.
Hier sehen Sie einen Monat Geschäftslagewechsel für Los Angeles (15. September 2025), insgesamt 596.402 Standorte davon wurden 1688 Geschäftsstandorte aktualisiert, 4385 eingefügt und 1707 gelöscht. Von den 94.086 eingehenden Standorten mit unzuverlässiger Lage mussten nur 1822 geokodiert werden. Lediglich 9 Adressen konnten nicht gefunden werden und benötigen eine manuelle Überprüfung.
Ein Monatsupdate der Geschäftsadressen
Hier sind die ChangeDetector-Einstellungen zu sehen, die verwendet werden, um die Änderungsset-Transaktion zu berechnen. Wenn sich Attribute oder Geometrie für einen Primärschlüsselwert ändern, wird ein Schreibdatensatz mit dem Transaktionstyp INSERT, UPDATE oder DELETE erzeugt.
ChangeDetector-Einstellungen
Der Blog-Anhang enthält die räumlichen ETL-Werkzeug-fmw-Quelldateien zur Erstellung einer anfänglichen File-Geodatabase-Feature-Class von Geschäftsstandorten und zur Durchführung einer bedarfsorientierten Aktualisierung der Daten. Es gibt auch eine Version zum Auffinden unzuverlässiger Datensätze zur Inspektion vor weiterer Verarbeitung.
Viel Spaß beim intelligenteren Geokodieren!