overpass turbo - eine Web-GUI für die Overpass-API

Gerne präsentiere ich euch mein Projekt (das ich nun schon viel zu lange geheim gehalten habe ^^): overpass turbo ist ein Web basierendes graphisches Userinterface für die Overpass API.

Ich bin der Meinung, dass die Overpass API ein sehr hilfreiches Tool für Mapper und Entwickler sein kann (z.B. wegen seiner Stärke beim Filtern von OSM-Daten). Leider gab es bis jetzt keine einfache, schnelle und effiziente - kurz gesagt benutzerfreundliche - Möglichkeit, die Overpass API richtig auszunützen. Bis jetzt: Mit overpass turbo kann man beliebige Overpass API Abfragen ausführen und die Ergebnis-Daten auf einer interaktiven Karte analysieren.

Hier sind ein paar Anwendungsfälle, wo overpass turbo praktisch sein könnte:

  • Beim Suchen nach (seltenen) Tippfehlern oder Namenskonventionsbrüchen, die noch von keinem QA Tool abgedeckt sind.
  • Zum Anzeigen und Untersuchen von geografisch großen Objekten (Grenzen, Flüssen, Autobahnen, ÖPNV-Linien, usw.).
  • Immer dann wenn man nur einen gefilterten Teil der OSM-Daten benötigt.
  • Zum Testen und Entwickeln von mehr oder weniger komplexen Overpass API Anfragen.
  • Um Prototypen von anklickbaren oder statischen Karten zu erstellen, die bestimmte OSM Objekte anzeigen.

http://overpass-turbo.eu

Das ist der Link, um zu overpass turbo zu gelangen (alternativ gibt es auch eine Installation auf overpass-api.de). Man benötigt einen halbwegs aktuellen Web-Browser um overpass turbo zu benützen. Opera, Chrome und Firefox wurden getestet und funktionieren (IE 10 sollte auch gehen).

Weitere Informationen, Screenshots, Beispiele, usw. gibt es auf der OSM-wiki Seite oder im github repository.

Edit: Ein Riesen Dank geht natürlich an Roland, der durch seine Overpass API das Ganze erst möglich gemacht hat.

Viel Spaß damit :slight_smile:
Martin / tyr_asd

Hi, danke erstmal für deine Mühe.

Und Win7, FF18.0.1 passiert leider rein gar nix, unter Chrome kann man die Karte nicht verschieben (sieht sonst aber schon nett aus)

win7 64bit mit FF18.0.1 geht bei mir einwandfrei.

Hier geht’s. Win7-64 FF18.0.1.

Schönes Tool, Danke! :slight_smile:

Hi, habe leider nur ein WinXP zum Testen, aber da funktionieren FF18.0.1 und Chrome 24 problemlos. Kannst du evtl. die Fehlermeldungen posten (Firefox: Strg+Umschalt+K)?

Können Flächen-POIs noch nicht in der Karte angezeigt werden?
zB. :

<query type="way">
  <has-kv k="tourism" v="hotel"/>

liefert nur den Daten-Output, aber auf der Map wird nichts gezeigt.


[12:10:22.823] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/CodeMirror/lib/codemirror.css:71
[12:10:22.823] Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/CodeMirror/lib/codemirror.css:111
[12:10:22.827] Unbekannte Eigenschaft 'user-select'.  Deklaration ignoriert. @ http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.css:27
[12:10:22.827] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.css:114
[12:10:22.828] Unbekannte Eigenschaft '-moz-box-shadow'.  Deklaration ignoriert. @ http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.css:369
[12:10:22.829] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:13
[12:10:22.829] Unbekannte Eigenschaft '-moz-box-shadow'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:30
[12:10:22.829] Fehler beim Verarbeiten des Wertes für 'background'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:34
[12:10:22.829] Farbe erwartet, aber 'top' gefunden.  Fehler beim Verarbeiten des Wertes für 'background'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:39
[12:10:22.829] Fehler beim Verarbeiten des Wertes für 'background-image'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:55
[12:10:22.829] Farbe erwartet, aber 'top' gefunden.  Fehler beim Verarbeiten des Wertes für 'background-image'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:60
[12:10:22.829] Unbekannte Eigenschaft 'zoom'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:18
[12:10:22.829] Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:19
[12:10:22.830] Unbekannte Eigenschaft '-moz-border-radius-topleft'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:280
[12:10:22.830] Unbekannte Eigenschaft '-moz-border-radius-topright'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:281
[12:10:22.830] Unbekannte Eigenschaft '-moz-border-radius-bottomleft'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:282
[12:10:22.830] Unbekannte Eigenschaft '-moz-border-radius-bottomright'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:283
[12:10:22.830] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:287
[12:10:22.831] Fehler beim Verarbeiten des Wertes für 'background'.  Deklaration ignoriert. @ http://overpass-turbo.eu/default.css:73
[12:10:22.831] Deklaration erwartet, aber '!' gefunden.  Übersprungen bis zur nächsten Deklaration @ http://overpass-turbo.eu/default.css:250
--
[12:10:41.293] TypeError: piwikTracker is undefined @ http://overpass-turbo.eu/:1

Doch, doch. Du musst aber aufpassen, dass die Overpass Abfrage auch die Nodes liefert: Beispiel

Edit: PS: Als Flächenfeatures werden zur Zeit nur Polygone und einfache Multipolygone (genau 1 outer way) unterstützt. Komplexere Multipolygone stehen noch auf der TODO Liste.

@S-Man42:
danke, Fehler gefunden und sollte mittlerweile schon behoben sein. :sunglasses: Kannst du das nochmal überprüfen?
Die Karte unter Chrome funktioniert immer noch nicht? Welche Chrome-Version verwendest du denn?

Geht :slight_smile:

Bei mir kommt beim Start die Meldung “Your browser is not supportet”. Nach wegklicken funktioniert die Demo-Abfrage.
Win7-64 FF18.0.1.

[12:58:24.319] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/CodeMirror/lib/codemirror.css:71
[12:58:24.319] Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/CodeMirror/lib/codemirror.css:111
[12:58:24.326] Unbekannte Eigenschaft 'user-select'.  Deklaration ignoriert. @ http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.css:27
[12:58:24.326] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.css:114
[12:58:24.327] Unbekannte Eigenschaft '-moz-box-shadow'.  Deklaration ignoriert. @ http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.css:369
[12:58:24.330] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:13
[12:58:24.330] Unbekannte Eigenschaft '-moz-box-shadow'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:30
[12:58:24.330] Fehler beim Verarbeiten des Wertes für 'background'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:34
[12:58:24.330] Farbe erwartet, aber 'top' gefunden.  Fehler beim Verarbeiten des Wertes für 'background'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:39
[12:58:24.330] Fehler beim Verarbeiten des Wertes für 'background-image'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:55
[12:58:24.330] Farbe erwartet, aber 'top' gefunden.  Fehler beim Verarbeiten des Wertes für 'background-image'.  Deklaration ignoriert. @ http://overpass-turbo.eu/libs/locationfilter/src/locationfilter.css:60
[12:58:24.332] Unbekannte Eigenschaft 'zoom'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:18
[12:58:24.332] Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:19
[12:58:24.332] Unbekannte Eigenschaft '-moz-border-radius-topleft'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:280
[12:58:24.333] Unbekannte Eigenschaft '-moz-border-radius-topright'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:281
[12:58:24.333] Unbekannte Eigenschaft '-moz-border-radius-bottomleft'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:282
[12:58:24.333] Unbekannte Eigenschaft '-moz-border-radius-bottomright'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:283
[12:58:24.333] Unbekannte Eigenschaft '-moz-border-radius'.  Deklaration ignoriert. @ http://overpass-turbo.eu/jquery-ui.css:287
[12:58:24.337] Fehler beim Verarbeiten des Wertes für 'background'.  Deklaration ignoriert. @ http://overpass-turbo.eu/default.css:73
[12:58:24.338] Deklaration erwartet, aber '!' gefunden.  Übersprungen bis zur nächsten Deklaration @ http://overpass-turbo.eu/default.css:250
[12:58:24.503] getAttributeNode() sollte nicht mehr verwendet werden. Verwenden Sie stattdessen getAttribute(). @ http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js:2

Gruß Norbert

@Fischkopp: Hast du zufällig bei deinen Cookie Einstellungen “Ask every time” (o.ä. auf Deutsch) eingestellt? Wenn ja, dann ist das ein Bug des Browsers ( https://bugzilla.mozilla.org/show_bug.cgi?id=748620 ) gegen den ich nichts machen kann. Die Fehlermeldung erscheint, weil in deinem Fall wirklich einige Funktionen nicht funktionieren werden (z.B. speichern der settings). :frowning:

Danke, ich versuche jetzt schon seit Stunden Node- und Flächen POIs gleichzeitig rauszukriegen.
Eventuell könnte man da noch nen Shortcut {{POI amenity=restaurant}} oder so machen. :wink:

Alles klar. Cookies waren für diese Seite verboten. Jetzt geht´s
Vielleicht solltest du das im Meldungsfenster als mögliche Ursache angeben.

Gruß Norbert

Du brauchst dazu zwei Dinge:

Das dauert ein wenig, bis man das erst mal raus hat.
Das folgende Skript ermittelt die Stadteile in Bonn. Das mag dir als Muster für union und recurse dienen.


<osm-script>
  <union>
  <query type="relation">
    <has-kv k="boundary" regv="postal_code|administrative"/>
    <has-kv k="admin_level" regv="10"/>
    <bbox-query s="50.63" n="50.775" w="7.01" e="7.215"/>
  </query>
  <recurse type="relation-way"/>
  <recurse type="way-node"/>
  </union>
  <print/>
</osm-script>

Edbert (EvanE)

Hallo Martin

Wow!
So etwas in einfacherer Form (Skript und Ergebnis nebeneinander) hatte ich beim letzten Stammtisch Roland vorgeschlagen. Und einen Tag später kommst du mit einer deutlich (gegenüber meinen Wünschen) aufgepeppten interaktiven Lösung daher.

  • Die Ergebnisse können in der Karte einzeln angeklickt werden.
  • Das Schreiben der Skripts wird durch Syntax-Highlightning unterstützt.

Voller Bewunderung
Edbert (EvanE)

Dafür müsstest du die je ein query-statement für die ways und die nodes abschicken: Beispiel.
Am besten du liest dich erstmal richtig in die Overpass API ein. Meiner Meinung nach lohnt es sich; wenn man es erst mal raus hat, kann man ganz viele coole dinge damit anstellen! :wink:

Kling sinnvoll; habe ich jetzt mal in die Fehlermeldung integriert!

Vielen Dank für die Blumen :slight_smile:

Allerhöchste Anerkennung!!! das Interace vereinfacht den Umgang mit Overpass-API sehr.

Ich kann aber die abgefragten Nodes
( zuerst mit eigener abfrage dann mit dem drinkingwater Beispiel durchgeführt)
mit der Exportfunktion nicht in JOSM laden. In der Karte werden die abgefragten Nodes dargestellt.

Ich starte JOSM über eine Batch-Datei, im Batch-Fenster unter Win-XP Pro bekomme ich die unter anderem die Anzeige:

Get Http:/…

Während des Einlesens wurde ein undefiniertes Element “note” gefunden. Dieses wird ignoriert.
Während des Einlesens wurde ein undefiniertes Element “meta” gefunden.Dieses wird ignoriert.

Josm bleibt leer… :frowning:

Hab ich irgendwas übersehen ?

Höhstwahrscheinlich hast du keine Metadaten mitgeschickt. Statt musst du also (bzw statt out; dann out meta;) verwenden. Außerdem darf das Ausgabeformat nicht json sein.

Das steht zwar schon im Export-Dialog dabei: “(only for queries returning valid OSM-XML with meta data)” :P, allerdings gebe ich dir recht, dass im Fall der Fälle trotzdem eine Warnung ausgegeben werden sollte. Setze ich auf die TODO-Liste. :sunglasses:

und schon funktionierts… :sunglasses: danke