[Talk-de] Separate Datenbank fuer transiente Daten - OSM-T

Frederik Ramm frederik at remote.org
Sa Aug 1 12:26:50 UTC 2009


Hallo,

    ich moechte Euch ein Stueck "Vapourware" vorstellen (d.h. es ist 
derzeit 100% Hirngespinst) und dazu eine Meinung hoeren.

Zunaechst die Vorgeschichte:

Vor ein paar Tagen fuhr ich mit dem Auto eine Strecke, die ich oefters 
zuruecklege; eine Ortsumgehung auf einer Landesstrasse. Schon seit 
einigen Tagen hatte sich Grosses angekuendigt: Strassennahe Baeume waren 
gefaellt, eine Flaeche neben der Strasse plattgewalzt worden, Bagger und 
Planierraupen standen bereit. Nun war die Strasse an dieser Stelle 
gesperrt (ich glaube, sie bauen einen Kreisverkehr), und die 
ausgeschilderte Umleitung fuehrte durch das Dorf, das ueblicherweise 
"umgangen" wird.

Die Folgen dieser Baustelle sind in OpenStreetMap-Notation weitreichend; 
die Umleitungsstrecke durch das Dorf hindurch ist jetzt vollstaendig mit 
Parkverboten gesaeumt und hat ihren "LKW nur fuer Anlieger"-Status 
verloren. Ein Dorf auf der gegenueberliegenden Seite der Strasse ist 
normalerweise komplett "Anlieger frei", auch diese Regel ist fuer die 
Zeit der Baustelle ausser Kraft gesetzt.

Waere hier alles vollstaendig getaggt (inkl. Parkverboten und Anlieger 
frei), dann muesste ich sicherlich so 30, 40 Objekte anfassen, um dieser 
Baustelle gerecht zu werden - und alles wieder retour, wenn die Arbeiten 
abgeschlossen sind.

Solche voruebergehenden Aenderungen sammeln sich natuerlich alle auch 
unserer Objekt-History an, die damit immer weiter aufgeblaeht wird.

Die Relevanz dieser Aenderungen haengt von der Anwendung ab. Eine 
Routing-Anwendung, wenn sie benutzt wird, um live zu navigieren, sollte 
Zugriff auf die veraenderten Daten haben. Eine Routing-Anwendung, die 
z.B. von einer Baeckerei benutzt wird, um den idealen Standort zu finden 
(wo haben die meisten Kunden zu mir die kuerzesten Wege), sollte solche 
voruebergehenden Aenderungen eher nicht beherzigen. Eine Karte, die ich 
den Teilnehmern eines Radrennens am Wochenende an die Hand gebe, braucht 
diese Daten; eine Karte, die jemand nutzen will, um sich zu ueberlegen, 
wo er ein Haeuschen kauft ("ah, das hier ist alles Anlieger-frei-Gebiet, 
da laesst es sich verkehrsarm wohnen") sollte eher den "status quo ante" 
zeigen.

In der Luftfahrt gibt es amtliche Karten, die die verschiedenen 
Luftraeume und Sperrgebiete zeigen. Zusaetzlich gibt es zeitlich 
befristete Publikationen ("NOTAM" - "Notice to Airmen"), die auf 
voruebergehende Sperrungen oder Aenderungen seit der letzten 
Kartenpublikation aufmerksam machen. Vor einem Flug sollte der Pilot 
sich immer vergewissern, ob NOTAMs seine Strecke betreffen.

Mein Gedanke ist nun, dass wir etwas aehnliches fuer OpenStreetMap 
einfuehren sollten - ich nenne es mal OSM-T, "OSM transient", fuer 
voruebergehende Aenderungen. Ich wuerde also in unserer normalen 
Datenbank stets nur den "Normalzustand" speichern, und in OSM-T 
eventuelle aktuelle oder kuenftige Ausnahmezustaende. OSM-T wuerde sich 
stets auf Objekt-IDs aus der normalen OSM-Datenbank beziehen. OSM-T 
muesste eine Art Durchreiche-Service haben: Wenn man statt irgendwas 
direkt von OSM abzufragen stattdessen bei OSM-T anfragt, dann holt OSM-T 
die Daten von OSM, reichert sie um aktuell gueltige temporaere 
Aenderungen an, und gibt das weiter. OSM-T koennte spezielle "diffs" 
publizieren, so dass man jederzeit auf eine existierende OSM-Datenbank 
einen aktuellen OSM-T-Diff applizieren kann, wenn einen nicht der 
"Normalzustand", sonder der aktuelle "Ausnahmezustand" interessiert. 
OSM-T muesste natuerlich begrenzt in die Zukunft reichen - man muss dort 
auch eine Aenderung eingeben koennen, die erst in einingen Wochen aktiv 
wird, und auf Anfrage muss ein Benutzer auch den voraussichtlichen 
Zustand in einer Woche abfragen koennen oder so.

Das ist alles noch nicht ausgegoren; insbesondere ist es eine 
Herausforderung, die referentielle Integritaet zu wahren (was ist, wenn 
jemand in OSM einen Way loescht und neu macht, zu dem in OSM-T aber eine 
spezielle Ausnahmeregel steht). Editoren muessten ein OSM-T-Modul haben, 
mit dem man die OSM-T bekannten Ausnahmen in einem Spezial-Layer sieht, 
und die Editoren muessten einen Modus haben, dass man sagen kann: 
"Alles, was ich ab jetzt aendere, soll eine temporaere Ausnahme bilden, 
die ab naechstem Montag gilt und zu OSM-T hochgeladen wird" oder so.

Es gibt ja immer wieder verschiedene "lifecycle"-Konzepte fuer OSM, und 
fuer einiges haben die auch ihre Berechtigung, aber bei Dingen, die klar 
nur voruebergehend sind, sehe ich OSM selbst eigentlich ueberlastet.

Haben sich das andere Leute auch schon ueberlegt, und zu welchen 
Schluessen seid ihr gekommen?

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"




Mehr Informationen über die Mailingliste Talk-de