User:De muur/lane mapping draft
This approach aims to separate lane definitions, lane properties, and routing properties.
Purpose
- Allow display of lanes and other parts of a road on maps, navigation devices, VR applications, etc.
- Allow lanewise routing.
- Allow routing not only for motor vehicles, but for cyclists, pedestrians, and others too.
- Avoid relations.
Non-Purpose
- Area mapping based on highres arial images.
Syntax
lane definition
Mapping of all traffic lanes in a list. Lanes are ordered from left to right, looking in way direction.
lanes = <lane_value> ["|" <lane_value> ...]
<lane_value> = through_lane | turn_lane | acceleration_lane | deceleration_lane | emergency_lane | parking_lane | bus_lane | bicycle_lane | cycleway | footway | any user defined value
per-lane writing
Lane 1 is the most left lane.
lanes:<lane_nr>= <lane_value>
lane properties
The properties of the single lanes can be set in the same way as properties are set for the complete way.
e.g.:
lanes:surface=...
or
lanes:1:maxspeed=...
lane separation
lanes:1:separation is the separation on the right side of lane 1 (between lane 1 and lane 2). If the separations are mapped as a list, only the separations between the lanes are mapped (so number of seperations equals number of lanes - 1). Additional separations outside of the lanes can be mapped as single objects (e.g. lanes:0:separation is left from the most left lane).
Multiple separations between two lanes are combined in a list, ordered from left to right if applicable.
lanes:separation = <separation_list> ["|" <separation_list> ...]
<separation_list> = <separation_value> [";" <separation_value> ...]
<separation_value> = none | dashed_line | continuous_line | yellow_line | curbs | guard_rails | strip | any user defined value
Additional properties of the separations can be set in the same way, as the additional properties can be set for the lanes.
e.g.:
lanes:1:separation:surface=...
lane direction
lanes:direction = <direction_value> ["|" <direction_value> ...]
<direction_value> = forward | backward | both
lane connection
lanes:connection defined the connections of single lanes to adjacent ways at the forward end of the way.
lanes:connection:backward defined the connections of single lanes to adjacent ways at the backward end of the way.
lanes:connection = <connection_list> ["|" <connection_list> ...]
<connection_list> = <connection_value> [";" <connection_value> ...]
<connection_value> = <direction_value> [":" <lane_nr>] [":" <connection_description>]
<direction_value> = straight | left | right | u_turn | slight_left | slight_right | sharp_left | sharp_right | any user defined value
<connection_description> = traffic_lights | zebra_crossing | any user defined value
The connection description defines the properties in the direction of the lane connection, i.e. a zebra_crossing describes the connection of the footway and not the connection of the crossed driving lane.
Examples
Elsewhere.