|Proposal status:||Draft (under way)|
|Definition:||define which nodes belong to an intersection, and how to route over them|
|Rendered as:||traffic lights symbol or hidden|
Where streets with dual carriageways cross, there are at least 4 intersection nodes. If there are additional footways, cycleways etc., things are getting complex and some problems arise:
- If you map only 1 highway=traffic_signals, most of the road combinations appear as uncontrolled to routers. They calculate the duration of the journey too short. If you map traffic signals on every intersection node, they look crowded in the map, and routers calculate the duration too long.
- Routers possibly say "turn second left/right" where it's actually the first junction.
- With many intersection nodes, a myriad of turn restrictions is needed.
While mappers tend to get lost with micro mapping these days, this proposal aims to resolve these issues by basically viewing a junction as a whole, like a human does. We are going to use a base relation to define the junction itself, and some optional additional relations to define the routes over that junction.
How to map
Create a node on every intersection point where it is allowed to change from one way to the other. Every way leading into the junction needs at least one node on the junction.
Create a relation with all of those nodes as members. Role names are not needed.
|signals||yes/no/manual/||no||type of traffic signals, default is no|
Relation type=restriction may be extended to permit an intersection relation as the member with the "via" role.
However, this proposal suggests a new relation type specifically for junctions with an intersection relation:
|number_waits||<number>||no||cumulated number of traffic-signals and give-way's to leave the junction|
|avg_waiting_time||<number>||no||avarage number of seconds to wait|
|for||foot/vehicle/bicycle etc.||no||see key names in access=*, with the exception off "access" itself (this is not needed, because default is for all)|
If an affected way (from* or to*) has more than one end node outside the junction, split that way on at least 1 intersection node.
Multiple intersection routes may exist for a given from* and for, but if at least one is defined, all undefined routes are considered forbidden. If no intersection route is defined for a given from* and for, all possible routes are considered allowed (given that oneway=*, access=* etc. permit it).
If signals=* is set to a value other than "no" or "none", place a usual traffic lights symbol in the center of the junction.