QA for Turn Lane Mapping - mapbox/mapping GitHub Wiki
While mapping turn lanes, there are a lot of scenarios are encountered in #153 and #144 mapping repos. All these scenarios are drafted in one place for validation purposes.
Different scenarios we came across while mapping
1. Parking lanes
In the U.S., when parallel parking spaces are marked, they are marked in one of three ways:

Hereβs an example of the box marking style:
2. Counting number of turn lanes
If there are no clear cut demarcations on the road and yet cars are parked on either sides of the road, consider them as drive lanes. Case below:

3. Starting a turn lane
Turn lanes should begin exactly as per the marking in the imagery, not before or after.

4. Ending a turn lane
Turn lanes should terminate at the first highway junction after the start of the turn lane.

5. Turn lane forward
In case of bi-directional ways, the key turn:lanes:forward=* describes only the turning indications on the lanes in the same direction as the osm-way; while adding this we must view the road in the direction to the osm-way(on the direction where the osm-way arrow is pointing).

6. Turn lane backward
In case of bi-directional ways, the key turn:lanes:backward=* describes only the turning indications on the lanes in the opposite direction as the osm-way; while adding this we must view the road in the oppoiste direction to the osm-way(opposite to direction where the osm-way arrow is pointing).

Adding a turn:lanes:backward tag
7. Adding dual carriageways:
When finding roads mapped as single carriageway while the imagery shows clear separation between roads, split the road where the physical separation starts and add dual carriageways.

When to add dual carriageway?
- Add Dual-carriage when
- you see physical separation betweens roads
- no relation is attached to the way.
- Add
turn:lanestag to both the ways.
8. Bicycle lanes and road shoulders
Road shoulders and bicycle lanes are ignored from the lane count. Both these roads are lanes=2


lanes=3 for the above example, ignoring the two cycle ways
-
Ignore bicycle lanes even though they are in the middle;example below:

The middle way is also a bicycle lane which is not counted while adding the
lanestag -
Additionally,
Strava global-heat cyclelayer can used to verify if a particular lane is a cycle-way.tms[16]:http://globalheat.strava.com/tiles/cycling/color3/{zoom}/{x}/{y}.png
9. Lane marked as a separate way
Do not add turn lanes in these cases where the only turn lane is already a mapped as a separate way.

10. Bidirectional turn lanes
These are the lanes marked with symbol representing both directions at a time.

Tag used for such lanes are turn:lanes:both_ways=*
Yellow lines on both sides of a lane also gives an indication of turn:lanes:both_ways=*


11. Mapillary Plugin to verify turn lanes
The imagery at some places is not very clear and at-times the turn-lanes are covered by cars. In situations like these Mapillary plugin can be used. If there is Mapillary imagery coverage in that area, they can used to verify the presence of turn-lanes.
Name of the plugin: Mapillary

12. Lanes with restricted access
These are the areas on streets which are restricted for vehicular traffic.



In the above cases the areas with markings on the roads are not considered as a lane
13. Reverse direction turn lanes
These are the lanes specifically categorized to take U-turn or reverse-turn.

14. The order of the directions and valid combinations of values
-
noneitself is valid value but not in conjunction with other -
β
turn:lanes=none|rightis equal toturn:lanes=|right- we usenonefor "better readability" -
π
turn:lanes=left||none|merge_to_right- this combination of values is valid but there is mixingnoneand||(empty) - this is not good choice. -
π
turn:lanes=left|none|none|merge_to_rightorturn:lanes=left|||merge_to_right -
β
turn:lanes=none|none|noneorturn:lanes=||- in this caseturn:lanes=*tag is redundant, just specifylanes=3or real number of lanes -
β
turn:lanes=none|none;slight_right- isn't valid combination - "there are no turn indications" on the rightmost lane. Instead, must be used (based on https://github.com/mapbox/mapping/issues/180#issuecomment-225574666)
lanes=2
turn:lanes=none|through;slight_right
transit:lanes=continue|new_on_right
-
using
*right|*leftvalues-
β
turn:lanes=left|none|noneorturn:lanes=||rightorturn:lanes=merge_to_right||orturn:lanes=left|left;through|none|slight_right|right|right- π -
β
turn:lanes=|right|left|orturn:lanes=none|right|left|throughorturn:lanes=none|left|none- π lanes that go in one direction should not cross with each other
-
-
using
reversevalue -
reverse(u-turn) have to be on the leftmost lane for right-hand traffic or on the rightmost lane for right-hand
15.
to be continued β¦