[PYTHON] Geokodierung mit japanischen Adressen

Einführung

Die Adressdaten sowie der Breiten- und Längengrad der repräsentativen Punkte wurden unter "Geolonia Addresses Data | japanische Adressen" veröffentlicht.

Referenz: [Kann zur kostenlosen Freigabe von "Adressstammdaten", zur Vereinheitlichung der Notation und zur Konvertierung in Längen- und Breitengrade verwendet werden - INTERTER Watch](https://internet.watch.impress.co.jp/docs/news/1271/298 /index.html)

Mit diesen Daten habe ich einen Befehl für die Konvertierung von Adresse ⇔ Längen- und Breitengrad erstellt, daher werde ich ihn einführen. Benötigt Python 3.8.

Installation & Konfiguration

Laden Sie zuerst CSV (latest.csv) von "Download" auf der obigen Site herunter. Der heruntergeladene Pfad sei " / path / to / latest.csv ". Führen Sie den folgenden Befehl aus.

pip install simple-geocoding
python -c '__import__("simple_geocoding").Geocoding("/path/to/latest.csv")'

Der zweite Befehl erstellt eine "Adressliste, KDTree und ein Wörterbuch mit Längen- und Breitengraden mit Adressen als Schlüssel" aus CSV und speichert sie mit pickle im Installationsziel.

Wie benutzt man

Adresse → Breite und Länge

simple-Geokodierung 1-chome Marunouchi, Chiyoda-ku, Tokio
>>>
(35.68156, 139.767201)

Wenn es ein Argument gibt, wird es als Adresse betrachtet und in Längen- und Breitengrade umgewandelt. Es wird einfach der adressierte Längen- und Breitengrad zurückgegeben. Zur Vereinfachung wird, selbst wenn es mehrere Breiten- und Längengrade für dieselbe Adresse gibt, nur einer zurückgegeben.

Breite / Länge → Adresse

simple-geocoding 35.68156 139.7672
>>>
1-chome Marunouchi, Chiyoda-ku, Tokio

Wenn es zwei Argumente gibt, wird es als Längen- und Breitengrad betrachtet und in eine Adresse konvertiert. Es wird nach dem nächsten Registrierungspunkt in [KD-Tree] gefragt (https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.KDTree.html).

Ergänzung

Durch die Verwendung einer Datenstruktur namens KD-Tree ist es möglich, ungleichmäßig vorhandene Punkte effizient zu verwalten. Außerdem ist KD-Tree in Python in scipy enthalten, sodass es einfach zu verwenden ist.

Referenz

Recommended Posts

Geokodierung mit japanischen Adressen
Schallgeschwindigkeits-Geokodierung mit Python Geocoder 1.4.0