Proposed automated edit: replace UK occurrences of maxweight:hgv with maxweightrating:hgv

We currently have about ~1.5k occurrences of maxweight:hgv=7.5 and maxweight:hgv=16.5 on public roads in the UK, however signage restricting the maximum actual weight of goods vehicles does not exist and, as far as I can see never has. This is likely to be legacy tagging from before maxweightrating:hgv was introduced and can safely be replaced along with any associated conditional restrictions.

I intend to use the following query in Overpass Turbo to identify tags to replace, then use JOSM to perform the edit. Following @SomeoneElse‘s suggestion below, highway=* below will be replaced by one highway type at a time, starting with secondary / secondary_link, then tertiary / tertiary_link, unclassified, residential, pedestrian and living_street. I’ll also put different combinations of restriction and exception into separate changesets, to make it easier if anything needs to be reverted.

area["name"="United Kingdom"][admin_level=2]->.search;

(

way
  	[highway=*]
    [!bridge]
  	[access!=private]
  	[ownership!=private]
	[~"^maxweight(:goods|:hgv)(:backward|:forward)?$"~"^(7\.5|16\.5).*$"]
  	(area.search);

);

(._;>;);
out meta qt;

The UK’s modern traffic signs were introduced with TSRGD 1964 and only included diagram 622 “lorries prohibited”, with an optional diagram 623 plate specifying the unladen weight to which the prohibition applies. TSRGD 1975 introduced diagram 622.1 “goods vehicles over the specified unladen weight prohibited“ in 3t and 5t variants). I don’t know if there are any of these left “in the wild” after 50 years and have no idea how they would be tagged.

TSRGD 1981 introduced the current diagram 622.1A sign “goods vehicles exceeding the
maximum gross weight indicated on the goods vehicle symbol prohibited”. This was initially only permitted in 7.5t and 16.5t variants. The current TSRGD 2016 does not appear to restrict which weights can be used, but I don’t recall seeing any other weights used.

The wiki page for this proposed edit is Automated edits/rskedgell - OpenStreetMap Wiki

1 Like

As photo, there are other weights is existence - This “m.g.w 18 tonne”signed weak bridge is on the Grade II listed bridge over the Gilwiskaw brook. This sign was old even when I first saw it in 2012 so predates TSRGD 2016. Although this is specifically for a bridge, it is generally still a length of public road.

The diagram 626.2A sign in your example was introduced in 1994 and the bridge should be tagged with maxweightrating=18 as it’s a maximum gross weight restriction. There are older signs still in existence which restrict the maximum combined weight of the vehicle(s) and load and should be tagged with maxweight, but this isn’t one.

This bridge wouldn’t be affected by this proposal, as it isn’t tagged with either maxweight:hgv=7.5 or maxweight:hgv=16.5(these restrictions are signed with diagram 622.1A). However, I’ll edit the query in the proposal to exclude highways tagged with bridge=* as these should be reviewed individually.

1 Like

The variant given in the link is 18t? I’ve seen this occasionally.

For weak bridges and weak roads, maxweightrating=18 and maxweight=18 are fairly common (83 and 378 occurrences respectively, according to GB taginfo). Although there are other values of maxweight:hgv, including 8 occurrences of maxweight:hgv=18 and they’re probably tagging errors, they need checking individually and won’t be affected by the proposed edit.

1 Like

Agreed, with the caveats below:

I’d suggest doing it highway type by highway type for “known public roads only, one type at a time” rather than just excluding service and track, and also checking for “odd” ways that access has been set. Quite often a private road will not have access or ownership set (because, say, foot=permissive), so from tertiary downwards you’ll need to look at “different ways that a road has been described as private to some traffic”.

However, you’ll be doing it in Josm so it’s easier to proceed piecemeal and “change the ones that are obviously wrong first”. After you’ve changed the “obviously wrong ones” you’ll get into the long tail of things in OSM that “just make no sense”, and realistically those are going to need some sort of survey.

1 Like

Good idea, I’ve updated the proposal accordingly. I’ll start at secondary / secondary_link, then tertiary / tertiary_link, unclassified, residential, pedestrian and living_street. These restrictions probably shouldn’t exist on trunk / trunk_link and primary / primary_link roads as they’re usually there to stop rat running by HGV drivers and any which are found would need to be reviewed individually. I’ll also put different combinations of restriction and exception into separate changesets, to make it easier if anything needs to be reverted.

Recently (3-4 months) Way: â€ȘBrooke Street‬ (â€Ș27991720‬) | OpenStreetMap had an 18T weak bridge sign applied. I wondered why 18T, investigations lead me to believe that 18T is the max loaded weight of a double deck bus - which frequently use that bridge. I expect this will be one of the most common weight restrictions where a bridge cannot handle 44T.

1 Like

Chapter 3 of the Traffic Signs Manual has the following in 5.5 “Prohibition of goods vehicles (other than structural weight limit)”:

5.5.2. The sign to diagram 622.1A may indicate any appropriate weight limit, although
7.5 tonnes is the most common to be signed. This includes all heavy goods vehicles with the
rear red and yellow markings (including LONG VEHICLE) and aids vehicle recognition for
enforcement purposes. The larger vehicle with a maximum gross weight of 18 tonnes is one
of the sizes included in BD 21 ‘The Assessment of Highway Bridges and Structures’ in Volume 3 of DMRB and is the heaviest rigid vehicle that may be driven on two axles, again making recognition and enforcement easier.

Although not related to this proposal, 5.14 “Structural weight limit” has the following for diagram 626.2A:

5.14.2. The sign may indicate weights of 3t, 7.5t, 10t, 13t, 18t, 26t and 33t; these correlate to
the classification divisions in BD 21 ‘The Assessment of Highway Bridges and Structures’ in
Volume 3 of DMRB. The lower case letter “t” must be used on the sign to denote “tonnes”. The capital letter “T” is no longer prescribed. Existing signs using the capital letter “T” need not be replaced until necessary through routine maintenance.

5.14.3. Specifying gross vehicle weights makes enforcement simpler as it is necessary only
to check the vehicle’s plated weight against that on the sign, eliminating the need for a vehicle to be taken to a weighbridge for checking. Unless an assessment shows that a structure can carry any unladen vehicle, and this has been allowed for in the order, the bottom panel (“Except empty vehicles”) should be omitted.

References above to DMRB BD21 above now relate to Design Manual for Roads and Bridges CS 454 Assessment of highway bridges and structures.

Having dealt with the 8 instances of maxweight:hgv=7.5 on highway=trunk_link roads and discovered that there are 273 on highway=primary and highway=primary_link roads, I’ll start the edit with those rather than secondary and have updated the wiki accordingly. The current tagging being correct on A roads is virtually impossible, so I can’t see this causing any problems.

Initial changesets done, for maxweight:hgv=7.5 on primary/primary_link, secondary/secondary_link and tertiary/tertiary_link highways, with 870 ways changed. Changesets #171462029, 171462532 and #171462869

If these cause no problems, I’ll deal with unclassified, residential, pedestrian and living_street starting from Sunday 2025-09-14.

If anyone wants a way to visualise weight restrictions in their local area to look for possible errors and omissions, you might like to try using the following code in Overpass Turbo:

[out:xml][timeout:240];
(nwr["maxweightrating:hgv"]({{bbox}});
 nwr["maxweightrating"]({{bbox}});
 nwr["maxweight"]({{bbox}});
 nwr["maxweight:hgv"]({{bbox}});
 nwr["maxweight:conditional"]({{bbox}});
 nwr["maxweight:hgv:conditional"]({{bbox}});
);
(._;>;);
out meta;

{{style:
*
{render:native;}
*[maxweightrating:hgv], *[maxweightrating]
{ color: #808080; }
*[maxweightrating:hgv=18], *[maxweightrating:hgv=18 T], *[maxweightrating:hgv=18 t]
{ color: #800000; }
*[maxweightrating:hgv=7.5], *[maxweightrating:hgv=7.5 T], *[maxweightrating:hgv=7.5 t]
{ color: #FF4000; }
*[maxweightrating:hgv=3.5], *[maxweightrating:hgv=3.5 T], *[maxweightrating:hgv=3.5 t]
{ color: #A0A000; }
*[maxweightrating=18], *[maxweightrating=18 T], *[maxweightrating=18 t]
{ color: #000080; }
*[maxweightrating=7.5], *[maxweightrating=7.5 T], *[maxweightrating=7.5 t]
{ color: #0040FF; }
*[maxweightrating=3.5], *[maxweightrating=3.5 T], *[maxweightrating=3.5 t]
{ color: #00A0A0; }
*[maxweight:hgv], *[maxweight], *[maxweight:hgv:conditional], *[maxweight:conditional]
{ color: #000000; opacity:1; width:3}
node
{opacity:0; fill-opacity:0}
}}

This will highlight maxweightrating:hvg restrictions in shades of red, maxweightrating restrictions in shades of blue, and show any the suspect maxweight and maxweight:hgv keys with thin black lines.

3 Likes

Thanks!

From the edits I’ve made so far, I noticed that there were highway segments which also had maxweight and maxweightrating tags. Most of those are likely to be older tagging which is no longer technically correct, but wouldn’t be suitable candidates for automated edits as there may be unmapped bridges or sections of weak road (for which I don’t think we have a suitable tag).

It might also be worth looking for hgv and goods access tags other than hgv=discouraged, as many of these were added along with maxweight when those were the best tags available to describe the signed restrictions.

This is now complete.

I’ve also checked and fixed almost all of the maxweight:hgv tags in the UK, with only two locations remaining in England (with no likely impact on routing) and a few in Northern Ireland.

The remaining instances of maxactualweight, maxgcweightrating:goods and maxgcweightrating:hgv have also been checked and replaced with maxweight and maxweightrating:hgv.

1 Like