Intersections are a problem. Currently, complex intersections tend to be
modeled as a mesh of overlapping roads, which looks okay for rendering,
but can cause problems for routing.
There is a long-standing proposal for an intersection relation —
https://wiki.openstreetmap.org/wiki/Proposed_features/intersection — but
this seems to have stalled without going anywhere.
I would like to propose an alternative.
Firstly, add a tag (probably 'intersection=yes') that annotates that a
way is part of an intersection. This has two important effects. First,
such a way never has signage associated with it, solving the 'too many
lights' problem (i.e. lights on one of the way's end nodes don't apply
to the 'intersection=yes' way). Second, it tells routing engines to
collapse the end nodes of the way into a single node for graph traversal
purposes.
Secondly, add an 'intersection' way type which can be used for routing.
This would be typically not rendered, but would be as a mechanism to
sanely map lane assignments. These would form a complete mesh at
intersections, and would typically not be rendered. For example:
| |
A ---+-+---
|X|
---+-+---
| |
B
The 'X' represents two new ways connecting the four nodes of the
intersection and representing turn lanes. Again, these are NOT for
rendering; they exist so that lane connections can be assigned in a
rational manner. (But alternative suggestions are welcomed!) For
example, a lane relation needs to exist to map lanes of A to lanes of B,
but routing them through the top-right node doesn't really make sense,
plus doing so would require three relations, while the proposed
'intersection' way requires only two and produces a much more reasonable
path.
--
Matthew
_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
https://lists.openstreetmap.org/listinfo/tagging