With no freedom to roam, the U.S. notion of public easements is probably the closest thing we have to the English system of public rights of way, but it’s much, much fuzzier. Have you ever noticed how, every time we import from a local U.S. government agency, we have to reproduce their disclaimer of warranty? That’s because no government GIS agency is willing to be the definitive source of easements and other property lines. With easements, everyone just hopes it doesn’t get to the point of needing to involve the courts. Needless to say, we stick to the signs when we can, even if they’re unstandardized and sometimes wrong.
I don’t think there ever was an “American proposal” for *=designated
. In 2019, iD added a dedicated Cycle & Foot Path preset for shared use paths. This was partly a solution to a major routing problem: in regions where pedestrians are generally allowed to walk along bike paths, mappers often applied the Bike Path preset to shared use paths, based on the path’s commonly understood identity, without considering the allowed modes of transportation, but routers were unwilling to infer foot=yes
from highway=cycleway
.
Since the U.S. was one of the affected countries, iD’s American developers (and I myself) were acutely aware of the problem. However, the highway=*way
*=designated
combination was by no means an American tagging style. By 2019, there were already 341,000 occurrences of this combination worldwide, without the help of iD. Only about 11% of those ways were in the U.S.
I think this was more or less organic usage. As long as designated
is positioned as the highest form of access, then mappers will gravitate toward it and find a use for it, even if they can’t comprehend the old highway=path
proposal. German mappers used designated
to overload the access keys with orthogonal traffic rules based on signs 240 and 241, and American mappers used it to overload the same keys with orthogonal design details. The common denominator is that designated
means no other mode of transportation is as integral to the way.
I kind of see where they’re coming from. I mostly ignore the problem too. After all, in the absence of any mimicry, a feature’s design strongly influences its identity. Ideally, the primary feature tags should be enough to express that identity. However, a shared use path forces us to choose from multiple identities or find some workaround to avoid that choice.
Shared spaces defy neat categorization into primary feature types. Consider the café that doubles as a community bicycle repair workshop, or the town hall that doubles as a community center, or the pawnbroker that also repairs watches, or the money lender that also cashes cheques and sends remittances and packages overseas. Besides these extremely common examples, there’s no shortage of one-off edge cases, especially in small towns, such as the combination laundry–car wash–tanning salon–fitness center just blocks from the combination grocery–flooring–mattress–appliance–tool shed–candy store (Facebook page), a county away from a drive-through deli–liquor–live fishing bait store.
Common workarounds for these POIs include mapping multiple features next to each other (ignoring the one feature principle), falling back to a more generic primary feature tag like shop=yes
, using a semicolon in the primary feature tag (knowing that data consumers will tend to drop all but the first value), or picking the one that best describes the place and adding secondary keys like mattress=yes
alcohol=yes
(ditto). Each of these workarounds is suboptimal, but OSM seems to cope with the situation because the problems are largely theoretical.
We can think of the highway=path
*=designated
scheme as just another workaround, but unfortunately, it conflicts with the access restriction tagging scheme. I think this problem is less theoretical because routers depend so much on access tagging. Personally, I’m more or less satisfied with either choosing from among highway=footway
etc. or leaving a trail’s identity more ambiguous with highway=path
*=yes
. But it’s clearly unsatisfying to some mappers for various reasons. I hope one of the proposals for iterative refinement with path=*
will help to close that gap.