As a result of the recent discussion about highway classifications, I decided to propose an extension to the existing expressway=* tagging, so as to better be able to describe the physical construction of a highway. The original goal of the proposal was to be able to describe a road as a controlled-access expressway (also referred to as freeways) independently of the highway=* value (since highway=motorway has importance/legal implications), but it comes with the added benefit of allowing roads that should be highway=motorway (in accordance with regional laws and mapper consensus) as a limited-access expressway when this is the reality. Some users have pointed out that in regions such as Japan, roads that are legally motorways can sometimes have LILO intersections or other access, so this tag would help to differentiate highways in such regions.
There is already some conversation on the proposal’s discussion page, but I would appreciate feedback here as well for those that are not comfortable using the wiki.
My rationale for extending the expressway=* key for this purpose is explained in this section of the proposal, but the two main points are:
The word “expressway” is used to describe both types of road in common language
The key expressway=* is already being used to talk about the overall physical construction of the road, without talking about legal classifications or importance
So what this proposal is doing is turning the expressway=yes tag which is growing in popularity and already has some support, into a new values expressway=limited which sounds like some sort of partial or bad expressway. Then it turns the motorway=yes tag into a different value — expressway=controlled. My question is: why? Why “destroy” two perfectly fine tags and break from the convention of motorways being the best roads and expressways being semimotorways? The reasoning seems to be just that motorway=yes describes a legal feature but I’m opposed to that usage. Tags describing official classification or signage should not be boolean tags but rather improve upon other tags, in this case zone:traffic=XX:motorway. OSM is British English-centred and both terms ‘motorway’ and ‘expeessway’ are used in the UK so I just don’t see any point whatsoever. Let’s fix actual issues like the wrong interpretation of highway=trunk in continental Europe.
expressway=yes will still be a valid option, though discouraged; it will mean that a road is either an expressway=limited or an expressway=controlled. Each retagging of an expressway=yes should be done on a case-by-case basis. As for motorway=*, I do not suggest altering the key at all. It will still be used as it currently is, to say whether a road has the same legal restrictions as motorways in the region. Whether or not you are opposed to this usage, the reality is that it is currently being used that way. Additionally, using motorway=yes has the potential for confusion with highway=motorway.
Much like we are able to say that a road is a limited-access expressway regardless of its highway=* value, we should be able to do the same for whether a road is a controlled-access expressway/freeway. I do not suggest replacing highway=motorway, or even altering most of those ways, since that tag will now imply expressway=controlled.
Furthermore, by having specific values for each meaning of “expressway”, we can properly express that a road properly tagged as highway=motorway for a given region’s rules (e.g. Japan) is not a full controlled-access expressway/freeway.
Essentially, I think that it would be best to have a single key (expressway=*) that is used to describe the overall physical construction of a road, orthogonally alongside a single key (highway=*, with the exception of highway=motorway which implies expressway=controlled) that is used to describe the importance classification. Having multiple keys used to describe what is essentially the same property complicates things and is not as descriptive.
I agree that it should be a singular key. I have explained my concept in the other thread already. I propose moving the importance-based values into importance=* while all of the highway=* values would depend on functionality, meaning there would be highway=expressway. I don’t want to stop here and I’d introduce more values such as arterial, collector, local, which will correspond to different sets of parameters of a road. I have explained the concept more throughly here. This of course cannot be implemented right away so another option would be highway=road + road=motorway/expressway/etc. (at first without highway=road).
This seems like it could be a reasonable idea. I expect it would function similarly to tunnel=* where all the values other than no can be interpreted as simply meaning yes, or they can be interpreted with more specific meanings depending on a data consumer’s needs.
I think we’d want to consider the possible values carefully and make sure we have some (at least theoretical) data consumer use cases for a level of detail beyond expressway=yes. If every data consumer would end up treating all the values the same then maybe there is no need. I’d also want to consider whether the existing tags access_control=full/partial/no and dual_carriageway=yes/no cover this same information or not.
A few years ago I made this chart attempting to delineate what counts as expressway=yes and what doesn’t. It specifies four level of access control which may be helpful in this discussion:
No access control
Intersects with most cross streets and provides direct access to adjacent properties via service roads and driveways. Intersections are standard at-grade style.
Limited access
Intersection frequency is limited to minimize interruptions to through traffic. Direct access to adjacent properties is right-in right-out (RIRO)* only, infrequent, or non-existent. Intersections are standard at-grade style.
Partial access control
Some access is via controlled interchanges with on/off ramps or RIRO* intersections. Other access is via standard at-grade intersections. Intersection frequency is limited to minimize interruptions to through traffic. Direct access to adjacent properties is RIRO* only, infrequent, or non-existent.
Full access control
All access is via controlled interchanges with on/off ramps. All crossings are grade separated. No standard at-grade intersections. No direct access to adjacent properties.
The reason I included a distinction between limited access and partial access control is to account for rural limited access roads that don’t look much different from a typical undivided highway but that do have small signs indicating limited access, a lack of direct driveways, and infrequent intersections by design. Here’s an example: https://www.mapillary.com/app/?pKey=145375070909988&focus=photo
Roads like this probably wouldn’t be thought of as expressways by the average person so I believe the general consensus has been to not tag them expressway=yes.
As a continuation of response to @Minh_Nguyen , I could agree if expressway= is a superset, with =motorway included as a subset, and =yes is an unspecified positive avoided as much as possible . However, the limitation of expressway= persists in naming.
=limited
Unclear whether it means limited-access, a limited number or extent of criteria fulfilled over the entire length, or there’s a limited length where the requirements are met. The latter two is the usual meaning of =limited in OSM. =partial would have the same problem. Distinction from access_control= is lacking.
It doesn’t distinguish between controlled-access grade-separated non-freeway-grade roads, and freeway standards
Besides geometrical design, there may be priority-controlled merges, and unseparated bus stops (depending on exact definition of access control adopted).
Rural ones may lack full-width shoulders, if this is expected for rural freeways
Naming doesn’t highlight it having more requirements than access_control=full