[Talk-de] Superrelationen

Ekkehart ekkehart at gmx.de
Sa Jan 17 01:07:49 UTC 2009


Hallo!

Frederik Ramm schrieb:
> Nicht alle Plaene, die es im Projekt gibt, stehen auch im Wiki ;-) im 
> Wiki und den Mailinglisten suchen hilft oft, aber wenn man da nichts 
> findet, heisst das beileibe nicht, dass es einen entspr. Plan nicht gibt.

Dann laß es mich so ausdrücken. Angeblich wollen wir 70000 Mapper haben 
und es sollen noch mehr werden. Wenn ich eine Stunde im Wiki herumsuche, 
um rauszufinden wie etwas gemeint ist, gehe ich davon aus, daß das 
deutlich mehr Zeit ist, als der Durchschnitt der 70000 Mapper 
investiert, die wir begeistern wollen. Wenn ich mit dem Aufwand nichts 
hilfreiches finden kann, wird der Großteil der Mapper auch nichts 
finden. Und somit ist es egal, ob noch irgendjemand irgendeinen Plan im 
Hinterstübchen versteckt, nicht auffindbar ist faktisch ebensogut wie 
nicht vorhanden.

Und wenn ich dann jemand empfehle "Mach einfach schon mal los" ist das 
Ergebnis mit extrem hoher Wahrscheinlichkeit unbrauchbar.

> Es stand vorher schon auf der "Collected Ways"-Relationsseite, aber ein 
> bisschen un-offensichtlich. Ich habe das mal ausdrücklicher formuliert:

Könnte man so formulieren, diese Seite *hatte* ich gefunden. :-)

Vielen Dank für die ganzen Erläuterungen und Doku-Updates, das war so 
ziemlich die Information, die ich dringend vermißt habe. Beruhigt mich 
daß es doch sowas wie ein Konzept gibt. Ich denke es wird aber noch eine 
größerer Act, das so gut zu unterstützen und zu dokumentieren, das der 
Gelegenheitsmapper es versteht und so benutzten kann, daß nicht nur 
Kraut und Rüben dabei rauskommt.

Ein Way und ein Satz Tags ist halt auch von Nicht-Technikfreaks nach 
kurzer Erklärung zu verstehen, aber ein komplexes mehrstufiges Netzwerk 
von Superbeziehungen?? Versteh' mich richtig, ich als Informatiker finde 
es technisch einwandfrei und kann mich für interessante udn mächtige 
Strukturen durchaus begeistern. Aber ich hab grad eine Bekannte ohne 
technischen Hintergrund von OSM begeistert - und die wird da völlig 
verloren sein. Sie kennt das Konzept von Vererbung nicht und wird nie 
verstehen, daß das Tag, das sie an einer Superrelation setzt, eine Route 
zwei Hierarchiestufen tiefer in einem Kartenbereich, den man gar nicht 
geladen hat, zerschießt.

>> - Wie funktioniert Mehrfachvererbung?
> 
> Dazu habe ich mir keine Gedanken gemacht. Bei attributiven Relationen 
> (das sind die allermeisten!) soll ja ohnehin keine Vererbung stattfinden 
> - bloss weil irgendwas Teil eines Abbiegeverbots ist, "erbt" es deswegen 
> ja nichts. Nur bei konstitutiven Relationen ("besteht aus") ist das m.E. 
> interessant. Aber das ist sicherlich noch ein Thema, das man weiter 
> formalisieren muss. Insbesondere kann man nicht von Clients erwarten, 
> dass sie eine staendig aktualisierte Liste aller denkbaren Relationen 
> haben, es muss also ein allgemeines Konzept her.

Mehrfachvererbung ist tückisch - und in der OSM wird es durch Wildwuchs 
dann auch ziemlich widersinnige Mehrfachvererbungen geben. Ich denke da 
nur an folgende Fälle:

- unerwünschte Vererbung: Bei Routenrelationen wird empfohlen, sowohl 
ways als auch nodes für Sehenswürdigkeiten, Wegweiser usw. einzutragen. 
D.h. auch diese Nodes erben alle tags von allen Superrelationen. Das 
könnte zu ziemlich unerwünschten Seiteneffekten führen, z.B. der Name 
der Superrelation, angezeigt an jedem Node??? Wenn alles außer type 
vererbt wird, dann darf ich entweder superrelationen nicht benennen - 
was maximale Unübersichtlichkeit bedeutet - oder der Relationsname 
erscheint an jedem Kind auf der Kare, das keinen eigenen Namen hat.

- Mehrfachvererbung durch mehrfach angelegte Superrelationen: Ohne 
extrem gute Editorunterstützung wird man oft eine existierende 
Superrelation nicht finden und eine neue, ähnliche anlegen. Ergebnis ist 
dann eine widersprüchliche Mehrfachvererbung.

- Undefinierte Reihenfolge: Bei Mehrfachvererbung ist nicht definiert, 
in welcher Reihenfolge vererbt wird. D.h. bei jedem OSM-Download oder 
bei jedem Datenbankzugriff kann sich die Reihenfolge ändern und es 
werden mal die, mal die Tags vererbt.

- Unterschiedliche Vererbungswege. Wenn ich das richtig überblicke, 
hindert mich nichts daran, denselben Way einmal direkt und einmal über 
eine längere Relationskette in eine Superrelation einzuhängen. Will gar 
nicht drüber nachdenken, welche Effekte man damit erzielen kann.

- Zyklen. Werden zyklische Relationsbeziehungen verhindert? Oder geht 
der Server/Renderer in eine Endlosschleife?

Also wenn ich da ein wenig drüber nachdenke, was man alles versehentlich 
falsch zusammenstecken kann, wenn man die Hierarchien nicht versteht 
oder nicht vollständig sehen kann, wird mir echt schlecht.

>> - Kann irgendein Editor damit umgehen?
> 
> JOSM und Merkaartor können kaskadierende Relationen erzeugen und 
> verarbeiten, aber zumindest JOSM bietet noch keine Möglichkeit, sich mit 
> dem o.g. API-Aufruf in einem eventuellen Relationsbaum nach oben zu 
> hangeln. Eventuell muss man da auch die API noch verbessern, indem man 
> bei diesem Aufruf mehrere Relations-IDs zulaesst, damit das schneller geht.

Das ist auch keine reine API-Frage. Momentan macht das Arbeiten selbst 
mit einfachen Routen-Relationen in JOSM keinen Spaß, die Unterstützung 
ist noch zu rudimentär, viele redundante Eingaben nötig, Fehler 
passieren schnell und werden nicht abgefangen. Selbst wenn alle 
Relationen geladen sind und man weiß, welche man sucht, sind sie schwer 
zu finden, da die Liste zu klein ist und nicht gefiltert werden kann. 
Wenn es selbst jetzt schon unübersichtlich ist, möchte ich nicht noch 
mit Hierarchien arbeiten müssen. Fehler sind da so gut wie sicher.

JOSM müßte:
- ALLE Superrelationen zuverlässig anziehen
- Hierarchische Beziehungen übersichtlich darstellen
- unterschiedliche Editoren für unterschiedliche Relationstypen haben
- auf vorhandene und notwendige Superrelationen hinweisen
- die Auswirkung der Vererbung sozusagen als Preview zeigen

Vielleicht werden diese Punkte ja alle eines Tages elegant gelöst sein, 
aber ich glaube da ist noch viel Arbeit zu leisten und viel 
Dokumentation zu erstellen, bis der Umgang mit so einer Struktur für 
_alle_ einfach und verständlich wird. Von daher bin ich nicht überzeugt 
davon, das es dem OSM Projekt guttut, heute einfach schon mal 
Superrelationen loszulegen. Vermutlich wäre es auch sinnvoll, ein paar 
Grenzen einzuführen, z.B. maximal 2 Ebenen von Relationen, um die Dinge 
halbwegs verständlich zu halten.

Danke nochmal für die ganzen Erklärungen

	Nop




Mehr Informationen über die Mailingliste Talk-de