Lane tagging comparison
Please note that Alternative F has been approved.
Example 1
Proposed_features/Turn_Lanes | Alternative A | Alternative B |
---|---|---|
lanes=3 lanes:turnleft = 1 |
lanes:layout = l, s, s+r |
lanes=l, s, s+r |
Alternative C | Alternative D | Alternative E |
---|---|---|
lanes:layout:turnleft=ynn lanes:layout:straight=nyy lanes:layout:turnright=nny |
lane_group=l,s,s+r |
lanes=turn_lane|through_lane|through_lane lanes:connection=left|straight|straight;right |
Alternative F |
---|
lanes=3 turn:lanes=left|through|through;right |
Example 2
This is a british road, left-hand traffic. Assuming ways are directed from bottom to top.
Proposed_features/Turn_Lanes | Alternative A |
---|---|
Top: lanes=7 lanes:forward=4 lanes:turnright:forward=2 lanes:through:forward=3 Bottom: lanes=6 lanes:forward=3 lanes:psv:forward=1 lanes:psv:backward=1 lanes:psv:location:backward=right |
Top: lanes:layout = l+s, s, s+r, r | s, s Bottom: lanes:layout = bus, s, s | bus, s |
Alternative B | Alternative C |
---|---|
Top: lanes=c.l+s,s,s+r,r#N.N,C<kerb>p lane_matching:backward=.1, .2, .3, .4+5 Bottom: lanes=p<kerb>c|b+t|n,n|B+T|N,N,C<kerb>p lane_matching=, .1, .2+3, .2+3, .3+4 |
Top: lanes:layout:turnleft=ynnn|nn lanes:layout:straight=yyyn|yy lanes:layout:turnright=nnyy|nn Transition as point: lanes:layout:merge=xvv|xi
Bottom: lanes:layout:bus=ynn|yn lanes:layout:straight=nyy|ny implicitly with country=GB already defined: lanes:layout:direction=fff|bb |
Alternative D (lane_group) | Alternative E |
---|---|
Top: lane_group=l+s,s,s+r,r#,#-n,-n (match tag not needed, un-ambiguous situation) Bottom: lane_group=bus:n,n,n#,#-bus:n,-n,-n lane_group:match=*,*,+,*,*,* |
Not quite sure about the details, they are only estimated for demonstration purpose. The photo is not good enough for a 100% tagging. Top: lanes=footway|cycle_lane|through_lane|through_lane|through_lane|turn_lane|through_lane|through_lane|footway lanes:direction=both|forward|forward|forward|forward|forward|backward|backward|both lanes:separation=curbs|dashed_line|dashed_line|dashed_line|dashed_line|strip|none|curbs lanes:3:connection=straight;left lanes:4:connection=straight lanes:5:connection=straight;right lanes:6:connection=right Other connections for the intersection can not be defined, not shown in the photo.
Bottom: lanes=footway|unknown|through_lane|through_lane|bus_lane|through_lane|through_lane|cycle_lane|footway lanes:direction=both|forward|forward|forward|backward|backward|backward|backward|both lanes:separation=curbs|solid_line|dashed_line|solid_line|solid_line|dashed_line|dashed_line|curbs lanes:1:connection=straight:1;straight:2 lanes:2:connection=straight:3;straight:4 lanes:3:connection=straight:3;straight:4 lanes:4:connection=straight:5;straight:6 lanes:5:connection=straight:7 lanes:6:connection=straight:7 lanes:7:connection=straight:8 lanes:8:connection=straight:9 lanes:9:connection=straight:9 |
Alternative F |
---|
Top: lanes=7 lanes:forward=4 turn:lanes:forward=left;through|through|right;through|right Bottom: lanes=6 lanes:forward=3 access:lanes:forward=no|yes|yes ("yes" is not necessary - see below) bus:lanes:forward=yes|| access:lanes:backward=||no bus:lanes:backward=||yes |
Example 3
[1] (photo coming soon)
Way left to right.
Proposed_features/Turn_Lanes | Alternative A | Alternative B |
---|---|---|
lanes=3 lanes:forward=2 lanes:turnright:forward=1 surface or other details cannot be mapped |
lanes:layout = s | s, r lanes:surface = asphalt, asphalt, cobblestone separator = blocked_lane |
lanes=N#s,r<kerb>p lanes:surface = asphalt, asphalt, cobblestone, asphalt |
Alternative C | Alternative D (lane_group) | Alternative E |
---|---|---|
lanes:layout:straight=y|yn lanes:layout:turnright=n|ny lanes:layout:surface=asphalt|asphalt,cobblestone |
Not sure exactly what is to be mapped here, best guess lane_group=-n#,#s,r lane_group:surface=asphalt,asphalt,cobblestone |
What exactly shall be mapped here? |
Alternative F |
---|
(Without a picture this is just a guess!) lanes=3 lanes:forward=2 turn:lanes:forward=through|right surface:lanes:forward=|cobblestone (I assume "asphalt" as default here) |
Example 4
this junction
Say, Way1 is drawn from WSW to junction, Way2 from junction to ENE, Way3 from SSE to junction, Way4 from junction to NNW.
Alternative B |
---|
Way1: lanes=p<kerb>N,N<kerb><asphalt><kerb>l,s,s,r<kerb>p|p+c+C lane_matching=0.1+2+5 / 1.1+4+5 / 2.1+4 / 3.1+4+5, 0.3+4 / 1.2+3, 3.2, 3.3, 4.2+3, 0.1+2+5 / 1.1+4+5 / 2.1+4 / 3.1+4+5, 0.1+2+5 / 1.1+4+5 / 2.1+4 / 3.1+4+5 Way2: lanes=p+c+C<kerb>S+R,S,L,L#n,n<kerb>p+c+C lane_matching:backward=0.1+4 / 1.1+4+5 / 2.1+2+5 / 3.1+4+5, 0.2+3 / 1.2+3, 2.3, 2.4, 0.1+4 / 1.1+4+5 / 2.1+2+5 / 3.1+4+5 Way3: lanes=<guard_rail>p|c+C<kerb>N,N<kerb><asphalt><kerb>l,l,s,s+r<kerb>p<guard_rail> lane_matching=0.1+4+5 / 1.1+2+5 / 2.1+4+5 / 3.1+4, 0.1+4+5 / 1.1+2+5 / 2.1+4+5 / 3.1+4, 0.1+2 / 1.3, 1.4, 2.2, 2.3 / 3.1+2, 0.1+4+5 / 1.1+2+5 / 2.1+4+5 / 3.1+4 Way4: lanes=p+c+C<kerb>P,R,S,S,L<kerb><asphalt><kerb>l,r<kerb>c+C|p lane_matching:backward=0.1+4+5 / 1.1+4, 2.1+4+5, 3.1+2+5, 0.1+4+5 / 1.1+4, 2.1+4+5, 3.1+2+5, 0.2+3 / 1.2+3, 2.2, 2.3, 3.3+4, 0.1+4+5 / 1.1+4, 2.1+4+5, 3.1+2+5 |
Alternative D (lane_group) |
---|
It is noted that the four ways are dual-carriage ways and therefore should be mapped as separate ways according to standard mapping practice. The cycleways and sidewalks don't interfere with other lanes and can easily be mapped using standard highway=cycleway / cycleway=track/lane and sidewalk=* tags. Way1a (SW->NE): lane_group=l,s,s,r (match tag unnecessary) Way1b (NE->SW): lane_group=n,n Way2a (SW->NE): lane_group=n,n Way2b (NE->SW): lane_group=l,l,s,s+r (match tag unnecessary) Way3a (SE->NW): lane_group=l,l,s,s+r (match tag unnecessary) Way3b (NW->SE): lane_group=l+s,s+r Way4a (SE->NW): lane_group=l,s Way4b (NW->SE): lane_group=l,s,s,r (match tag unnecessary) |
Alternative E |
---|
Again not sure about some details (regarding footways and cycleways), so it is partly estimated. Mapping is still incomplete (I ran out of time), but should give an idea about the tagging scheme. Way1: lanes=footway|through_lane|through_lane|turn_lane|through_lane|through_lane|turn_lane|footway|cycleway lanes:direction=both|backward|backward|forward|forward|forward|forward|both|both lanes:separation=curbs|dashed_line|strip|dashed_line|dashed_line|dashed_line|curbs|continuous_line lanes:1:connection=straight:1:zebra_crossing;left:10:zebra_crossing;u_turn:10:zebra_crossing lanes:4:connection=left:7;left:8 lanes:5:connection=straight:7 lanes:6:connection=straight:8 lanes:7:connection=right:4;right:5 lanes:8:connection=straight:10:zebra_crossing;right:1;right:9:zebra_crossing;u_turn:1;zebra_crossing lanes:8:connection=straight:9;right:2;left:1 Way2: lanes=footway|cycleway|through_lane|through_lane|turn_lane|turn_lane|through_lane|through_lane|footway|cycleway lanes:direction=both|both|backward|backward|backward|backward|forward|forward|both|both lanes:separation=continuous_line|curbs|dashed_line|dashed_line|dashed_line|strip|dashed_line|curbs|continuous_line Way3: lanes=footway|cycleway|through_lane|through_lane|turn_lane|turn_lane|through_lane|through_lane|footway lanes:direction=both|both|backward|backward|forward|forward|forward|forward|both lanes:separation=continuous_line|curbs|dashed_line|strip|dashed_line|dashed_line|dashed_line|curbs Way4: lanes=cycleway|parking_lane|turn_lane|through_lane|through_lane|turn_lane|turn_lane|through_lane|cycleway|footway lanes:direction=both|backward|backward|backward|backward|backward|forward|forward|both|both lanes:separation=curbs|dashed_line|dashed_line|dashed_line|dashed_line|strip|dashed_line|curbs|continuous_line |
Alternative F |
---|
I assumed that the roads are mapped as a single way in each direction. If they would be mapped as separate ways, the Way1: lanes=6 lanes:forward=4 turn:lanes:forward=left|through|through|right Way2: lanes=6 lanes:forward=4 turn:lanes:forward=left|left|through|through;right Way3: lanes=6 lanes:forward=4 turn:lanes:forward=left|left|through|through;right turn:lanes:backward=left;through|through;right Way4: lanes=6 lanes:forward=4 turn:lanes:forward=left|through|through|right turn:lanes:backward=left|through If you want to tag e.g. way3 with cycleways you could do this as follows (details are guessed!) assuming the osm way runs from south to north: highway=primary highway:lanes=footway|cycleway|||||||footway * direction:lanes=bothways|bothways|backward|backward|forward|forward|forward|forward|bothways turn:lanes=no|right;through|left;through|left|left|through|through;right|no **
highway:lanes=footway|cycleway|primary|primary|primary|primary|primary|primary|footway ** "no" is optional |
Example 5
A street with a median turn lane.
Alternative F |
---|
lanes=3 lanes:bothways=1 reversible:bothways=median |
A visual approach
Please also take note of the ramblings in
User:Cmuelle8/Lanes and complex intersections visual approach
and the discussion there.