x

Zählen mit Overpass Turbo für Wochenaufgaben


Geschrieben von TheFive (Gast) am 24. September 2014 21:17:34: [flux]

Nach der Aufgabe mit der Adressstatistik und dem User:gehrke Support habe ich immer drüber nachgedacht, wie einfach ohne Datenbank eine Auswertung nach Landkreisen mit der Overpass gemacht werden kann. (bin auch parallel darauf angesprochen worden).

Habe ein unreifes Zwischenergebnis (Beta auf dem Mac), das ich hier gerne teilen möchte.

Datei QueryOSM.tmpl (Beinhaltet die overpassabfrage, die lediglich IDs zum Count ausgibt, #REGIO# wird durch den Regionalsschlüssel o.ä ersetzt.

area["de:regionalschluessel"=#REGIO#];
(node(area)[amenity=pharmacy];
way(area)[amenity=pharmacy];
rel(area)[amenity=pharmacy]);
out␣ids;

Datei GetData.sh (Das eigentliche Script)

#␣Überschrift␣für␣die␣CSV␣Datei␣schreiben
echo␣"Regionalschluessel;Anzahl"␣>␣out.erg
#␣regiolist.txt␣Datei␣mit␣allen␣angefragten␣Regionalschlüsseln␣öffnen
cat␣regiolist.txt␣|␣while␣read␣line
do
#␣Overpass␣Template␣Datei␣Regionalschlüssel␣durch␣aktuellen␣ersetzen
sed␣'s/'#REGIO#'/'$line'/g'␣QueryOSM.tmpl␣>Query.osm
#Abfrage␣der␣Overpass␣mit␣curl
curl␣-o␣target.osm␣-d␣@Query.osm␣"http://overpass-api.de/api/interpreter"
#␣Ausgabe␣des␣Regionalschlüssels␣mit␣;
echo␣-n␣"$line;"␣>>out.erg
#␣Und␣die␣Anzahl␣der␣IDs␣hinterher.
grep␣-c␣"id"␣target.osm␣>>out.erg
done

dann noch die unspektakuläre Datei regiolist.txt (Auszug, vollständige Listen einfach aus der WA3334 zusammen"klauben")

055150000000
05762
020000000000
081110000000
06531
06440
095630000000
03353
08415
08216
08116
06633
05554
06439
08315

Zum installieren alles in einen Ordner packen und das GetData.sh ausführen.
Ich gehe davon aus, das das auf Linux auch 1:1 läuft (da der Mac kein standardmässig kein wget hat, habe ich curl genommen).
Was unter Windows zu installieren ist, damit man das Script laufenlassen kann, weiss ich leider nicht.

Christoph
P.S. was gezählt wird, verrate ich nicht :-)


Antworten: