Once upon a time a bunch of people decided to start collecting informative bits about stuff they‘re concerned with into a geo-referenced database. They mapped streets – hence the name of their experiment – and also PoIs. Records consist of a so-called tags, key-value pairs. In hindsight tags are differentiated into a primary tag, a.k.a. the substance/essence and a number of secondary tags, a.k.a. the attributes. There‘d be e.g. highway=secondary; name=Abbey Road.
One of those days, somebody noticed a problem: They wanted to map a so-called shared-space, where pedal cycles and pedestrians both allowed and traffic sings put up to show that intention. One solution might have been to tag a highway=cycleway;footway. Thereby turning the right hand side of the tag into a list. This looked ugly, a tag no longer would code for a 1:1 relation but a 1:n relation. Users of the data do not like that.
Some pondering later, the idea was born: Put the function/use/arbitrary detail of the mapped entity into the attributes where they can merrily coexist. foot=designated; bicycle=designated should from now on convey what previously was told by the primary tag. Only problem left: What would be the substance then? It must be something generic, something that provides as little information as possible over what the highway key already contains.
This marked the inception of highway=path as a light and unspecific shim over highway. All it says: It is probably narrow (But don‘t depend on that.) You likely will not see cars moving there. (With few exceptions.)
So they married, and everyone lived happily ever after.
Discussion
Comment from Minh Nguyen on 22 September 2024 at 21:24
So much has been written about how to distinguish one kind of path from another, but the truth has been staring us in the face: everything is a footway.
A set of steps is just a very bumpy footway on an incline. A cycleway is just a footway along which your feet push pedals. A busway is just a footway along which you stand, feet astride for stability, because all the seats are occupied. A motorway is just a footway along which your lead foot slams the gas pedal and never lets up.
The only exception is bridleways: you don’t really do much of anything with your feet, other than sticking them in stirrups. And obviously the horse has hooves, not feet. Yet in my country, all of these ways – even the bridleways – are measured in feet.
Comment from TheSwavu on 22 September 2024 at 22:40
Don’t forget to read Richard’s classic on the subject of paths. Nothing has improved since 2013.
Comment from kucai on 23 September 2024 at 02:19
where’s slice0 when you want him? This could be a great party!
Comment from Fabi2 on 24 September 2024 at 03:44
Just draw a second way over the first one, wich share the same nodes, and has the tags you need, as it is possible for ways, but not for nodes at the moment. See https://wiki.openstreetmap.org/wiki/Relation:multifeature wich is my emergency solution, after the problem first appeared with type=health-relations.
Waiting for API 0.7 to provide clean logical object separation for > 1 object on the same place and hierachies of logical objects.
Comment from Hungerburg on 24 September 2024 at 23:11
I consciously worded the post as a fairy-tale. Therefore I did not see a need to explicitly mention, that this likely not the way events actually unfolded. Just now happened over https://community.openstreetmap.org/t/rfc-deprecating-highway-road-in-favor-of-highway-unknown/118864/47 – Perhaps it all is about for cars or not for cars? Paths conveniently surveyed from within a car https://wiki.openstreetmap.org/wiki/File:Path-footyes.jpg nevertheless.
Comment from Minh Nguyen on 25 September 2024 at 00:38
Back in 2008, when the community simultaneously voted on
highway=road
andhighway=path
, we mapped these features based on field surveys, GPS traces, and Yahoo! imagery that was barely legible at zoom level 17 in the U.S., to say nothing of Europe. We couldn’t be as nitpicky about navigation mapping as we are today. Yet at the time, some countries’ tagging guidelines insisted that tags such ashighway=primary
andunclassified
were strictly tied to official designations, which may or may not be signposted. This created a situation where someone could have valuable data to contribute to OSM but be unable to express it.In part,
highway=path
had the same motivation: someone could see a path in GPS traces and be sure that it wasn’t a road, given its location or curvature, but unsure whether it was intended for pedestrians, cyclists, or horseback riders. Neither of these proposals accounted for the idea that someone might need to trace some smudge in imagery without knowing whether it was a road or path… or aeroway or waterway. The advice would’ve been to leave a note in OpenStreetBugs or MapDust instead.highway=path
was simultaneously approved for shared use paths. So even though most countries have relaxed their road classification rules and we can see more clearly in street-level imagery,highway=path
has endured whilehighway=road
was largely forgotten – until someone noticed that the latter got redefined to include paths.Anyways, sorry for digressing. As you were saying: the couple married and rode off into the sunset… on a golf cart path. 🤪
Comment from Exe19 on 27 September 2024 at 18:51
Another point where key=value systems seems inadequate is shop=*.
For example there’s a shop that sells bot stationery items and computer hardware. It’s currently tagged as 2 nodes (9559041030 & 9559041033) which is not only inelegant but a violation of One-Element-Rule.
Unlike =path sub-tags I’m not aware of a better solution being used.
Comment from Hungerburg on 27 September 2024 at 23:19
Funny that you mention this. During writing of my diary entry, I noticed that there is not many https://taginfo.openstreetmap.org/tags/amenity=shop! When following the path example, the - to some at least - more interesting stuff than that there is a shop there - namely what it has on sale - then would be tagged in attributes like bot_stationary=yes and computer_hardware=yes. When I filter here https://taginfo.openstreetmap.org/keys/shop#values for semicolon “;” I see that 1:n relations are not popular there neither, apart from convenience;gas.