User:Fkv/lane mapping draft
< User:Fkv
Jump to navigation
Jump to search
This approach aims to separate lane definitions, lane properties, and routing properties.
Purpose
- Allow lanewise routing.
- Allow display of lanes and other parts of a road on navigation devices, VR applications, etc.
- Allow routing not only for motor vehicles, but for cyclists, pedestrians, and others too.
- Avoid relations.
- Get along with few tags and concise values.
Non-Purpose
- Be intelligible to everyone without looking at documentation.
Syntax
lane definition
This syntax is derived from [1]. Lanes are ordered from left to right, looking in way direction.
lanes=[<separator>] <lane> [<separator>...] ... <lane> = <lane_value> ["+" <lane_value> ...] <lane_value> = {<unidirectional_value> | <bidirectional_value> | <parking>} [<timespec>] <unidirectional_value> = n | l | sl | s | sr | r | a | d | c | b | t | w ... Normal/Left/SlightLeft/Streight/SlightRight/Right/Acceleration/Deceleration/biCycle/Bus/Taxi/railWay(or tramWay) - lower case for way direction, upper case for opposite direction - the distincion n/s/sl/s/sr/r/a/d matters for displaying, not for routing <bidirectional_value> = p <parking> = P [<degrees>] <timespec> = "[" <value as in opening_hours=*> "]" <separator>= one of the following: . ... no visible lane separation , ... guidance (Leitlinie) or hazard warning line (Warnlinie), lane change or overtaking permitted | ... continuous line (Sperrlinie), lane change prohibited ,| ... dashed + continuous line, overtaking permitted from left side |, ... continuous + dashed line, overtaking permitted from right side || ... double continuous line, lane change prohibited # ... hatched area (Sperrfläche), no usage permitted <> ... (angle brackets are literals) unspecified constructional lane separation <grass> ... (angle brackets are literals) separated by grass verge; instead of "grass" any barrier=* or surface=* value is permitted
lane properties
shorthand writing
lanes:maxspeed=* lanes:width=* lanes:surface=* etc.
Values are separated by commas.
per-lane writing
lanes:<lane_nr>:maxspeed=* etc.
connecting lanes for lane-wise routing
Only lanes with traffic in respective direction are taken into account.
lane_matching=<lane> [ "," ...] <lane>=[<target_road_lanes> ["/" ...]] <target_road_lanes>=[<way_nr>] ["." <lane_nr> ["+" ...]] <way_nr> ... 0=U-turn, 1=mostleft continuation, 2=second left, etc., default is 1 <lane_nr> ... 1=mostleft lane, 2=second left lane, etc., default ist all
For opposite to way direction, lane_matching:backward=* is used.