The Trouble with Trunk Roads

@JamesChevalier Curious if you’ve had time to look into this?

I finally :sweat_smile: figured out a performant query that will only allow highway=trunk if foot=yes … That change was just released, so any city updates starting now (almost 1pm on 2025-07-25) will work with this new query.

4 Likes

@James this is great work thank you. I was aiming to cover all these trunk roads anyway ( along with paths, parks, cemetery etc) but this will make it so much easier. Now to spent a minute or two updating OSM about roads i know :slight_smile:

Ah I wondered why Alton Bypass - CityStrides “Alton Bypass” and Bentley Bypass - CityStrides “Bentley Bypass” have just appeared when I did a resync of “East Hampshire” that I am nearing completion - just got to 90%.

Bit of an issue however as these are rural 70 mph dual carriageways with no sidewalks and running/walking alongside them whilst technically “possible” I would say is ill advised and not in the spirit of what we are trying to do here.

Take a look https://maps.app.goo.gl/FNDBo3jCynF2An7XA - not very “pleasant” is it…
Totally different to the above cited clearly effective “residential” https://maps.app.goo.gl/mUg1gsrsPM2AABV57 with a clear sidewalk on a section of road that just happens to be a trunk road.

The “problem” is that in the past mappers have seemingly “randomly” tagged foot=yes explicitly in sections of this overall trunk road - the A31 dual carriageway and in parts have named the road (i.e. Alton Bypass, Bentley Bypass) whereas in other parts it is not named (so won’t appear on CS - another point for discussion) and/or have or have not put foot=yes explicitly.

I see @msikkema above talks about safety. Totally agree. I have occasionally ran small bits of the A31 and in some parts around here it does have some sort of “sidewalk” As mentioned, I am close to completing this city and it is over 2000 streets many of which are quite rural so has taken me on and off a good 2 years of targeting it.

So to me the “solution” here is not to look at explicit foot=yes on trunk roads (as opposed to the default “not specified”) as frankly this is unreliable but more focus on whether has sidewalk=yes.

As it understand it now, I would either need to attempt to run these sections or remove foot=yes when I think the intention of the mapper was to specify what technically you might be allowed to do in the UK especially as there are no “pedestrians prohibited” signs here. I have travelled up and down the road many times in a car but don’t once recall seeing a pedestrian on it.

Removing foot=yes I think just will provoke “contention” with mappers as in the UK my view foot=yes is true by default unless you explicitly put on some restriction. It is not clearly not foot=no because there are no warnings to prevent you.

Besides am also mindful of " In any case, be considerate and do not remove tags that you don’t understand." on Tag:foot=yes - OpenStreetMap Wiki as I have to admit in this instance I am not sure whether foot=yes is right or wrong or just is “wrong” as it is forcing me to now run for CS purposes a rather dangerous stretch of road for runners/walkers.

So to me I think you should revoke this change until such time as can also consider if has sidewalk=yes which is a clear description of fact not opinion.

3 Likes

Yeah, sticking specifically with Bentley Bypass as the sole example to keep things simple…

The street in CityStrides - Bentley Bypass - CityStrides - comes from a Way record that are is tagged foot=yes in OSM - Way: ‪Bentley Bypass‬ (‪367495848‬) | OpenStreetMap - which is visibly very wrong.

Someone else pointed out in an email to me that in their area, there’s much more foot=no tagging than there is foot=yes.
You’re noting here that sidewalk=yes might be a more usable tag to differentiate trunk roads on.
Based on OSM tags for routing/Access restrictions - OpenStreetMap Wiki it looks like the default foot access rule varies around the world, with the default largely being effectively foot=yes (requiring a foot=no tag to identify a trunk road as inaccessible by foot) and with Austria, Belgium, Denmark, France, Hungary, Slovakia, Switzerland all effectively defaulting to foot=no (presumably requiring a foot=yes tag to identify a trunk road is accessible by foot).

I’ll be reviewing what kind of query setup I can use to get this trunk road inclusion more accurate, but regardless of how I adjust my query - that foot=yes tagging is wrong. I’m decently certain that the highway rules in England are similar to US, where pedestrian access is prohibited.

NO! Your Google Maps street view link clearly shows that this is a highway and nobody should be running thisat allever

We’re looking at a highway, here (A31). It’s not for pedestrians. The foot=yes tag is wrong.

NO!!! Nobody in any scenario at all ever is being forced to run on highways. DO NOT RUN ON HIGHWAYS … There is no game/goal/challenge in existence that includes running on highways. Do. Not. Do. That.

2 Likes

OK thanks - am tempted to “revoke” those explicit foot=yes taggings here.

Another bunch that are probably worse is
Saint Peter's Way - CityStrides - 50 mph dual carriageway towards the M25 motorway
Addlestone Interchange - CityStrides - big “interchange” roundabout with the dual carriageways with slip roads to the M25
St Peter's Way - CityStrides - 50 mph dual carriageway towards the M25 motorway from other direction

You can only get to the interchange/roundabout by any means from either the M25 itself or those approach dual carriageways. So on foot only from the dual carriageways.

All I see are only a “Primary Road” not a “Trunk” road and in OSM primary roads get access=yes for everybody by default without need for any explicit tagging.

I see Jimmy (3rd globally) has ran the roundabout and the easterly dual carriageway. I am “leading” this city and at 77% have been wondering how/if I address these as will “need” to soon. Again they are just roads pedestrians would be ill advised to tackle. I rarely if ever recall seeing a cyclist on them either although that would not be too bad I think. That said the dual carriageways do have a “mini” hard shoulder and several laybys but even so not at all “pleasant” and based on your Bentley Bypass comments am sure the advice is DO NOT. In fact at the moment the approach dual carriageways are having some work done on them to somehow “upgrade” them which at least in part means one lane is blocked off for vehicles although I don’t the idea is that runners are meant to use the blocked either - general idea is that lane is being rebuilt and you might fall down a hole!

Here is a view from the westerly dual carriageway approaching the interchange. Not at all safe and a pedestrian would have to cross over a free flowing slip road to the M25 motorway.

In the UK AFAIK only motorways like the M25 or other roads with no explicit no pedestrians signs signs prohibit pedestrians by law. These roads (or Bentley Bypass) I would argue do not fall under that and are “technically” accessible on foot even if are clearly not intended that you do. And yet there are here on CS. Maybe in such cases you just need some sort of “manual” override over OSM tagging. I think it is one where foot=discouraged is effectively true but note the comments at Key:access - OpenStreetMap Wiki which rather “discourages” its actual use and I have never.

Looking further parts of the interchange have been explicitly tagged as foot=yes

Note this changeset Way: ‪Addlestone Interchange‬ (‪19825512‬) | OpenStreetMap where it foot=yes was applied with comment “Add whether roads are prohibited for pedestrians”. So their logic here is binary - if it is not prohibited then it must be yes which is sort of true. Legally I do not believe it is access=no and certainly not private, destination, permissive

Trouble is where is the boundary here. I have ran loads of streets with no sidewalks and indeed where I safely can now I prefer to run in the road as it is just easier as I don’t interfere with much slower walkers, our sidewalks/pavements are often trip hazards or “at best” uneven and feel am more “visible” to motorists to the side especially if run on the side “facing” oncoming traffic as then I can always nip to the side if that seems “better”.

PS bit of a curveball here as noticed the western dual carriageway of Saint Peter's Way - CityStrides as above has a public footpath across with a gap in the central reservation to better allow pedestrians to cross. https://maps.app.goo.gl/FyZGrLSsdsnMBNZ66
As such foot=no for the dual carriageway as a whole is clearly incorrect

Seems worth it to me.

This selection of streets you’ve shared are off topic - they’re not highway=trunk so any effort I’m currently putting into this highway=trunk conversation isn’t going to apply to those listed streets. It’ll be way easier for me to keep track of things if that conversation is pushed off into a new topic in Support > City/Street/Node Issues that focuses on shared tagging amongst those Ways (after some quick review, it’s not feasible to remove highway=primary from CityStrides)

Same with highway=trunk … I did more research after replying and came across OSM tags for routing/Access restrictions - OpenStreetMap Wiki which explain the worldwide default as well as per-country defaults & the UK default is foot=yes for highway=trunk

Given the info in that page, I’ve modified (unreleased; should be out soon) the OSM street query based on the country the city is in. Austria, Belgium, Denmark, France, Hungary, Slovakia, and Switzerland will allow highway=trunk if foot=yes … and the rest of the world will allow highway=trunk if foot != no

In Hampshire, there are 35 Ways (in some cases it’s not the full street, but just sections of it via its Way records) that are highway=trunk & foot != no & expressway != yes

List of Ways

Percy Hobbs Roundabout
Chawton Roundabout
London Road
Ham Barn Roundabout
Winnall Interchange
North Street
Salisbury Road
Ower Roundabout
Reading Road
Crawley Hill
Canada Corner
Binfields Roundabout
Winchester Bypass
Spitfire Roundabout
Petersfield Road
Bullington Cross
The Shrave
Soke Hill
Alresford Bypass
Lady Croft Farm Roundabout
The Dene
Spitfire Link
Reading Road Roundabout
Ower Interchange
Kingsclere Road
Basingstoke Road
Ringwood Road
Winchester Road
Bedhampton Roundabout
Salisbury Road Junction
Breamore Road
Newbury Road
Ringway North Roundabout
Alresford Road
Black Dam Roundabout

I’ll take a look at some results when including some other tags that are referenced from that Key:access page: maxspeed=*, sidewalk=no, cycleway=no, shoulder=no

2 Likes

Phew, I hadn’t participated in this conversation because I didn’t realize it affected me until just now when I noticed my completed city count had plummeted by more than a dozen (18 to be exact)…because various highways in the metro area now count as incomplete. I’m trying to go thru and mark them foot=no in OSM but it’s a pretty big pain in the ass because they’re broken up in various individual segments due to various ways (bus routes). Plus, hard to manually select them on the map due to overlap with underground cables and pipelines.

No real actionable complaint here however (other than it may be a while before the city updates can get from OSM into CS due to processing delays), it is what it is.

1 Like

I’m confused now. Streets with highway=trunk and foot=not specified have appeared in Strasbourg, France, for the first time since the last sync. Should I edit OSM or just wait?

OSM is English-based, so the tagging is foot=no maybe that’s part of it.

The OSM data that I’m syncing with is updated every day at 1am Eastern. So if the sync is happening after that time, it’s using “today’s” data.

So you’re saying that I need to replace “foot=not specified” with “foot=no” in OSM, whereas you mentioned earlier that, for France, “highway=trunk” is only allowed if “foot=yes”?

Here’s some advice I spotted for crossing a trunk road in Sheffield :united_kingdom: yesterday ….

7 Likes

:anguished_face:

I’ve just realized that the new city sync process uses a single filter for the entire world, which means that the previous custom trunk road filter for Austria, Belgium, Denmark, France, Hungary, Slovakia, and Switzerland is no longer in place.

I’ll have to look into whether I can recreate that with osm2pgsql’s Lua filtering.

:confounded_face: :face_with_symbols_on_mouth: trunk roads

2 Likes

A few trunk roads in Belgium did indeed show up on my map:

Based on my understanding of the discussion so far these should not show up on the map, but were picked up incorrectly? In other words, I shouldn’t start to add foot=no tags to them on OSM?

Right. My understanding from the OSM wiki is that Belgium defaults trunk to foot=no.

My filtering doesn’t currently have the custom rules for Austria, Belgium, Denmark, France, Hungary, Slovakia, and Switzerland … but that’s my problem, not OSM’s.