Fabi2
266
Der Ansatz ist absolut nicht Mist, sieht fast aus wie eine unötig komplizierte Version von meiner Grobidee, die ich schon hier und heute noch mal unter http://wiki.openstreetmap.org/wiki/Talk:Proposed_features/Lane_group#Separate_ways_for_the_lanes_would_be_better.2C_if_you_want_these_as_features beschrieben habe.
Weil wenn man an Spuren die wie in deinem Schema mit dem alten Highways verbunden sind und dann z.B. wie folgt getaggt werden:
lane=yes
foot:all=yes
bicycle:all=yes
motor_vehicle:forward=yes
motor_vehicle:backward=no
motor_vehicle:left=yes
motor_vehicle:right=no
…und die Lanes dann nur dort gemeinsame Knotenpunkte haben, wo auch ein Einbiegen auf die andere Spur möglich ist, hat sich das Abbiegebeschränkungsproblem und auch access-Problem dann hoffentlich in den meisten Fällen ganz schnell erledigt. 
Dann will der Autorouter ja bestimmt “seine Straße” haben, weshalb ich dann eine Relation für die Lanes machen würde, wo der alte highway=* mit passender Rolle, der Straßentyp entsprechend dem highway=* für die Lanes und die lane=yes-Objekte, die die Fahrbahn bilden, drin sind.
Dann braucht man ja noch die “Straße” für die “der Sidewalk gehört aber mit zur Straße”-Fraktion, wo dann alles drin sein kann, was zur “Straße” (im Sinne der Fahrbahn bzw. des jetzigen highway-Weges) gehört (“straßenbegleitende” Fuß-/Radwege (die auch nur lane=yes-Objekte mit anderem “access”-Tags nach obigem Schema sind), Laternen, Ampeln oder sonstwas…) und wo dann auch der name=* mit rein kommt.
Alte Anwendungen interessieren sich für die lane=yes-Wege und die Relationen dann hoffentlich nicht weiter und benutzen nur den (anfänglich redundanten) alten highway=*, womit das Rückwärtskompatibilitätsproblem gelöst wäre.