[Tagging] Intersections redux

Matthew Woehlke mwoehlke.floss at gmail.com
Fri Jul 3 20:36:47 UTC 2020


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



More information about the Tagging mailing list