[Talk-de] Draft für lanes Proposal
Martin Vonwald
imagic.osm at gmail.com
Fr Feb 3 16:12:54 UTC 2012
Am 3. Februar 2012 15:23 schrieb Tobias Knerr <osm at tobias-knerr.de>:
> Am 03.02.2012 14:50, schrieb Martin Vonwald:
>> Am 3. Februar 2012 14:32 schrieb Tobias Knerr <osm at tobias-knerr.de>:
>>> Wie wäre es stattdessen mit :left/:right? Diese Anhängsel werden z.B. in
>>> JOSM ebenfalls als abhängig von der Richtung des Way verstanden und bei
>>> Bedarf umgedreht. So wäre auch das physische Spurlayout unabhängig von
>>> Linksverkehr vs. Rechtsverkehr eindeutig. (Dafür, in welcher Richtung
>>> man auf diesen Spuren fahren darf, bräuchte man allerdings das Wissen um
>>> die örtlichen Verkehrsregeln).
>>
>> Ich verstehe den Unterschied nicht zu :forward/:backward. Was sollte
>> dann anders definiert sein bei :left/:right?
>
> Die Idee ist dieselbe. Es vermeidet aber Verwirrung, weil es bei deiner
> aktuellen Version sein kann, dass eine lane:forward eine andere Richtung
> als "forward" hat - z.B. both, wie in deinem Beispiel mit der Radspur:
>
> direction:lanes:forward=forward|forward|both|forward
Dieses Beispiel stellt ja einen Spezialfall dar und wie beschrieben
ist das ":forward" dort eigentlich unnötig und wird nur verwendet,
damit die Spurrichtungen nicht zerstört werden, wenn der Weg umgedreht
wird.
> Du unterteilst die Straße also in Wirklichkeit gar nicht nach Vorwärts-
> und Rückwärtsspuren, sondern in eine "linke Hälfte" und "rechte Hälfte".
> Daher ist :left/:right in gewisser Weise die bessere Wahl für das, was
> du ohnehin schon tust.
Hm... dem kann ich nicht folgen. Es gibt in OSM z.B. lanes:forward=2 -
das sagt uns, dass es zwei Spuren gibt, welche in die selbe Richtung
führen wie der OSM-Way. Ich möchte hier ein bekanntes Konzept
verwenden und :forward/:backward ist so eines. Ich muss offen zugeben,
dass ich vor dem heutigen Tag noch nie etwas von :left/:right gehört
oder gesehen habe.
Genau schon wie bei der kurzen Diskussion um den ; gilt auch hier:
dieses Proposal definiert hier nichts um. Und das soll es ja auch
nicht. Spuren in Wegrichtung wurden bisher als :forward getaggt und
das sollen sie auch weiterhin. Spuren gegen die Wegrichtung wurden
bisher als :backward getaggt und das sollen sie auch weiterhin. Dieses
Proposal gibt dir nur die Möglichkeit Eigenschaften für diese Spuren
anzugeben.
Der obige Spezialfall ist übrigens gar nicht so unlogisch, denn das
:forward am Ende bedeutet ja nach aktuellem Verständnis, dass wir
Eigenschaften in Richtung des OSM-Ways definieren. Wenn die Spur nun
in diese Richtung verläuft, ist sie eine forward-Spur. Verläuft sie
entgegen dieser Richtung eben eine backward-Spur. Das Beispiel ist
nicht hübsch, aber es sollte nur sehr selten notwendig sein sowas zu
taggen.
> Der eine konkrete Unterschied bei den Auswirkungen kommt nur beim
> Linksverkehr zum Tragen.
>
>>> * Die Spuren werden "von innen nach außen" angegeben, oder? Die
>>> Beispiele legen das nahe, aber es steht nicht explizit da.
>>
>> Habe ich ganz am Anfang jetzt noch etwas klarer geschrieben: immer von
>> links nach rechts in Fahrtrichtung
>
> Warum das? Mit :left/:right und der Definition "innen nach außen" hat
> man wie gesagt den Vorteil, dass man das physische Spurlayout unabhängig
> von der Unterscheidung Links- oder Rechtsverkehr hält.
Nur du verlierst die Information über die Fahrtrichtung! Und diese
Information ist viel wichtiger als die Information ob die
"Vorwärts"-Spuren links oder rechts sind:
Wenn ein Router keine Ahnung hat ob wir Rechts- oder Links-Verkehr
haben, kann er mit :forward/:backward trotzdem korrekte Routen
berechnen, er kann nur keine Penaltys für das Linksabbiegen bei
Rechtsverkehr (und umgekehrt) vergeben.
Wenn ein Router wiederum keine Ahnung hat ob wir Rechts- oder
Links-Verkehrt haben, hat er mit :left/:right das unlösbare Problem,
dass er nicht weiß, zu welcher Kreuzung die Abbiegespuren führen: zur
"nächsten" oder zur "vorherigen". Er weiß zwar wo welche Spuren
liegen, kann aber mit diesen Information überhaupt nichts anfangen, da
ihm die Richtung fehlt.
>> bzw. für :both von links nach
>> rechts in OSM-Way-Richtung.
>
> Dann hat man aber doch ein Problem, wenn man den Way umdreht.
Welches?
> Ich hatte
> aufgrund deiner Formulierungen im Proposal ("Big problem here! If the
> way is reversed the direction information is destroyed.") bisher
> eigentlich angenommen, dass du mit der Unterteilung des Spurlayouts in
> zwei (oder drei) Teile gerade das vermeiden wolltest.
>
> Wenn du gar kein Problem damit hast, dass die Sortierung der Spuren von
> der OSM-Way-Richtung abhängig ist, verstehe ich nicht mehr, warum du
> nicht direkt alle Spuren von links nach rechts in ein Tag packst?
Die Sortierung muss irgendwie definiert sein. Auch wenn "direkt alle
Spuren von links nach rechts" eingetragen werden, muss man definieren,
wo "links" ist. Im allgemeinen geht man davon aus, dass dies aus Sicht
der OSM-Weg-Richtung betrachten wird und damit hast du wieder deine
Abhängigkeit.
vg,
Martin
Mehr Informationen über die Mailingliste Talk-de