overpass turbo
Einfache Analyse von OpenStreetMap-Daten
von Martin Raifer (OSM: tyr_asd)
Einleitung
Die graphische Benutzeroberfläche der Overpass API.
Overpass API:
Durch spezielle Abfragen beliebige Teile von OpenStreetMap-Daten filtern.
“The Overpass API (or OSM3S) is a read-only API that serves up custom selected parts of the OSM map data. It acts as a database over the web: the client sends a query to the API and gets back the data set that corresponds to the query.”
Ausgangspunkt
„Wie bekomme ich meine Daten wieder zurück?“
bisher
planet.osm / Extrakte
:(
:)
Rohdaten
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2013-06-10T16:24:05Z"/>
<node id="336133372" lat="46.6296301" lon="10.4486610">
<tag k="amenity" v="place_of_worship"/>
<tag k="denomination" v="catholic"/>
<tag k="historic" v="monument"/>
<tag k="name" v="Benediktinerinnenkloster St. Johann"/>
<tag k="name:de" v="Benediktinerinnenkloster St. Johann"/>
<tag k="name:en" v="Benedictine Convent of Saint John"/>
<tag k="name:it" v="Convento San Giovanni"/>
<tag k="name:rm" v="Clostra Son Jon"/>
<tag k="note" v="UNESCO World Heritage Site"/>
<tag k="religion" v="christian"/>
<tag k="tourism" v="attraction"/>
<tag k="wheelchair" v="yes"/>
<tag k="wikipedia" v="de:Benediktinerinnenkloster St. Johann"/>
</node>
</osm>
:(
→Overpass TURBo←
:)
Beispiel
Trinkbrunnen in einem Gebiet
...
overpass API:
Was noch alles geht
- Abfrage nach Timestamp
→ latest-changes - Abfrage nach User
- Suche in Polygon
- …
overpass turbo
Overpass API + UI + Erweiterungen
+ „erweiterte“ overpass abfragen
- Shortcuts:
<bbox-query {{bbox}} />
statt:
<bbox-query s="46.41253" w="11.16760" n="46.51894" e="11.32415" />
- Stylesheets:
{{style: … }}
+ MapCSS
+ MapCSS
+ Export
- OSM-XML
- GeoJSON
- GPX
- PNG
+ viele weitere Kleine Features
- Abfragen Teilen
- “repair query ”
- Templates
- einbettbare Karte
- uvm.
Ziele
- “Give the data back to the people”
-
Barriere für den Zugriff auf OSM-Daten senken
-
„80% der Probleme in 20% der Zeit“
- Brücke zwischen Desktop-GIS und Web-GIS
Technik
100% JavaScript im Browser
Datenanzeige: Leaflet
Dateformat: GeoJSON
Ablauf
- Erweiterte Query parsen
-
Absenden der Anfrage an den Overpass API Server
-
Resultat interpretieren:
Fehlermeldung oder gültige XML/JSON Daten?
- OSM-Daten parsen und in GeoJSON konvertieren
-
MapCSS Styles anwenden
- Vektordaten mit Hilfe von Leaflet darstellen
“Polygon Features”
OSM-way
Darstellung: Linie oder Polygon?
Heuristik
Polygon dann, wenn:
- Weg geschlossen
- nicht area=no
- Vorhandensein bestimmter Tags, z.B.:
- building
- highway=services (nicht aber highway=service)
- …
Small Features Dilemma
Problem:
POI kann Punkt oder Fläche sein
Zoomen: Punkt unverändert, Fläche skaliert
POI kann Punkt oder Fläche sein
Zoomen: Punkt unverändert, Fläche skaliert
„unfair“
Lösung:
Leaflet Small Features Plugin
Beim Zoomen: Sobald Größe ≲ Punkt-POI:
Darstellung ebenfalls als Punkt
Beim Zoomen: Sobald Größe ≲ Punkt-POI:
Darstellung ebenfalls als Punkt
Zukunft
1. Mehr MapCSS
Hintergrund setzen
canvas {
background-map: url('http://tiles.example.com/{z}/{x}/{y}.png');
}
Labels
node[amenity=restaurant] {
text: content('name');
}
Popup-Inhalt setzen
node[highway=bus_stop] {
popup: 'Eine Bushaltestelle';
}
Linien-Casings
2. Plugins
- alternative Datenquellen …
- … und neue Datenformate
- mehr Export-Formate
- UI-Erweiterungen
- uvw.
Einbinden z.B. durch
{{plugin:elevation-profile}}
UI-Erweiterung: Beispiel Höhenprofile
Clustered markers Anzeige
3. NO MORE “RUN”
Bonus: Stats
Ausgeführte Abfragen seit mitte Jänner:
~60.000
~60.000
Seitenaufrufe / Benutzer:
Danke! Noch FRAGEN?
Martin Raifer
http://github.com/tyrasd
overpass turbo FOSSGIS 2013
By Martin Raifer
overpass turbo FOSSGIS 2013
A short presentation (in German ) about overpass turbo (http://overpass-turbo.eu) I held at the FOSSGIS 2013.
- 5,834