[Talk-de] Relation für Lange Ways

Sven Rautenberg sven at rtbg.de
Sa Jan 17 15:24:13 UTC 2009


Frederik Ramm schrieb:
> Durch Karlsruhe verläuft die A5. Sie besteht aus vielen einzelnen Ways. 
> Die sind derzeit alle noch mit "highway=motorway, ref=A5" getaggt. 
> Zugleich befinden sie sich in einer Relation für die A5. Die Vererbung 
> von Tags (alles bis auf "type" wird abwärts vererbt, Way schlägt 
> Relation) ist derzeit, wie Du vermutlich weisst, noch nicht 
> flächendeckend implementiert, das heisst, man kann das 
> "highway=motorway, ref=A5" an den einzelnen Ways noch nicht entfernen, 
> aber eines Tages wird man das können und einfach nur die Relation 
> entsprechend taggen. Das einzelne Wegstück wird dann unter Umständen 
> *gar keine* Tags mehr haben (genauso wie Nodes oft *gar keine* Tags 
> haben, weil sie eben nur als Bausteine für einen Way gebraucht werden).

Ich weiß nicht, ob dieses Streben nach totaler DB-Normalisierung und
Abwesenheit von Redundanz in OSM überhaupt sinnvoll ist.

Ich habe bei etlichen beschriebenen Anwendungen von Relationen so meine
Verständnisprobleme, welchen Zweck sie eigentlich erfüllen sollen, bzw.
welchen Sinn es machen soll, in die entsprechende Generierung manuelle
Arbeit hineinzustecken, anstatt es maschinell zu erledigen.

Das Beispiel der Autobahn ist so ein Mittelding: Ich halte es für extrem
sinnvoll, wenn jedes einzelne Teilstück sein zugehöriges ref-Tag trägt.
Ich kann auch nur halbwegs nachvollziehen, warum man den gesamten
Straßenzug nochmal zusätzlich in eine Relation stecken will. Was wird
dadurch gewonnen? Genausogut kann man doch die API nach Wegelementen mit
"ref=A 5" befragen und erhält im Prinzip dasselbe. Zugegeben, eine
weltweite Abfrage liefert vermutlich mehr als nur die Autobahn in
Karlsruhe, und in der Relation könnten sich auch noch weitere verbundene
Informationen befinden. Da ist nur die Frage: Welchen Sinn hat die
Zuordnung solcher Informationen heute für welche Anwendung?

Ein in meinen Augen nun wirklich absurder Vorschlag ist, alle
Einzelteile einer durchgehenden Straße in eine Relation zu packen, um
dann nur der Relation den durchgehenden Straßennamen zu geben, damit das
Rendering z.B. auf Brücken nicht ständig den Namen wiederholt. Da sage
ich mir: Wenn ein Renderer wirklich will, dass gleiche Straßennamen
schöner verteilt werden, dann wird er so programmiert werden, dass er
die Namensidentität der Einzelteile erkennt und selbst zusammenfaßt. Für
sowas braucht es keine Relation.

Andererseits: Relationen können natürlich auch wertvolle
Zusatzinformationen zu einer Gruppe von Wegstücken hinzufügen,
beispielsweise die Nutzung durch eine Buslinie. Diese Art von Extra-Info
könnte man natürlich auch in Tags packen, das ist aber weitaus weniger
schön, weil es sich doch eher um eine Art Meta-Information handelt.

Stichwort Redundanz: Ich glaube, dass es in OSM Redundanz geben muß,
weil dadurch die Informationen leichter in einem konsistenzen Zustand
gehalten werden können. Wenn ich die Gültigkeit einer Information
lediglich anhand einer einzigen Quelle bewerten muß, dann kann ich die
Info glauben, oder nicht. Geben mir zwei oder mehr Quellen gleichartige
Informationen, dann hebt das die Vertrauensbasis schon erheblich.
Außerdem wird es immer wieder vorkommen, dass gleichartige Dinge
unterschiedlich getaggt werden - Redundanzen helfen dann dabei, zu
ermitteln, was tatsächlich gemeint ist.

Viele Grüße
Sven




Mehr Informationen über die Mailingliste Talk-de