[Talk-de] Permanente/stabile OSM IDs!

Frederik Ramm frederik at remote.org
So Jul 22 20:58:15 UTC 2012


Hallo,

    ich bin der Ansicht, das OSM-IDs eine 100% OSM-interne Sache sind, 
auf die sich niemand sonst verlassen darf, weil dies die 
Handlungsmoeglichkeiten bei OSM einschraenkt.

Im rein hypothetischen Fall, dass OSM irgendwann einmal beschliessen 
sollte, seine Daten auf mehrere Server auf verschiedenen Kontinenten 
aufzuteilen und daher alle Objekte auf neue Server mit neuen 
Nummernraeumen verteilt, sollte das niemanden stoeren.

Im rein hypothetischen Fall, dass OSM irgendwann alle existierenden 
Objekte "umnumeriert", um nicht mehr genutzte "Luecken" 
wiederzuverwenden, sollte das keine Probleme verursachen.

Im rein hypothetischen Fall, dass jemand einen Ort komplett loescht und 
neu einfuegt, sollte niemand davon etwas merken.

Darauf hinzuarbeiten, dass OSM-IDs moeglichst stabil sein sollen, wuerde 
zugleich heissen, die Flexibilitaet der Mapper zu reduzieren, ihnen das 
Leben schwerer zu machen -> m.E. keine gute Idee.

UUIDs stehe ich ebenfalls sehr kritisch gegenueber, weil sie das Fuehren 
der Link-Stabilitaet unseren Mappern aufbuerden. Ich finde, unser Mapper 
soll sich damit beschaeftigen, dass da ein Restaurant mit dem Namen X 
ist, und wenn das Restaurant umzieht auf die andere Strassenseite, dann 
loescht er das und legt es neu an, oder er schiebt es rueber, ganz wie 
es gerade am geeignetsten erscheint.

Die UUID-Diskussion wurde schon oft gefuehrt, und es konnte meines 
Erachtens nie schluessig dargelegt werden, was die UUID genau sein soll. 
Eine UUID fuer die ganze "Bachstrasse", oder eine fuer jeden Teil-Way? 
Wenn ich ein denkmalgeschuetztes Haus mappe und drin ist ein Restaurant, 
und ich gebe dem Way eine UUID, und spaeter zieht das Restaurant um auf 
die andere Strassenseite - woher weiss ich dann, ob ich die UUID mit 
umziehen muss (weil sie in einem Restaurantfuehrer verwendet wird) oder 
nicht (weil sie in einem Architekturfuehrer verwendet wird)? Aha, wir 
brauchen mehrere UUIDs pro Objekt, eine fuer jeden Aspekt...

> Laut Overpass's Permanent ID könnte die Lösung eine "eindeutige
> Eigenschaft" des Objekts sein, typischerweise eine Kombination von
> Tags. Als Beispiel wird eine Relation mit den Tags "network=BAB" und
> "ref=A 516" herangezogen. Ich finde den Vorschlag gut - man muss sich
> aber bewusst sein, dass er m.E. nichts Neues bringt, bzw. das Problem
> der offenbar "unvermeidbaren menschlich- und technischen
> Unzulänglichkeiten" nicht löst.

Ich halte das fuer die beste Loesung, die wir haben, weil hier 
derjenige, der den Link setzt, entscheiden muss, was ihm wichtig ist, 
und die Mapper sich nicht damit herumschlagen muessen.

Das Problem der "unvermeidbaren Unzulaenglichkeiten" wird dadurch nicht 
geloest, aber reduziert - wenn ich ein Restaurant loesche und auf der 
anderen Strassenseite neu zeichne, wird das immer noch gefunden.

> Eine OSM-externe Datenbank vergibt einen eigenen und für sie
> eindeutigen ID-Tag in OSM, die "nicht-sprechende" Identifikatorwerte
> erhalten, z.B. "unserprojekt:id=10001" oder "unserprojekt_id=10001".

Nein, das halte ich nicht fuer akzeptabel, es hat die gleichen Probleme 
wie das UUID-Konzept.

Was aber eine gute Idee waere:

Man baut eine externe Datenbank als Interface zwischen der 
Oeffentlichkeit und OSM auf. Zur Oeffentlichkeit hin unterstuetzt diese 
Datenbank permanente Schluessel - seien das UUIDs oder Nummern oder 
sonstwas. Zu OSM hin benutzt diese Datenbank das 
Overpass-Permanent-ID-Konzept (das nicht von Roland erfunden wurde, 
sondern ursrpuenglich mal von Tim Alder mit seinem "query to map" 
angedacht worden war).

Jeder kann bei Bedarf einen Link in dieser Datenbank anlegen lassen und 
den dann ueberall benutzen.

Im Gegensatz zur reinen Verwendung von Overpass-IDs rund um die Welt hat 
dieses Vorgehen den Vorteil, dass alle Links in der Datenbank 
regelmaessig automatisiert ueberprueft werden koennen: Sind sie noch 
gueltig? Zeigen sie noch auf genau 1 Objekt, oder mittlerweile auf 0 
oder 2? Es waere trivial, in dieser Datenbank eine Liste zu generieren 
mit allen "kaputten" Links; es waere sogar moeglich, diese nach 
Nutzungsintensitaet zu sortieren, so dass viel genutzte Links von 
Freiwilligen sofort repariert werden koennen, wenn sie kaputt gehen. Es 
waere sogar denkbar, in dieser Datenbank das "letzte bekannte gute" 
Ergebnis aus OSM zu cachen fuer jeden Link, so dass man, selbst wenn bei 
OSM was kaputt geht, dem Anfrager immer noch wenigstens eine alte 
Version ausliefern kann.

Und das beste: Man muss OSM nicht mit seinen Privatkeys ueberfluten, um 
das machen zu koennen.

Bye
Frederik

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




Mehr Informationen über die Mailingliste Talk-de