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 route). - Stop rendering this key and instead render the relations in opencarto and other featured layers.
_______________________________________________ Tagging mailing list Tagging@openstreetmap.org https://lists.openstreetmap.org/listinfo/tagging