state=proposed is the original tagging scheme for a proposed cycling route designation. It has spread to some other recreational route types but little beyond that. Lifecycle prefixes have since emerged as a more foolproof mechanism, allowing data consumers to opt into proposed routes instead of having to opt out of them. I’m wondering how much appetite we have for migrating route relations from state=proposed to the proposed:*=* namespace.
state=proposed requires data consumers to specifically special-case it to avoid prematurely treating a proposed route as a current, usable route. The tag could surprise other data consumers, especially routing engines and vector tile schemas that strive to handle route relations in general so that routing profiles and stylesheets can refine the output further. It’s a classic troll tag, though it predates that term by quite a bit. The risk isn’t limited to proposed infrastructure like highway=proposed; proposed routes often traverse already completed thoroughfares.
Concerns about state=proposed arose on the tagging mailing list back in 2011 and on the talk page in 2020. That year, some U.S. mappers considered retagging proposed U.S. Bicycle Route relations as proposed:route=bicycle, leaving state=proposed in place for emphasis, but there was an objection to changing the tagging scheme at the time, so we mostly stuck to route=bicycle state=proposed. I’m unsure if there has been any other debate about this tag.
As of February 2, route=bicycle state=proposed is the predominant tagging for a proposed bike route designation:
| Tags | Prevalence | Distance | Geographical distribution |
|---|---|---|---|
route=bicycle state=proposed |
6,731 | 65 035 km | Europe (especially Ireland), United States (especially Alabama, Florida, Tennessee) |
proposed:route=bicycle |
821 | 7 830 km | Europe (EuroVelo), Russia, United States (GART) |
route=bicycle proposed:cycle_network=* |
556 | 871 km | United Kingdom (London), United States (Santa Cruz, California) |
route=bicycle proposed=yes |
68 | 1 429 km | Belgium, Germany, United States (Washington) |
route=proposed proposed=bicycle |
22 | 199 km | Austria (Vienna), France, Germany (Leipzig) |
state=proposed is much more prevalent among recreational route types than among public transportation route types:
| Feature | state=proposed |
proposed=* |
proposed:*=* |
|---|---|---|---|
route=bicycle |
6,731 | 68 | 821 |
route=hiking |
619 | 6 | 30 |
route=mtb |
42 | 4 | 3 |
route=road |
34 | 13 | 17 |
route=railway |
19 | 10 | 4 |
route=foot |
17 | 5 | 4 |
route=tracks |
3 | 1 | 2 |
route=subway |
1 | 2 | 39 |
route=bus |
10 | 1 | 32 |
route=light_rail |
1 | 2 | 14 |
route=ferry |
0 | 3 | 8 |
route=train |
4 | 4 | 8 |
route=tram |
0 | 1 | 1 |
With PTNA throwing its weight behind Based on current trends, I suspect public transportation routes would naturally shift toward proposed:route=*proposed:route=* without any active effort anyways, but we can migrate them anyways to resolve any existing compatibility issues.
I’m more interested in migrating highway route relations to proposed:route=road. Even though route=road state=proposed is slightly more common than proposed:route=road, it’s close enough that a tagging change to unify tagging wouldn’t be very disruptive. We definitely wouldn’t be able to consolidate highway route relations under route=road state=proposed. It would break compatibility with a number of existing renderers and routers, which would start to show them as usable routes, misleading users. On the other hand, we could consolidate them under proposed:route=road without much fuss. Few renderers intentionally depict highway=proposed, let alone proposed highway routes. At a glance, some route=road state=proposed ref=* relations contain extant roadways, like D 304 in Chalon-sur-Saône, but it seems like outdated tagging. Many more relations rely on fut_ref=* to hide the route number from renderers such as OsmAnd and OSM Americana. This would no longer be necessary with proposed:route=road.
Retagging recreational route relations would be more disruptive. The most popular trail renderers do recognize state=proposed, but only to deemphasize or hide the route entirely. It seems that the consensus among data consumers is to treat the routes as noncritical for wayfinding purposes. After all, proposed routes don’t manifest in the field. If state=proposed were a fresh proposal today, I’m confident we would reject it out of hand because this usage would be far outweighed by the risk of unaware data consumers treating the routes as real routes. Even with so many years of history behind state=proposed, the tradeoff is still unfortunate. Anomalies like state=proposed and cycle_network=* would probably discourage more data consumers from making use of cycling route relations.
Would folks have any concern about shifting public transit and highway routes away from the tagging scheme that recreational routes use? Would we be willing to go further and migrate some recreational route networks to the proposed:*=* namespace, as we’ve started to see with EuroVelo?