DE:Overpass API

From OpenStreetMap Wiki
Jump to: navigation, search
Verfügbare Sprachen
Deutsch English 日本語
Overpass API logo.svg

Bitte hilf, diese Seite ins Deutsche zu übersetzen. Wenn jeder, der hier liest und auf der englischen Seite weiter liest, nur einen Absatz übersetzt, dann ist diese Seite bald fertig. Danke!

Status der öffentlichen Server: up and running

Mehr Informationen unter: Overpass_API/status.

Einen weiteren Server stellt Overpass API openstreetmap.fr bereit.

Contents

Einführung

Feuerwehrhäuser und Hydranten in einer Spezialkarte
Mit dem Linienbandgenerator per Overpass Api erzeugtes Band der Buslinie 625 im VRR (Verkehrverbund Rhein-Ruhr)

Die Overpass API (ehemals OSM3S) dient zum selektiven Download von Daten aus der Hauptdatenbank von OSM. Im Fachjargon spricht man von einer Read-Only API. Sie wird von Roland Olbricht (mail: roland.olbricht@gmx.de) entwickelt und betreut. Overpass API wurde auch mit dem Ziel geschrieben, deren Benutzung und auch die dieser Dokumentation möglichst niedrigschwellig zu erlauben. Daher freut sich Roland über jegliche Kommentare hierzu. Ferner bittet er darum, Links zu Anwendungen von Overpass zu übersenden, so dass er möglichen Optimierungsbedarf erkennen kann. Ein niedrigschwelliger Podcast zum Einstieg in Overpass API findet sich bei Radio OSM.

Während die Haupt- (Main-) API hauptsächlich auf das Herunter- und Hochladen beim Editieren der OSM Karte optimiert wurde, konzentriert sich Overpass API auf ein selektives Herunterladen gemäß Benutzerwunsch aus dem Angebot von mehreren Milliarden OSM Objekten. Beispielsweise könnte Eltern von Kleinkindern nach allen Spielplätzen in Wuppertal oder eine Feuerwehr nach allen Hydranten im Ort suchen. Genauer kann man nach Allem suchen, was man als Mapper bei OSM an Informationen hochladen kann, wie Keys, Tags, Objekttypen und dabei mehrere kombinieren. Dabei wurde Wert darauf gelegt, dass die Abfragen ähnlich aussehen, wie die beim Editieren eingetragenen Keys und Tags. Beispielsweise enthält die Abfrage nach Spielplätzen das dem Mapper bekannte "leisure=playground". Darüber hinaus lassen sich beispielsweise auch Umkreissuchen durchführen. Im Endziel sollte man mit kaum mehr als JOSM Mapping-Kenntnissen in die Lage versetzt werden, auch eine solche Abfrage durchführen zu können. So steht denn auch für eine Abfrage aus JOSM heraus ein PlugIn zur Verfügung. Werden solche Abfragen aus Anwendungen heraus automatisiert gestellt, können damit beispielsweise Spezialkarten erzeugt sowie Navigationssysteme und Analysewerkzeuge gefüttert werden.

Eine dieser Anwendungen ist der Linienbandgenerator, den man aus ÖPNV Fahrplänen kennt. Er extrahiert das Linienband per Overpass API direkt aus den OSM Daten. Eine niedrigschwellige Bedienoberfläche findet sich hier. Schneller läßt sich beispielsweise das Band der Buslinie 625 im Verkehrverbund VRR durch folgenden Aufruf in der Adresszeile des Browsers erzeugen:

  • http://overpass-api.de/api/sketch-line?network=VRR&ref=625 in die Adresszeile des Browsers eingetippt und abgeschickt ergibt Klick hier.

Hier bekommmt man einen ersten Eindruck davon, wie die Overpass API funktioniert: Sie sucht hier nach allen Objekten, die von den Mappern mit network=VRR sowie gleichzeitig (ausgedrückt durch &) mit ref=625 getaggt wurden - und findet nur eine Linie. Jeder JOSM-erfahrene Mapper kann nun im obigem Ausdruck die fett gedruckten Werte ersetzen und findet somit jede beliebige in OSM vorhandene Linie.


Overpass API besitzt eine eigene leistungsfähige Abfragesprache (query language) namens Overpass QL. Eine Einführung anhand von Beispielen findet sich hier: language guide; eine Referenz der vorhandenen Kommandos ist: language reference. Einige der Aufgaben, die Overpass API heute erledigt, wurden zuvor von XAPI bereitgestellt. Da Overpass API diese Abfragen mit höherer Geschwindigkeit erledigt und zudem stabiler läuft, übernimmt sie diese Aufgaben zunehmend. Damit auf XAPI beruhende Anwendungen nicht für Overpass API neu geschrieben werden müssen, bietet sie volle Kompatibilität. Das erlaubt eine leichte Umstellung durch einfaches Ändern der URL.

Overpass API eliminiert zudem ein Problem, das unter Anderem auch in diesem Wiki existiert. Wenn ein OSM-Objekt durch die Angabe dessen ID hier verlinkt wird, dann funktioniert dieser Link nicht mehr, wenn das entsprechende Objekt eine neue ID bekam. Die geschieht beispielsweise, wenn es in OSM gelöscht und neu eingetragen wurde. Dazu kennt Overpass API das Konzept der permanenten Links. So kann man in diesem Wiki die Autobahn 555 aufrufen, ohne deren ID zu kennen bzw. zu nennen:

  • Aufruf der Autobahn 555 mit der ID: {{Relation|23092}} ergibt die Darstellung: Relation 23092 (XML, Potlatch2, iD, JOSM, history, analyze, manage, gpx)
  • Aufruf der Autobahn 555 über Overpass API: {{DisplayRoute|network=BAB|ref=A 555}} ergibt die Darstellung: Relation.png OSM


Overpass API wird derzeit auf drei Servern im Internet außerhalb von osm.org angeboten. Zwei dieser Server werden von Roland selbst betreut:

  • http://overpass.osm.rambler.ru/ mit query base address http://overpass.osm.rambler.ru/cgi/ (8 Kerne, 64 GB RAM).
  • http://overpass-api.de/ mit query base address http://overpass-api.de/api/ (4 Kerne, 64 GB RAM). Dieser Server wird vom FOSSGIS Verein betrieben - die Vertretung der deutschen OSM Community.

Jeder der beiden Server hat eine Tageskapazität von 1.000.000 Anfragen. Man kann davon ausgehen, dass bis zu 10.000 Anfragen oder das Äqivalent von 10 GB Download pro Tag und User andere Benutzer nicht einschränkt.

Der dritte Server wird von der französischen OSM Community betrieben. Hier liegen keine genauen Infos vor.

Anfragen (Queries) an Overpass API können in deren eigener Sprache oder in XML gestellt werden. Siehe hierzu die Beispiele weiter unten. (Anmerkung: Der verlinkte Teil wurde noch nicht übersetzt. Siehe daher in der englischen Version dieses Artikels.)

Man kann eine eigene Instanz von Overpass API installieren: Letzte stabile Version oder the git source code repository. Das Ganze ist unter Affero GPL v3 lizenziert. Mithilfe beim Source Code ist sehr willkommen.

Die Sammlung von Beispielen bietet Einsteigern Hilfe.

Eine Präsentation zu einem Vortrag im Sept. 2014 findet sich unter http://overpass-api.de/misc/overpass_bonn_2014.pdf