Interesting, I had no idea that the JOSM relation editor makes this distinction. It sure would be nice if editors would note any special handling in their taginfo project files, not just the inclusion of a tag in presets.
A special case for superroute
was introduced in response to a proposal in JOSM’s issue tracker to replace the route_master
part of the PTv2 schema. It seems to have been a conscious choice to promote new tagging rather than a technical need that nested route
s couldn’t fulfill. This change appears to correspond to a sudden uptick in usage. Until then, there had only ever been one substantial discussion on the tagging mailing list. I’m unsure if it was for or against superroute
per se, because most of the participants seem to have conflated superroute relations with route superrelations.
All I can say is that, from where I sit in the U.S., type=superroute
is exceedingly rare compared to nested route
relations, which were discussed, documented, and tagged more than a decade earlier. If a separate type=superroute
tag is actually solving a problem, I’m unsure why that problem hasn’t surfaced in a country that seems to be surfaced in routes of every shape and color. After all, route relations are the raison d’être of our community’s reference renderer implementation.
A clean distinction between “routes” and “superroutes” would be impractical here anyways, since we have many reasons for nesting routes inside other routes. Many highway routes and long-distance cycling routes are too long to fit in a single relation. Many are actually series of independent routes coordinated among states to meet at common points and share numbering, probably akin to the EuroVelo stages. Even a route that traverses only a single state may need multiple child relations to represent the signposted cardinal directions, which might change up to four times along a ring road.
Sometimes stages of a highway route intentionally overlap or stages of a train route intentionally do not connect. Sometimes the disjointed nature of our routes breaks other tagging schemes’ assumptions and we have to improvise:
These oddities came up during that last tagging list thread about superroute
, but only in defense of nesting route
relations into superrelations in general, not specifically about crafting a new relation type.