[Tagging] Clarification on the role link in route relations

Minh Nguyen minh at nguyen.cincinnati.oh.us
Sat Jan 8 21:02:15 UTC 2022


The wiki page for route relations lists an optional role "link" for 
highway=*_link ways leading to and from the route. [1] Under what 
circumstances should this role be used? Should we deprecate it?

The "link" role was originally documented in 2009. [2] At the same time, 
the highway=motorway_link documentation was edited to state that all 
link roads should be members of route relations as "link" members. [3] I 
can't find any discussion about the changes. The requirement to add link 
roads to route relations was removed the following year [4], but the 
role remained documented on the route relation page.

Since then, there have been occasional references to this role [5][6], 
but it seems to have gone mostly unnoticed. It goes unmentioned in other 
parts of the wiki that describe route relations. As of writing, the 
"link" role is used on 26,157 route relation member ways (0.06% of all 
route relation member ways). [7] This is a high enough number that it 
can't be dismissed as a mere tagging mistake, yet it falls far short of 
the 766,473 highway=motorway_link ways, let alone other highway=*_link 
ways. [8]

Is there a particular route type, region, route network, or scenario in 
which the "link" role is more appropriate? Or is this is just a 
misunderstanding based on the residual description on the route relation 
page? Perhaps some mappers have misunderstood that this role is required 
in order for a router to announce "Take on the ramp toward ABC 123", 
even though that's what the destination:ref key and destination_sign 
relation type are for.

At the current usage level, data consumers probably would be unable to 
depend on the "link" role for any practical purpose. There just isn't 
nearly enough coverage of it. Routers such as Valhalla are already 
capable of automatically determining connecting routes anyways.

Meanwhile, the inclusion of "link" members causes problems for any 
editor, QA tool, or data consumer that lacks support for this role when 
determining the linear progression of a route. For example, iD has a 
known issue incorrectly ordering members of a nonlinear route relation 
when splitting one of its ways. [9] Renderers such as OsmAnd and 
openstreetmap-americana understand route relations but don't understand 
the "link" role, so they end up showing redundant route shields that can 
easily confuse the user. [10]

I think we should qualify the documentation for the "link" role so that 
mappers don't misunderstand its purpose and feel obligated to use them 
for optimizing router guidance instructions. Perhaps we should even 
deprecate the role, since it seems redundant to the "connection" role 
for recreational route relations. [11]

(There's also a note on the German E54 route relation [12] justifying a 
slightly different usage, apparently for keeping the route connected, 
but the "link" roles were removed last year. [13])

[1] 
https://wiki.openstreetmap.org/wiki/Special:PermanentLink/2207268#Members
[2] https://wiki.openstreetmap.org/wiki/Special:Diff/270172
[3] https://wiki.openstreetmap.org/wiki/Special:Diff/270169
[4] 
https://wiki.openstreetmap.org/wiki/Talk:Tag:highway%3Dmotorway_link#.22Link_roads_should_be_members_of_all_related_route_relations.21.22
[5] https://lists.openstreetmap.org/pipermail/tagging/2010-June/002512.html
[6] https://lists.openstreetmap.org/pipermail/tagging/2010-June/002512.html
[7] https://taginfo.openstreetmap.org/relations/route#roles
[8] https://taginfo.openstreetmap.org/tags/highway=motorway_link
[9] https://github.com/openstreetmap/iD/issues/8578
[10] https://github.com/ZeLonewolf/openstreetmap-americana/issues/79
[11] 
https://wiki.openstreetmap.org/wiki/Special:PermanentLink/2185644#Tagging
[12] https://www.openstreetmap.org/relation/6244657
[13] https://www.openstreetmap.org/changeset/87072348

-- 
minh at nguyen.cincinnati.oh.us





More information about the Tagging mailing list