I don’t get the impression that highway=*
values primarily refer to purpose or usage. One can infer a purpose or usage, but it isn’t inherent to the value.
Identity
Sometimes, the highway=*
key is used as a thematic key, essentially a metonym for “transportation”, analogous to natural=*
, emergency=*
, or healthcare=*
. The following values answer the question “What is it?” using plain-English nouns:
- What is
highway=motorway
? It is a motorway. - What is
highway=motorway_junction
? It is a motorway junction. - What is
highway=cycleway
? It is a cycleway. - What is
highway=footway
? It is a footway. - What is
highway=bridleway
? It is a bridleway. - What is
highway=raceway
? It is a raceway. - What is
highway=busway
? It is a busway. - What is
highway=bus_stop
? It is a bus stop. - What is
highway=crossing
? It is a crossing. - What is
highway=elevator
? It is an elevator. - What is
highway=rest_area
? It is a rest area. - What is
highway=living_street
? It is a living street. - What is
highway=via_ferrata
? It is a via ferrata. - What is
highway=path
? It is a path. - etc.
Each of these answers is an identity; from that identity we can infer a purpose or usage. Up to this point, each answer can be found in a British English dictionary – even “path”. The dictionary definitions might not line up 100% with OSM’s, but at least one can explain any discrepancy as mere nuance. No matter how much circumlocution we require, a bevy of secondary tags are still incapable of stating the identity of a feature.
I don’t know if anyone ever uses “scramble” as a noun to refer to places where you have to scramble, but English has a tendency to nominalize verbs, so highway=scramble
would still fit the pattern.
Classification
Other times, we presume that the key highway
already means it’s a literal highway in the sense of a road or street. Instead of repeating that information, the following values answer the question “What kind of highway is it?” using adjectives that naturally form compounds with “road” or “street” in English:
highway=trunk
is a trunkroadhighwayhighway=trunk_link
is a trunk road’s linkroadhighwayhighway=primary
is a primarystreethighwayhighway=secondary
is a primarystreethighwayhighway=tertiary
is a secondarystreethighwayhighway=unclassified
is an unclassifiedstreethighwayhighway=residential
is a residentialstreethighwayhighway=service
is a serviceroadhighwayhighway=track
is a trackroadhighway
The use of highway=*
can be slightly confusing, because “highway” is the word for a motorway
in some dialects, but it hasn’t turned out to be a major issue. Instead, the main point of disagreement is often about whether these “kinds” correspond to functional classifications, legal designations, or something else. There are alternative keys for these aspects, such as designation=*
and network=*
, but no one seems to care as much about them as these highway=*
classification values.
Something something
Recent discussions have mentioned values or definitions that don’t fit this pattern:
- I always thought
highway=road
means it’s a road, even if we expect mappers to be more specific than that. But if the wiki is to be believed, it doesn’t literally mean a road; it could be a path instead. highway=motorcycleway
would coin a brand-new word that doesn’t exist in English, “motorcycleway”, to refer to a kind of path, by analogy withcycleway
.highway=pathless
is an adjective, yet it doesn’t refer to a kind of highway. There’s no such thing as “a pathless”, and it isn’t a pathless road or street. A “pathless path”? That’s an oxymoron! No, it’s a pathless… something. In other words, it’s a not-a-path, anot:highway=path
– or even ano:highway=path
based on verifiability.
This would be far from the first time OSM keywords depart from standard English, but I think anyone who wants to promote further departures should tread with caution. What appears to be a mere linguistic quirk today might turn out to be a real headache for mappers and software developers in the future.