|Proposal status:||Proposed (under way)|
|Definition:||Specify the extent of a junction|
|Rendered as:||Some renderers may show the extent of the junction at higher zoom levels|
I propose the new value
junction for the established key highway=*, which should be used to specify the extent of a (larger) junction.
Currently there exists no accepted way to specify the extent of a junction. It is not possible to know if two or more intersections of ways belong to the same junction or not. The same is true e.g. for traffic lights. The proposed tag
highway=junction should be used on larger junctions on an area covering the whole junction. This will provide information about what features belong to one, individual junction. Applications could now interpret data within this area differently:
- Renderers could display the junction as a single, closed area, which should be closer to reality.
- Renderers could display e.g. traffic lights or similar at lower zoom level, but only one for each junction.
- Routers could give more precise instructions, especially on complex junctions
- In the future tags could be applied to the whole junction.
Additionally it should be possible to dramatically reduce the number of turning restriction relations on junctions, if we allow intersections of ways within the junction area without connecting nodes. This would not break any existing routing algorithm.
- Better visual representation of a junction
- A lot less turning restrictions
- Simply draw the ways through the junction as they are
- Exact definition of what belongs to a junction and what not
- Fully compatible with existing applications
- One drawback: editors, which are not aware of this feature might display a warning
To map a junction, follow these steps:
- Draw each way exactly as you could follow it.
- If two ways intersect create a connecting node, if and only if you actually could change from one way to the other.
- Add turning restrictions for connecting nodes, where necessary.
- Create an area and completely cover the junction with it. Add the tag
highway=junctionto it. The area should also cover those nodes, where the ways of the junction are split up for the different driving directions.
- If the ways of the junction have a layer=* key specified, use the same layer for the area. If more than one layer is used - for example because of bridges or tunnels - split the area and set the layer tag accordingly.
Rautenweg north from Vienna
A not-too-complex junction north from Vienna:
Background imagery is (C) Bing.
Changes to editors
Usually an editor will warn if two ways (on the same layer) intersect each other without connecting node. Within a junction area (with the same layer), this warning should be omitted.
What changes are necessary to existing applications
Really necessary: none. You can use any editor and start mapping right now and applications like routers and renderers will still work. But editors, which are not updated will display warning messages and tools like keepright will display errors.
Why not use a relation
Because it is much harder to keep updated and much less visible in editors.
Please use the Discussion page for any comments.