Aufbauend auf früheren Arbeiten, bei denen ein ArcGIS Pro Notebook verwendet wurde, um ETL Overture Maps Foundation-Daten in ArcGIS zu laden, betrachtet dieser Beitrag das Overture Map Foundation Addresses-Theme, sowohl als kartenfertige Ebene als auch als subaddress-fähigen Geocoding-Locator. Zum Zeitpunkt der Erstellung befindet sich die Daten in der Alpha-Version, aber Sie können mit dem ArcGIS Pro Notebook (im Beitrag zum Download) einen Blick darauf werfen, das so konfiguriert ist, dass es die Adresspunkte in Kalifornien, USA extrahiert – etwas über 14 Millionen Features. Hier sind sie, mit Metadaten, die ebenfalls vom Notebook erstellt wurden:<\/P>
14 Millionen Adresspunkte in Kalifornien<\/span><\/P>Es gibt viele Verwendungszwecke für die Adresspunkte (Kartenebene, nahegelegene Features, Join-Features, Geometriequelle für die Bearbeitung ...), aber einer, den ich hervorheben möchte und der von Overture als Ziel-Workflow genannt wird, ist das Geocoding – die Umwandlung von Adressdetails in Kartenpositionen, wie hier für die Adresse "1000 Pine Ave Unit 109 Redlands CA 92373" zu sehen.<\/P>
Geocoding mit Overture Addresses<\/span><\/P>Es wirkt immer wie Magie, dass man einen lokalen Adressdialekt in Koordinaten umwandeln kann. Obwohl es im aktuellen Addresses-Theme einige Länder-„Lücken“ gibt, ist dort, wo Daten eines Landes vorhanden sind, diese vollständig und wird monatlich gepflegt. Sehen wir uns an, wie man auf die Daten zugreift!<\/P>Spoiler (Zum Lesen markieren)<\/noscript>Hinweis:<\/STRONG> Esris Geocoding-Produkte, wie der ArcGIS World Geocoding Service, können dieselben Referenzdaten wie das Addresses-Theme von Overture enthalten.<\/div>Hinweis: Esris Geocoding-Produkte, wie der ArcGIS World Geocoding Service, können dieselben Referenzdaten wie das Addresses-Theme von Overture enthalten.<\/div><\/div><\/noscript><\/div><\/div>Ich verwende ein ArcGIS Pro 3.5 Notebook und nur die Standard-Runtime-Module einschließlich DuckDB. Overture bietet die Daten als GeoParquet-Dateien im S3 Hive-Speicher an (das bedeutet, dass der einzelne logische Adressdatensatz als eine beliebige Anzahl einzelner Parquet-Dateien vorliegt, die Sie als Glob (Wildcard)-Pfad angeben können, so wie diese SQL-Anweisung an DuckDB gesendet wird:<\/P>select * from read_parquet('s3://overturemaps-us-west-2/release/2025-09-24.0/theme=addresses/type=address/*.parquet',filename=false, hive_partitioning=1)<\/code><\/pre>Das Notebook ermittelt den Pfad zu den neuesten Daten automatisch.<\/P>Da wir nur an einem Teil der verfügbaren Adressdaten interessiert sind, geben wir im Notebook eine "where"-Klausel an, die festlegt, welche Datensätze gelesen werden sollen. Hier ist meine Klausel, um nur kalifornische Daten zu erhalten:<\/P>where country = 'US' and address_levels[1].value = 'CA' and number is not null and street is not null<\/code><\/pre>Sie werden einen Begriff bemerken, der eine Struct-Spalte abfragt: address_levels,<\/STRONG> ein 1-basiertes Array mit bis zu drei Zonenwerten in absteigender Größe wie Provinz, Stadt und Nachbarschaft. Dies variiert je nach Land und muss von Ihnen herausgefunden werden. Wenige Länder verwenden alle drei Ebenen. Tatsächlich sind einige Spalten möglicherweise überhaupt nicht befüllt, entweder weil die Daten vom Beitragenden nicht verfügbar sind oder im Land nicht verwendet werden, z.B. postal_city oder postcode.<\/P>Im Notebook wird das address_levels-Array von Großeltern-Eltern-Kind<\/STRONG> in der Quelle auf Kind-Eltern-Großeltern<\/STRONG> in den Ausgabedaten umgeordnet, da Adressen typischerweise von kleineren zu größeren Bereichen angegeben werden, z.B. "380 New York St Redlands CA<\/STRONG> 92373".<\/P>Ich lasse Sie im Notebook nach weiteren Details stöbern; zum Beispiel wird um jeden Adresspunkt ein Begrenzungsrahmen berechnet, um beim Auffinden einer Adresse ein besser nutzbares Zoom-Erlebnis zu bieten. Das Notebook erstellt einen Locator in Ihrem Projekt-Stammordner oder baut ihn mit neuen Daten neu auf, falls er bereits existiert. Um die Neuaufbauoption zu verwenden, entfernen Sie zuerst den vorhandenen Locator aus Ihrem Projekt, um Dateisperren aufzuheben. Die Verarbeitung der kalifornischen Daten dauert etwa 45 Minuten, einschließlich eines etwa 5-minütigen Schritts zur konsistenten Groß-/Kleinschreibung von Straßen-, Einheiten- und Zonenfeldern – aus optischen Gründen:<\/P>
Konsistente Groß-/Kleinschreibung von Textfeldern<\/span><\/P>Wenn Sie zur Zelle kommen, die den Locator erstellt oder neu aufbaut: Wenn Sie sich nicht in den USA befinden, sollten Sie den Code durch etwas ersetzen, das für Ihr Land gedacht ist. Der Zellcode wurde erstellt, indem der Python-Befehl aus einem manuellen Lauf von Create Locator kopiert wurde – das können Sie genauso tun.<\/P>Bitte kommentieren Sie diesen Beitrag mit Ihren Beobachtungen oder Fragen.<\/STRONG><\/P>