OSM-Hausaufgaben mit der Overpass-API vorbereiten

Die Overpass API ist ein mächtiges Werkzeug, mit dem man OpenStreetMap-Daten aus der Datenbank lesen kann. Ansteuern kann man die API auch direkt im Browser, z.B. mit Overpass Turbo – die Seite bietet eine eingebaute Karte und einen Befehls-Eingabebereich.

Damit lassen sich schnell Abfragen erzeugen und auswerten, um sich meinetwegen Steakhäuser in Hamburg ausgeben zu lassen. Das ist interessant, weil Steaks lecker sind. Und weil die API u.U. sehr große Datenmengen auf Abruf zu durchsuchen hat und dabei einen guten Job leistet. Natürlich ist mein Beispiel ziemlich witzlos und sowieso richtet sich die API eher an Entwickler. Die machen damit coole Sachen, etwa Diagramme für den Nahverkehr generieren.

Mir kam heute aber spontan in den Sinn, mal zu schauen, bei wie vielen Schleswiger Briefkästen keine Leerungszeiten angegeben sind. Die XML-Syntax ist einfach:

<query type="node">
  <has-kv k="amenity" v="post_box"/>
  <has-kv k="collection_times" modv="not" regv="."/>
  <bbox-query {{bbox}}/>
</query>
<print mode="meta"/>

Gesucht werden alle Knoten mit amenity=post_box, die nicht den key collection_times besitzen. Die Syntax für die Verneinung (modv="not" regv=".") hab ich im Language Guide gefunden. Der Platzhalter {{bbox}} wird automatisch durch den jeweils eingeblendeten Kartenausschnitt ersetzt.

Ein Klick auf „Ausführen“, kurz warten und tada: Alle betroffenen Briefkästen werden auf der Karte hervorgehoben. Das Ergebnis hab ich als GPX exportiert und aufs Garmin-Navi geladen. Fahrrad entstaubt und auf gings, ein paar Datenlücken zu schließen.

Seit dem grübel ich über weitere simple Verwendungsideen, die der Qualitätssicherung dienlich sind. Jedenfalls war das mal wieder ein schöner Anlass, um den Hintern aufs Fahrrad zu kriegen!

Weblinks

OSM-Wiki über …

(Obiger OpenStreetMap-Ausschnitt steht unter CC BY-SA-Lizenz, © OpenStreetMap-Mitwirkende.)