Highway=trunk access

I’d like to ask ya all about accessibility of highway=trunk by different types of transport.
Not so long ago in my land of Poland all motorways were highway=motorway and all expressways were highway=trunk but basicall all expressways are now also highway=motorway where it is dual carriageway, which is nearly everywhere.

There is a group that want to push that further and when there is a dual carriageway with collision-free highway links, etc, those are now supposed to be highway=trunk as well even tho they’re now secondary for instance.

The problem i see if that most of those roads are not forbidden for cycling:bike:, horses:racehorse: or agriculture:tractor: vehicles, which are slow-moving vehicles

When i look into iD, the default access values for trunk are unset for bikes or horses, while primary and below appear to be yes by default.

Does that mean, that by using trunk we expect that :bike::racehorse::tractor: are forbidden there by default? Different routings does disallow that type of traffic there, while other don’t.
What is the official stand there?

no, as highway=trunk is supposed to be based on importance in road network, see Proposal:Highway key voting importance - OpenStreetMap Wiki

See also Highway Tag Africa - OpenStreetMap Wiki

Though admittedly multiple areas broke highway=trunk tagging and did stuff like “all expressways were highway=trunk” (resulting in highway=trunk islands in some places)

1 Like

Does that mean, that by using trunk we expect that :bike::racehorse::tractor:are forbidden there by default? Different routings does disallow that type of traffic there, while other don’t.
What is the official stand there?

IMHO you should ask this in the Polish community because there are no global access restrictions for trunks. In Germany and Italy, I think also in the UK, a trunk does not automatically exclude pedestrians or bicycles. There is a motorroad=yes tag invented in Germany as a shorthand tagging to say motorway like restrictions apply.

3 Likes

Since I’m from Germany, and the Polish community wants to adopt our limited-access highway (expressway) definition: The structure of an expressway doesn’t come with any access restriction on its own[1] which is why motorroad=* should be explitly added and the exceptions for non-motorised traffic and slow vehicles motorroad=no should also be included to remove ambiguity.

Admittingly, this is more the exception than the norm since trunks originally (i.e. in the UK where OSM’s road classification come from) were a class higher than highway=primary and legal access is the same as on any other road but this rule also isn’t consistent internationally (e.g. in many countries such as the Netherlands, motorroads are tagged as highway=trunk regardless to which highway network they belong).


  1. In fact, they may not even be legal expressways since a single carriageway must have at least two lanes in each direction (if one direction has only one lane, it must be separated by a barrier) but for OSM, all what matters is that crossing the centreline (e.g. overtaking, left turns) in any way is forbidden and be grade separated with other roads ↩︎

well, there are multiple competing ideas in Poland how we should tag highway=trunk (after our motorway-standard expressways got moved to be tagged as highway=motorway)

thx for the replies so far, I’d like to make one thing clear.
iD might be just an editor with some defaults and presets, but in general it directly follows wiki specifications in terms of translations for the different object/presets and in terms of access, if motorroad=yes then it shows the default access of foot=no bicycle=no horse=no

So back to the original question, why does it explicibly show access as yes for primary and lower,
while with trunk it shows it as unknown while motor_vehicle=yes and general access=yes.

So i understand the replies, but many tagging/behaviour is described as in-use before people actually approve it.
People may now claim that iD is wrong there to display those unknowns, but is it really?

  • They did code it this way on purpose and they had their reasoning worldwide.

Because yeah, that’s what i’m asking about. While i can see that different countries have weirly their own highway standards… when we read wiki specifications, it explicibly states that those are for worldwide use and different languages are just translations and should not be country spoefic.

You’ve probably heard by now that access tags are primarily about legal restrictions. But data consumers don’t need a map of legal restrictions, they need a map of legal and practical restrictions. What should they do when there isn’t a sign on the ground, or when mappers haven’t noticed it yet? Data consumers fall back to default values as a last resort, to ensure reasonable behavior on average. It doesn’t mean these heuristics should be copied directly into OSM. From a data consumer’s standpoint, we should strive for as much coverage of access restrictions as possible.

iD’s placeholder gives an idea of how data consumers might react to a missing value, but different data consumers might behave differently depending on context or for historical reasons. The purpose of the placeholder is to discourage mappers from filling in all the access keys just because the field is there. iD has a similar default value on the One Way field (“Assumed to be No”). That said, mappers in some regions have found it useful to apply access tags explicitly anyways:

To your original question, globally, highway=trunk has no default access restrictions from OSM’s perspective, but some routers behave as though it has access restrictions similar to highway=motorway:

1 Like

My observation is that setting specific access tags is required on trunk coz many data consumers defaults to no access.
iD indeed try to hint that, but there is no general consistency between iD hinted defaults and different data consumers.
track or footway being examples there.

I’m worried that deliberately setting bicycle=yes on trunks may cause some data consumers break their design logic that treat yes as specifically built for this type of transportation.
This may be wrong conclussion on their part,
but there is a reason we need 75% majority to change something, right?
Axactly because we should treat data consumers with “respect” as they may be years slow implementing what we might decide.

I’d love if all communities worldwide were thinking about those issues, that much of our specifications are in fact in-use and not approved and just like we tend to make assumptions, those should be built on facts and not a whim.
Like, should a total of 20 voters decide on such a big deal for a whole country for a worldwide data consumers use?

No.

By using trunk we mean that a road is part of the most important route between two important places.

This is a trunk road in Vermont, in the United States:

You could definitely ride a bike there, and since it’s Vermont, a horse or tractor would also be totally fine and not at all unusual.

This is also a trunk road, this time in Rhode Island, also in the United States:

It’s almost, but not quite, a motorway. But, because it connects important places, it’s tagged highway=trunk + expressway=yes. I’m not sure if you could ride a horse here, but it would certainly be ill-advised. I would hope that a horse router would observe maxspeed and expressway=yes to determine that.

Lastly, this is a highway=primary, back in Vermont, United States:

It is tagged highway=primary + expressway=yes to describe its limited access features. However, it is not up to motorway standards due to various issues along the way. It also doesn’t go anywhere important. It was part of a larger project to build a bypass that was never completed, and so now it’s an overbuilt road to nowhere. Thankfully, it’s tagged bicycle=no and foot=no.

In my opinion, highway=trunk tells you nothing about access restrictions. You have to add maxspeed and the various access tags. All it says is “this is an important road”. In the United States it means “this connects two places of regional importance”.

The primary use case for highway=trunk is to show the shape of the road network at low zoom. It conveys almost no useful information to routers without additional access tagging.

4 Likes

So a trunk should actually connect something, like two cities and not be a trunk just because it’s dual carriageway?

As for the access by all types of transport, well, US is not signatory of Vienna convention on road traffic and you might have very different laws on general access over different states.

is it just tagged, or the local law or street signs say so? If it’s just tagged, then it’s very wrong and also bad assumption that eveyrthing but motorists are forbidden on big dual carriageways.
Might be according to Vienna convention, but basically motorroad and expressway forbids those: :bike::racehorse::tractor:
And while those tags can be used independently from a highway type, highway=motorway actually implies motorroad=yes. So it’s not that plainly simple
You are right to assume, that trunk does not have documented access disallowance, but it also was never ever decided that it doesn’t, to the point that OSRM routing model on OSM does not allow bike traffic on trunk

So my general question is also about if we are playing our own sandbox, or do we actually care about legacy dependencies?
Does data consumers have a say? Because that’s my biggest worry.

I’d differ from that slightly, in that:

  • the role of the highway tag is to “indicate the importance of the highway within the road network as a whole”
  • in some countries, the national highway agency (or equivalent) happily has a road classification system that indicates the importance of a given highway within the road network
  • in those countries, OSM highway values generally align with the formal classification, to reduce subjectivity, make mapping easier, and make maps more legible
  • those formal classifications often come with standard legal access restrictions

So in the UK, highway=trunk means “road with green signs and a ref beginning with A”. On these green-signed roads, bikes and horses are allowed. highway=motorway means “road with blue signs and M in the ref somewhere”. On these blue-signed roads, bikes and horses are not allowed. Famously, we don’t explicitly tag horse=no on every stretch of highway=motorway.

In other countries, like the US, there isn’t a 1:1 mapping between official classification and highway= value. So you would expect access tags on highway=trunk because it’s not clear otherwise. But you still don’t see people routinely adding bicycle=yes to highway=tertiary, for example.

6 Likes

True, or foot traffic either. But GraphHopper and Valhalla do allow pedestrian routing on trunks. (Referring in all 3 cases to the default profiles in use on osm.org). Edit: I’m not sure now if that is true for bicycle - I checked it for foot.

I know this OSRM behaviour has caused some issues for mappers in Ireland, one of the countries where a trunk road is no different from a primary road as far as access is concerned. Some mappers feel they should tag trunks as bicycle=yes, foot=yes so that OSRM routes correctly; others feel that is not just tagging for the router but tagging for one specific implementation of one specific router.

The issue has come up several times on the OSRM Github. There appears to be a pull request outstanding that might change this behaviour on a country basis:

If you are asking for a definitive global statement of default access for trunk roads (rather than country defaults), it seems you would need to persuade one group of countries to explicitly tag that foot and bicycle traffic is legal on most of their trunk network, or a different group of countries to tag that it isn’t.

1 Like

I don’t think there are countries that use trunk just for dual carriegways. There are basically two ways of using trunk

  • to show the importance od the road (linking states or countries)
  • to show limited-access roads - mostly expressways

There are some countries that developed different use - like Germany using trunk for non-collision roads, but they are exeptions.

definitely, as dual carriageways are possible even on residential roads, driveways and other extremely minor roads

if someone wants to mark whether something is dual carriageway: dual_carriageway | Keys | OpenStreetMap Taginfo

4 Likes

That is the standard in the United States as of 2021. Before that, it was common in some areas of the country to tag high-performance roads as trunk. However, we learned that this was a terrible mistake and gained consensus that the main purpose of the highway classification tags from tertiary to trunk are to show the structure of the road network and not the physical characteristics of the roads.

The main use case for using trunk is for renderers, not for routers. Where routers use it, it’s a backup in the absence of other tagging. Now, in the UK and Ireland (as @Richard notes above), there is no thinking involved. The national systems map precisely 1:1 to importance, connectivity, and structure. When we looked at this in the US, the UK system was our guiding principle for what to copy. We reverse-engineered the concepts that the UK system captures in its real-world road network and tried to apply it in a place with a hodgepodge system.

Access tags mean exactly the same thing in the US as it does everywhere else. It may be more difficult to determine the legal situation in the US, as it’s a combination of signage and local laws. I would have to defer to whoever tagged that road as to whether they did it correctly or made a mistake. In the eastern US, it is rare to allow bicycles on limited-access freeways.

This is false. OSRM has no problem routing over trunk roads without bicycle tagging:

Yes. Data consumers should have the most say in my opinion. Right now, the situation in Poland is a disaster for the main data consumer of highway=trunk, which is renderers:

7 Likes

check out access tags there and you find foot=yes which likely allows not only pedestriands, but bikes as well, as it probably make this assumption.
Look for a trunk with access tags.
foot=yes is also wrong there, coz there is mapped sidewalk next to it, so feel free to remap it yourself

All of Europe looks like this, Poland is no exception there. Heck even US got this issue and look up to your Canada neighbour.
Also, your map shows highway motorway and not trunk at this zoom lvl
EDIT:
link the map, I’m wrong to say it doesnt show trunks, but there are so little, coz those roads were not present there 20 years ago and this year most trunks were remapped to motorways
.

In that location, it is allowed by state law to run or jog on the highway, even when a sidewalk is present. So, that is in fact a correct tagging. The world is complicated :smiley:

4 Likes

While the motorroad key implies certain access restrictions, the expressway key does not. expressway is only about the construction standard of the road. In many cases the same road may have access restrictions, but they should not be assumed based on this key. They should be tagged explicitly (or represented by motorroad=yes where appropriate). Strange as it may seem, there are expressways in the western United States where bicycles are allowed. Thankfully there is at least a shoulder for them to ride on.

Portugul and Spain have well connected trunk highway networks.

As do Ireland and the UK.

Ideally the trunk network in the rest of Europe would look similar.

4 Likes

yes, and instead they should show top-importance road which are not of motorway quality

rather than tiny scraps of high quality roads scattered across country

1 Like

The Great Highway Reclassification™ in the United States is certainly incomplete. It requires mappers in all 50 states to come up with definitions for regionally-important cities and identify which routes are trunk. So those areas that still look like a plate of broken spaghetti are simply incomplete, and there are ongoing discussions in the community on what counts as trunk.

The trunk network in southern New England is quite sensible (primary is also shown at this zoom):

Despite what you may have read in the news, Canada is in fact, a totally different country.