[Tagging] Proposal: Sunset ref=* on ways in favor of relations

Paul Johnson baloo at ursamundi.org
Fri Nov 6 10:24:35 UTC 2015

ref=* on ways has become an unmitigated hot mess for maintainability, and
now that relations have been around for a considerable amount of time.
Let's kill this dinosaur like Linux killed ext filesystem support already.
It's so long in the tooth it's starting to go from egregious to just sad.

*Background*: Prior to 2007 and the 0.5 API, OpenStreetMap had no
"relation" data type, just nodes and ways.  A stopgap measure to deal with
routes was to tag them on ways.  However, this quickly developed into a
major issue as routes with their own refs for different modes and
memberships cropped up as OSM developed past being merely a traditional
street map.  Relations were introduced, and quickly adopted as the standard
tagging for routes of all kinds, with tags for most networks moving off the
member ways to the relations.  Presets for creating road routes with
relations exist in (at least) JOSM and have for years now (I'd consider it
a glaring, almost egregious, omission for any general purpose or
highway-oriented editor at this point).

*The problem:* It's now been 8 years since the introduction of relations,
and only route=road seems to be the sticking point for consistent route
tagging, with qualities that should be part of the relation are instead
still getting legacy-tagged on ways.  This ends up being a major
maintainability nightmare in places where multiple routes share the same
way, especially whenever a new route is introduced or an old route is later
deleted, and only gets worse the more routes share the same way (Illinois
being an extreme example with some highways carrying as many as 9 signed
routes), or the more road networks in play (Texas being an extreme example
with 7 state level networks).

There's also the situation where ways themselves have their own refs often
disconnected from the route (Oregon for sure for any highway with no route,
all highways prior to 1928 and most highways 1928-2007, which is to say all
but ~20-30 highways statewide) and possibly Pennsylvania (with the
four-digit state highways) has this situation, but PA's case might just be
a borderline case of routes with unsigned-ref).

Even in European cases, thanks to "E" routes in the EU, this is decidedly
not a strictly North American situation.

In any case, adding or removing members and checking the relation's
consistency is far easier, and easier to validate, than juggling multiple
ref values in any sort of coherent fashion.  And this is before even
getting into issues of *which order* the refs go in...

*The fix: * I propose a goal of December 31, 2016 to eliminate ref=* as a
method to describe an overlying route; this should be more than ample time
for existing data consumers to catch up on doing a move and ensure data
consistency for routes.  Kill the dinosaur:

   - Deprecate ref=* on ways from having anything to do with the routes
   they run over, use relations instead and phase out the use of
   route-describing refs on ways (be it removal of the tag or replacement of
   the key's value with a ref that actually applies to the way instead of the
   - Stop rendering this key and instead render the relations in opencarto
   and other featured layers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/tagging/attachments/20151106/afb8f49d/attachment-0001.html>

More information about the Tagging mailing list