Alle Städte in Deutschland extrahieren

Hallo,

ich versuche über die Overpass API alle Städte, Gemeinden und Ortsteile (eben jedes Kaff ;)) in Deutschland zu extrahieren. Gibt es da einheitliche Tags die jedem dieser Typen angehängt sind? Ich habe es bisher mit 4 Anfragen probiert:

  • place=city und is_in~Deutschland
  • place=town und is_in~Deutschland
  • place=village und is_in~Deutschland
  • place=suburb und is_in~Deutschland

Damit bekomme ich etwa 28000 Treffer was schon ganz gut ist. Habe ich damit noch etwas vergessen oder gibt es noch weitere Suchanfragen die das Ergebnis verbessern könnte?

LG, mike.

is_in ist eigentlich obsolet und wird nicht immer verwendet.
Benutze doch ein Deutschland Fiel von geofabrik http://download.geofabrik.de/openstreetmap/europe/germany.osm.pbf
und extrahiere daraus die Städte.

Mit place=… bist du schonmal auf dem richtigen Weg. Das würde ich aus einem deutschen Extrakt raus filtern. Nun hast du viele nodes, ways und evtl. auch Multipolygonrelationen. Da das Extrakt aber nicht exakt Deutschland enthält, wirst du entweder manuell oder automatisch genauer schneiden müssen. Ich würde es manuell machen, in dem ich die gefilterte Datei in josm öffne, dann mir die Grenze dazu lade und dann alles purge (strg-shift-p) was außerhalb der Grenze ist. Am Ende noch die Grenze mit ihrer Relation wieder purgen. Durch das Purge verschwinden die Daten komplett und werden in der Datei nicht nur als gelöscht markiert.

Dann musst du noch einen Weg finden die Dopplungen von Node und Polygon los zu werden. Wenn du nur eine Liste willst, dann würde ich das in der Liste machen.

ok danke ich schaue mir die Sachen mal an.

Mit

[timeout:1800];area[name="Deutschland"][admin_level];node(area)[place];out;

bekommst Du sämtliche Nodes in Deutschland, die ein place-Tag haben. Da sind etwas über 96000.