OpenStreetMap und externe Datenbanken: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
K (Einleitung)
K (Einleitung)
Zeile 9: Zeile 9:
 
Man kann folgende externe Datenbanken unterscheiden:
 
Man kann folgende externe Datenbanken unterscheiden:
 
# Externe Datenbanken im engeren Sinne, welche die OSM-Daten zu sich kopieren, filtern und aufbereiten (ohne eigene Daten/Ebenen), z.B. OpenStreetBugs, Lonvia's Wanderkarte, [http://wheelmap.org/?a=b&lat=47.2269198&lon=8.8245459&q=Rapperswil&zoom=17 Wheelmap].
 
# Externe Datenbanken im engeren Sinne, welche die OSM-Daten zu sich kopieren, filtern und aufbereiten (ohne eigene Daten/Ebenen), z.B. OpenStreetBugs, Lonvia's Wanderkarte, [http://wheelmap.org/?a=b&lat=47.2269198&lon=8.8245459&q=Rapperswil&zoom=17 Wheelmap].
# Externe Datenbanken im weiteren Sinne, welche die OSM-Daten zu sich kopieren, filtern und mit eigenen Daten verknüpfen (v.a. mit der OSM-ID). Das Resultat davon muss dann wieder OSM zurückgeben werden und alles als ODbL lizenzieren sein.
+
# Externe Datenbanken im weiteren Sinne, welche die OSM-Daten zu sich kopieren, filtern und mit eigenen Daten verknüpfen (v.a. mit der OSM-ID). Das Resultat davon muss unerliegt der ODbL Lizenz.
# Externe Datenbanken im weiteren Sinne, welche die eigenen Daten mit OSM vergleichen (v.a. mit der OSM-ID), ansonsten aber weitgehend eigenständig sind.
+
# Externe Datenbanken im weiteren Sinne, welche die eigenen Daten mit OSM vergleichen (v.a. mit der OSM-ID), ansonsten aber weitgehend eigenständig sind (auch lizenzmässig).
  
 
== Lösungsansätze ==
 
== Lösungsansätze ==

Version vom 4. November 2012, 19:29 Uhr

Dies ist ein Versuch, die Beziehung von OpenStreetMap (OSM) und externen Datenbanken, bzw. weitere Gemeinschaften zu untersuchen und Verknüpfungsmöglichkeiten aufzuzeigen.

Einleitung

OpenStreetMap-Daten können mit anderen (Geo-)Daten verknüpft werden. Diese anderen Daten können einfache Kopien oder Ausschnitte von OSM oder aber eigenständige 'Fachinformationssysteme' (FIS,en: Professional Information System, PIS) sein. Die Mitglieder, die an den FIS beteiligt sind, können 'Fachinformationsgemeinschaften' (FIG, en:Professional Information Community/PIC) genannt werden.

Es muss vorausgeschickt werden, dass die Hauptinfrastruktur von OSM v.a. auf Webdienste ausgerichtet sind, welche es erlauben, die OSM-Datenbank zu pflegen v.a. mittels Editoren. Sobald ressourcen-intensivere Aufgaben anfallen (wie z.B. Spezialkarten), müssen die Daten von OSM zu sich kopiert werden. Das können vorgefertigte räumliche Ausschnitte davon sein und/oder sog. differentielle Updates.

Man kann folgende externe Datenbanken unterscheiden:

  1. Externe Datenbanken im engeren Sinne, welche die OSM-Daten zu sich kopieren, filtern und aufbereiten (ohne eigene Daten/Ebenen), z.B. OpenStreetBugs, Lonvia's Wanderkarte, Wheelmap.
  2. Externe Datenbanken im weiteren Sinne, welche die OSM-Daten zu sich kopieren, filtern und mit eigenen Daten verknüpfen (v.a. mit der OSM-ID). Das Resultat davon muss unerliegt der ODbL Lizenz.
  3. Externe Datenbanken im weiteren Sinne, welche die eigenen Daten mit OSM vergleichen (v.a. mit der OSM-ID), ansonsten aber weitgehend eigenständig sind (auch lizenzmässig).

Lösungsansätze

Lösungsansätze aus Sicht externe DB:

  1. Variante "SET OF ExtDB[osm_id]->OSM". Ein oder mehrere Objekte der externen DB speichern bei sich die OSM-ID ("osm_id") - nebst weiteren Sachdaten (und ev. weiteren Objekten mit Geometrie).
  2. Variante "OSM[tag_id]->ExtDB": In OSM wird in den Tags eine "Tag ID" ("tag_id") erfasst, die auf die ID eines Objekts der externen DB zeigt. Die externe DB versucht "synchron" zu bleiben mit OSM.
  3. Variante "OSM[SET OF tags]->ExtDB": Die externe DB identifiziert eine (möglichst) eindeutige Kombination von Tags (ohne ID) und macht eine Query, um diese zu finden.

Diskussion der Lösungsansätze:

  • In allen drei Fällen ist nicht ausgeschlossen, dass von den Applikationen auch Daten wieder an OpenStreetMap zurückgegeben werden (z.B. Wheelmap).
  • "allgemeinen Prüfung"
  • Es macht die Lösung einfacher, wenn die Geometrie nur in OSM verwaltet wird, wie dies z.B. bei Wheelmap der Fall ist.

Zur Variante 1:

  • Für die Verknüpfung bietet sich technisch die OSM-ID an - und das wird auch bei einigen Projekten so ausgenutzt. Die Eindeutigkeit und Unveränderbarkeit von OSM-IDs ist aber nicht garantiert! Dies u.a. um die Unabhängigkeit von OSM zu wahren und intern reorganisieren zu können (vgl. dazu einige Diskussionen auf Talk-de).
  • Diese Variante belastet OSM am wenigsten.
  • Diese Variante hat aber nebst der OSM-ID auch den Nachteil, dass die OSMler nicht realisieren, dass da etwas "dranhängt" und löschen als Folge davon unbedacht Nodes (und in OSM gibt es kaum ein "Loesch- und Editierverbot"). Es gibt einige Projekte, die das verwenden, z.B. OpenStreetBugs.
  • Eine Lösung dazu bietet z.B. der FeatureServer (siehe dazu die Demoseite. Unter Berücksichtigung der ODbL könnte man so sogar eigene Sachdaten erfassen und diese mit OSM verknüpfen).
  • Um - nebst der "allgemeinen Prüfung" (vgl. oben) - "synchron" zu bleiben (falls gefordert), muss die externe DB in allen Änderungen nach den OSM-ID bezeigten Objekten suchen und zusätzlich mit Regeln überprüfen, ob neue Objekte in OSM eingefügt werden, welche die externe DB betreffen.

Bei der zweiten Variante...

  • könnte man eigene Tags oder Tags z.B. mit Präfix (in der Art "TMC:tmc_id=8326765") angeben bei der der Präfix ein Hinweis auf das Projekt ist. Ein akzeptiertes Beispiel dafür ist das Wikipedia-Tag.
  • Diese ist relativ einfach zu realisieren, denn es können die Werkzeuge rund um OSM genutzt werden. Die eigene Infrastruktur verlangt nicht einmal eine eigene Datenbank; für den Anfang reicht ein einfaches Content Management Systeme, das bis zu Webdiensten ausgebaut werden kann.
  • Die Variante soll aber mit besonderer Zurückhaltung gehandhabt werden, d.h. es sind die OSM-Richtlinien zu konsultieren. Ein Beispiel dafür ist Wheelmap.
  • Um - nebst der "allgemeinen Prüfung" (vgl. oben) - "synchron" zu bleiben (falls gefordert), muss die externe DB nur die Änderungen in OSM mit der "eigenen" Tag-ID untersuchen.

Zur dritten Variante:

  • Hier handelt es sich meist um Datenbanken im weiteren Sinne, die von FIGs verwaltet werden.
  • Dabei müssen die FIGs die Lizenzbestimmungen von OSM beachten. Dies gilt besonders, wenn die OSM-Daten heruntergeladen und zusammen mit anderen in einer Datenbank verwaltet werden.
  • Diese Variante eignet sich kaum zur Automatisierung und engen Verknüpfung mit OSM. Sie eignet sich in Fällen, wo die Beziehung zwischen FIS und OSM "lose" ist. Vgl. dazu die Verknüpfung von Wikipedia mit Objekten und Kartenausschnitten in OpenStreetMap z.B. in 'WIWOSM'.
  • Um - nebst der "allgemeinen Prüfung" (vgl. oben) - "synchron" zu bleiben (falls gefordert), muss die externe DB periodisch sämtliche eigenen Daten kontrollieren, ob bei OSM noch etwas "gefunden" wird.

"OSM-ID-Webdienst" oder "OSM-Alert-Dienst"?

Eine Variation der ersten Variante und dem ersten Lösungsansatz ist eine Applikation, die zwischen der externen DB und OSM liegt - z.B. ein Webdienst zusammen mit einer Webapplikation als Admistrations-"Frontend". Dies lässt offen, welcher Lizenz die externe Datenbank unterliegt.

Die externe DB informiert sich dann via diesen Webdienst bei OSM, wo sich etwas geändert hat. Man stelle sich eine Art "OSM-ID-Webdienst" (Proxy) oder ein "OSM-Alert-Dienst" vor, der mittel Analyse der OSM-'Diffs' eruiert, was sich in OSM geändert hat. Diese Änderungen müssten dann "autonom nachvollzogen" werden. Die Nutzer der externen DB könnten dabei auch etwas an OSM zurückgeben, in sie auch bei OSM beitragen. Natürlich muss dabei beachtet werden, dass die Nutzer ihre Beiträge unter ODbL freigeben und die Daten in OSM richtig integriert sind.