Ich habe eine Liste mit 2000 Adressen wie diese:
Macquarie Park, New South Wales
Kitami, Hokkaido
Hachioji, Tokyo
Pokemon Inc. Asahi Bldg. 7F 3-2-6 Asakusabashi Taito-ku, Tokyo 111-0053 Japan
東京都港区
Und ich möchte sie auf einer Karte anzeigen, ohne diese Adressen über das Internet zu senden .
Adressen geokodieren:
Ausgabeformat:
.osm
// Dateiausgabe ist in Ordnung .obf
..kml
Anforderungen:
Dies könnte mit der unter ODbL lizenzierten OpenStreetMap-API möglich sein .
Ich habe es eine Weile nicht benutzt, aber im Grunde definieren Sie ein Rechteck ( bbox
, Begrenzungsrahmen) aus zwei Punkten (S, N, W und E). Da der maximale Bereich des Begrenzungsrahmens begrenzt ist, müssten Sie die Abfrage für kleine Teile der Welt wiederholen (wo Bereiche mit der Größe von Deutschland normalerweise in Ordnung sind).
Dann definieren Sie die Bedingungen für das, was Sie erhalten möchten. Für Städte place=city
wäre das eine solche Bedingung. Leider kann die Kategorisierung von Städten länderspezifisch sein, also müssen Sie die Dokumentation lesen und herausfinden.
Beispiel-API-Abfrage für Städte in Deutschland (grob, da rechteckig):
http://www.overpass-api.de/api/xapi?node[bbox=5.87,47.27,15.04,55.12][place=city]
Das Ergebnis ist ziemlich klein (155 kB) und enthält relevante Informationen:
<node id="17193023" lat="49.5981208" lon="11.0036532">
<tag k="ele" v="279"/>
<tag k="is_in" v="Mittelfranken,Bayern,Bundesrepublik Deutschland,Europe"/>
<tag k="is_in:country" v="Germany"/>
<tag k="is_in:country_code" v="DE"/>
...
<tag k="name" v="Erlangen"/>
<tag k="name:ta" v="எர்லங்கன்"/>
...
<tag k="place" v="city"/>
<tag k="population" v="105624"/>
...
</node>
Dies ist eine Antwort, weil:
name:ta
lon
und lat
)Es tut mir leid, dass für diese Antwort noch eine benutzerdefinierte Programmierung erforderlich ist, aber angesichts des Alters der Frage und der noch fehlenden Antworten denke ich, dass Ihre Anfrage sehr spezifisch ist und nur so gelöst werden kann.
Hirsch Jäger
Hirsch Jäger
Nikolaus Raul
Nikolaus Raul