On Wed, 22 Oct 2008, Florian Lohoff wrote:

dass Zugriff auf Innereien eines Objekts nichts in anderen Objekten zu
suchen haben, da dadurch eine sehr hohe Komplexizität entsteht. Und die
Knoten sind interne Informationen eines Weges. Ich verstehe, dass es nicht
sofort einsichtig ist, dass diese Herangehensweise zu Chaos führt, aber
ich kann Dir nach mehr als 15 Jahren Programmierpraxis beteuern, dass es
so ist. Ich habe zu oft gesehen, dass Software gescheitert ist, welche
sich nicht an diese Regeln hielt.

Wir haben dieses defakto schon by turn relations. Ich gebe dir recht das
das nicht die schoenste loesung ist - aber sie ist etabliert.

Nein. Hier ist ein großer Unterschied. Die Turn-Relations nutzen einen Knoten als Teil der Relation. Sie nutzen keinen Knoten als Teils eines Weges in der Relation. Das ist ein wichtiges Detail.

Bei dieser Herangehensweise bleibt eine Stack-artige Strukt bestehen.
Jede Objektgruppe baut auf Objekten niederer Gruppen auf ohne durch eine
Objekt hindurch auf dessen interne Informationen zuzugreifen.

Damit ist das richtungsproblem aber nicht geloest. Natuerlich ist dieses
stacking schoen - aber es loest das imho groesste problem des
datenmodells - der richtungsabhaengigkeit - nicht.

Und richtungsabhaengigkeit ist halt zwischen punkten eines weges. Und
leider muessen wir auf dem selben weg mehrere attribute abfruehstuecken
die unterschiedliche richtungen haben - und ich denke du gibst mir recht
das oneway=-1 ein ziemlich ekelhaftes hilfskonstrukt ist. D.h. die eine
existente richtung des weges mehrfach zu missbrauchen um
unterschiedliches zu modellieren ist grosser bullshit.

Deswegen wie gesagt standardisierte Methoden backward, forward, left, right. Wenn das etabliert ist, dann ist klar das maxspeed:backward und maxspeed:forward richtungsabhängig sind und maxspeed nicht. Und das kann dann auf alle Tags ausgedehnt werden: tracktype:forward=3, tracktype:backward=1 oder meinetwegen sogar bridge:forward=yes, bridge:backward=no (auch wenn mir hier eine Anwendung fehlt :-).

JOSM unterstützt das ja schon seit einer Weile zumindest bei Drehen eines Weges.

Das Tag oneway wird wohl trotzdem bleiben, auch wenn es dann eigentlich "access:backward=no" sein müsste.

Und wenn man irgendwann mal das Datenmodell ändern will, dann teilt man das ganze gleich in entsprechende Gruppen auf statt den Schlüssel zu verunstalten.

Ciao
--
http://www.dstoecker.eu/ (PGP key available)
_______________________________________________
Talk-de mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an