[Talk-de] Vorträge auf der FOSSGIS

Roland Olbricht roland.olbricht at gmx.de
Fr Dez 28 10:16:07 UTC 2012


Liebe Mitmapper,

für die kommende FOSSGIS im Juni 2013 habe ich noch zu viele Ideen für 
Vorträge. Ich würde Euch daher unter den nachfolgenden Vorschlägen um ein 
Votum bitten, was ich anmelde.

Es gibt dabei auf der FOSSGIS die beiden Vortragsformen "Vortrag" und 
"Workshop"; für einen "Lightning Talk" sind die Ideen alle zu umfangreich. 
"Vortrag" ist ein normaler 30- bis 45-minütiger Vortrag. Ein "Workshop" 
umfasst mehr Zeit, ist aber für die Teilnehmer gebührenpflichtig; die Gebühren 
dienen dem FOSSGIS zur Finanzierung der Konferenz. Ich werde die Materialien 
aus dem Workshop daher dann nachher auch in anderer Form zugänglich machen, so 
dass auch Teilnehmer mit schmalen Bugdet davon profitieren. Die Vortragsfolien 
wird es ohnehin online geben.


== Syntax und Semantik der Overpass API ==

Die Overpass API ist eine über das Web erreichbare Datenbank, die den OSM-
Datenbestand spiegelt. Sie bietet dabei schnellen Lesezugriff mit 
umfangreichen Abfragemöglichkeiten und ergänzt so die zentrale OSM-Datenbank, 
die auf Schreiboperationen ausgelegt ist.

Die Overpass API wird heute bereits für eine Vielzahl von Anwendungen, z.B. 
zur Qualitätssicherung, für in Echtzeit erzeugte Kartenoverlays, thematische 
Downloads oder auch zur Beschleunigung der Main API verwendet.
Ihren Geschwindigkeitsvorteil erzielt die Overpass API durch eine optimierte 
Datenhaltung anstatt einer relationalen Datenbank.

In diesem Vortrag wird in die Abfragesprache systematisch eingeführt.
Als Beispiele werden ein Kartenoverlay auf Basis von OpenLayers erstellt,
es wird die spezielle Area-Syntax zur Generierung der Straßenliste einer Stadt 
verwendet, und es wird als Beispiel für eine mehrstufige Abfrage das Tool zur 
Erstellung von Bus- und Bahn-Linienbändern und -plänen vorgestellt.


== Mobile Karten erstellen mit OSM, OpenLayers und Overpass API ==

Mit OpenStreetMap stehen nicht nur freie Daten zur Verfügung, sondern wegen 
der hervorragenden Community decken diese auch ein sehr breites thematisches 
Spektrum ab, und sie erreichen dabei eine Aktualität, die sich eher in Tagen 
und Stunden als Monaten und Jahren bemisst.

Mit der Kombination der freien Werkzeuge OpenLayers und der Overpass API 
lassen sich diese leicht in einer Karte für thematische Overlays 
visualisieren, die sowohl gleichermaßen auf dem Desktop wie auf mobilen 
Endgeräten funktioniert, aber trotzdem nicht mehr Infrastruktur als eine 
einfache HTML-Seite braucht. Dank Overpass API ist sie stets minutenaktuell 
und auch spontan im HTML-Code oder sogar zur Laufzeit konfigurierbar.

Anhand einer Beispielkarte werden die Möglichkeiten erläutert: Es wird 
gezeigt, wie durch ein durchdacht einfaches Bedienkonzept und Nutzung der 
Geolokalisierung eine Smartphone-freundliche Karte entsteht. Wir werden eigene 
Kategorien von Points of Interest spontan als Kartenoverlay hinzufügen. Und es 
wird gezeigt, wie durch Kombination von Tag-Verarbeitung auf dem Client und 
Rückgriff auf die Nominatim-API zu jedem POI automatisch eine Adresse 
ermittelt werden kann.


== Änderungsverfolgung in OSM ==

Nachdem der OpenStreetMap-Community die Aufgabe, Daten zu erfassen, mit 
Bravour erfüllt hat, tritt zunehmend auch die Aufgabe der Datenpflege in den 
Vordergrund. Fehlerhafte oder veraltete Daten sind dabei mindestens so heikel 
wie fehlende Daten, denn sie untergraben das Vertrauen in die Qualität der 
Datenbank.

Dabei kann es für fehlerhafte Daten viele Ursachen geben: Weit häufiger als 
Vandalismus sind dies Bedienfehler von Neu-Mappern. Noch schwieriger zu finden 
sind Seiteneffekte anderer Edits wie beschädigte Relationen, nicht eindeutige 
oder irrtümlich gewählte Tags oder sogar unerwartete Nebenwirkungen der 
wenigen Methoden, bereits hochgeladene Änderungen rückgängig zu machen.

Wir geben einen Überblick, mit welchen Tools sich Änderungen visualisieren und 
verfolgen lassen, stellen Methoden zur Wiederherstellung alter Datenzustände 
vor und erläutern, wie sich auf Basis der Neuentwicklung "Augmented Diffs" 
eigene, spezialisierte Tools entwickeln lassen.


== Augmented Diffs in der Praxis ==

Der Wunsch in Frederik Ramms Vortrag zu "Augmented Diffs" vom letzten Jahr ist 
seit dem Hack-Weekend in Karlsruhe im Oktober 2012 Wirklichkeit geworden: Die 
Augmented Diffs bieten zusätzlich zu den Diffs der Main API alle nötigen 
Informationen, um Änderungen geographisch verorten zu können oder auch einen 
Diff in der Zeit rückwärts anwenden zu können. Sie stellen damit ein sehr 
hilfreiches Werkzeug zur Änderungsverfolgung dar.

Leider sind die "Augmented Diffs" aber auch in den Mühen der Ebene angekommen: 
Die potentiellen Anwendungen für Augmented Diffs sind so unterschiedlich, dass 
verschiedene Formate notwendig werden. Schon beim Löschen eines Elementes 
müssen zwei statt einem Satz Metadaten hinzugefügt werden. Die Geometrie eines 
Weges oder einer Relation kann sich ändern, ohne dass für diesen eine neue 
Versionsnummer vergeben wird. Beschränkt man den Augmented Diff geographisch, 
so können sogar Objekte ohne Versionsänderung im Augmented Diff als gelöscht 
markiert werden müssen. Insgesamt ergibt sich eine unerwartet komplexe 
Semantik von Änderungstypen.

Dazu kommen Probleme jenseits der Semantik: Einerseits sollen Relationen 
komplett aufgeführt werden, wenn sich ihre Geometrie ändert. Andererseits 
sorgt dies bei den doch häufigen Änderungen an Landesgrenzen für Dateigrößen, 
die nicht nur für andere Clients schwer beherrschbar sind, sondern auch 
erhebliche Kapazitäten des Server belegen. Sie sorgen zudem dafür, dass sich 
nur schwer Zeiträume von mehr als einigen Stunden überbrücken lassen.

Es wird als Ausweg ein Ausblick auf den zukünftigen Full-History-Modus der 
Overpass API gegeben: Damit können dann Augmented Diffs mit den auf den 
jeweiligen Anwendungszweck zugeschnittenen Inhalten generiert werden, so dass 
insbesondere längere Zeiträume für kleine Bounding Boxen schnell erstellt 
werden können, was wiederum die Änderungsverfolgung drastisch verbessert.


-----------------------------------------------------------------------------

Ich werde realistischerweise höchstens einen Workshop plus einen Vortrag 
vorbereiten können. Bitte bennent ein Wuschthema für einen Workshop und ein 
Wunschthema für einen Vortrag. Wie üblich werde ich nicht strikt auszählen, 
sondern den besten Argumenten folgen wie z.B. inhaltliche Überschneidungen zu 
ähnlichen Vorträgen zu vermeiden.

Viele Grüße,

Roland





Mehr Informationen über die Mailingliste Talk-de