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")
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
Das wird nix. Limit ist eine gleichzeitige Abfrage pro IP-Adresse. Jede weitere Abfrage hängt erstmal in der Warteschleife rum bzw. wird sogar nach Timeout abgebrochen.
Vielleicht kann mir, dem absoluten Programiersprachen-Nichtkenner, hier jemand helfen. Die Beispiele der Wiki haben mir leider nicht geholfen
Ich wollte mal nach der Wochenaufgabe “Richtungsspuren” auswerten, wieviele turn:lanes, turn:lanes:forward und turn:lanes:backward pro Landkreis erfasst sind. Für die Bundesländer hatte ich sowas schon mal jeweils einzeln gemacht.
Rauskommen soll dann irgendeine mit Tabellenkalkulation weiter verwertbare Datei, in der die Landkreise untereinander mit der jeweiligen Anzahl der turn:lanes, turn:lanes:forward und turn:lanes:backward in den Spalten daneben stehen.
Ich hab eine Auswertung für alle Admin-Boundaries bis Level 8 in der Deutschland-BBOX laufen lassen mit diesem Ergebnis (dito bis Level 12. Die Dateien sind UTF-8 codiert und Tab getrennt; sie sollten sich in ein Spredsheet einlesen lassen.
Vergleiche bitte so möglich mit Daten aus anderer Quelle; ich habe ein Programm genutzt, das für einen gänzlich anderen Zweck gedacht ist, (Denk-)Fehler sind da nicht ausgeschlossen.
Kurze Frage zum Regionalschlüssel in Deutschland im allgemeinen und im OSM im speziellen.
Die Regionalschlüssel bilden ja einen Baum (über die ersten identischen Stellen)
Ist nun die überdeckte Fläche aller Blätter eines Astes gleich der überdeckten Fläche des Astes ?
Dann könnte ich mich in meinem kleine Overpass Zählprojekt(*) einfach auf die Blätter “fokussieren”, und bräuchte mich nicht um die unterschiedlichen admin_level zu kümmern. Addieren geht nachher auch einfacher.
Für die anderen gleich vorweg, Christoph wird vermutlich nichts dafür können, dass in der Bundesländerliste dann so seltsame Städe wie Halle, Schwerin und Co. auftreten … ohne geguckt zu haben nehme ich an, dass dort der Regioschlüssel wohl nicht ganz korrekt ist?!
Wenn du auf “Bundesländer” Klickst, wird die Schlüssellänge auf 2 gesetzt.
Er addiert dann alle Zählwerte der Schlüssel die in den ersten beiden Stellen gleich sind, und sucht sich den richtigen Namen dazu (mit OSM Daten).
Funzt auch mit einer Schlüssellänge von 3 (ich habe das mal mit “middle” bezeichnet, da mir nichts eingefallen ist), mit einer Schlüssellänge von 4 (bitte in den Parametern in der URL einstellen) und mit einer maximalen Schlüssellänge (Detail).
Beim Gruppieren auf der Zeitachse wird nicht addiert, sondern der letzte Wert in der Periode genommen.
Christoph
edit: Und die Zahl in den Klammern hinter den Namen ist der admin_level aus der DB.
Danke dafür. Ich werde mir das mal nachher genau anschauen. Wäre hier auf dem Smartphone etwas umständlich. Gegenchecks für einzelne Kreise mache ich mit dem Overpass-turbo als Stichproben.
Jein. Ein Kreis und noch eher ein Bundesland ist potentiell größer als die Vereinigung seiner Gemeinden und gemeindefr. Gebiete. Insb. an der Küste.
Aber das kann man getrost ignorieren, denke ich.
Bevor da jemand übereilig “korrigiert”. Die Regionalschlüssel sollten deutschlandweit eigentlich korrekt sein. Gemeinden (auch kreisfreie) haben immer einen Schlüssel der Länge 12.
Vor allem nicht korrigieren, nur weil das Frontend einer “early pre alpha” “unausgegoren” ist.
Die Schlüssel der Messungen werden jetzt mit ausgegeben, ich müsste noch deutlich machen, das es eine Messung oder eine Aggregation ist. Darüberhinaus hab ich den Admin Level mal temporär aufgenommen.
Nach dem Hinweis von user:Gehrke kann ich dann ja mal anfangen die Zahlen der 11k Ortsteile in einer regelmässigen Nacht und Nebelaktion von der Overpass zu erhalten.