A limited time weight reduction offer
Posted by Minh Nguyen on 3 October 2020 in English (English). Last updated on 31 December 2020.The other day, while adding some Ohio county roads to route relations, I came across a baffling weight limit sign:
As complicated as it can be, OpenStreetMap’s maxweight
tagging is designed around explicit numeric values. What good is a 10% discount when you don’t know the full price?
A state bridge inspection manual pointed out that this sign was once standardized as sign R12-H7 in the Ohio Manual of Uniform Traffic Control Devices (OMUTCD), but the sign was removed from the standard in 1997 in favor of explicitly posting the specific weight restrictions by axle count. (Old signs like this often remain until they wear out and the local highway department needs to replace them.)
At the same time, I discovered that a similar percentage-based sign has remained in the standard, now renumbered as R12-H17. Counties and townships are allowed to post it on roads and bridges to protect them during thawing season. (Other northern states have similar provisions.)
After a few days of research, I managed to come up with a machine-readable representation of R12-H17. The sign implicitly refers to a complex section of the state legal code that defines the legal truck configurations and weight limits associated with each configuration. I tried to distill that down into the usual conditional tagging syntax. It’s a mouthful compared to what’s literally on the sign:
maxweight:conditional=12 st @ (Feb 1-May 15) maxweight:hgv:conditional=12 st @ (Feb 1-May 15 AND axles=2); 36800 lbs @ (Feb 1-May 15 AND axles=3); 43200 lbs @ (Feb 1-May 15 AND axles=4); 49600 lbs @ (Feb 1-May 15 AND axles=5); 55600 lbs @ (Feb 1-May 15 AND axles=6); 31 st @ (Feb 1-May 15 AND axles>=7) maxweight:hgv_articulated:conditional=32 st @ (Feb 1-May 15)
As far as I can tell, there are currently eight legal truck configurations in Ohio: 2F1, 3F1, 4F1/SU4, SU5, SU6, SU7, and 5C1. The SU* configurations are for special hauling vehicles (SHVs), also known as single unit vehicles, for example cement trucks and garbage trucks. The single unit configurations appear to be uniform throughout the country, but the others may vary by state.
Configuration | Axles | Articulated | Unreduced legal limit |
---|---|---|---|
2F1 | 2 | No | 15 short tons (14 t) |
3F1 | 3 | 23 short tons (21 t) | |
4F1 | 4 | 27 short tons (24 t) | |
SU4 | |||
SU5 | 5 | 31 short tons (28 t) | |
SU6 | 6 | 34¾ short tons (31.5 t) | |
SU7 | 7 | 38¾ short tons (35.2 t) | |
5C1 | 5 | Yes | 40 short tons (36 t) |
The configurations are primarily known by the number of axles, and secondarily by whether the truck is a single unit (including a special hauling vehicle with closely spaced axle groups) or a truck-trailer combination. The general-purpose weight limit sign, R12-H5, identifies the configurations by these two aspects. However, the regulations are very particular about the spacing between any two axles and how much weight is applied to each axle. In some configurations, the axles are unevenly spaced and have different weights applied to them. For both signs, I ignored everything except for the axle count and unit count. I’m assuming that any truck configuration that’s illegal in the State of Ohio would be out of scope for the maxweight
key anyways.
I alternated between expressing some limits in short tons and others in pounds. In Ohio, the authorities use pounds and kips in regulations and manuals, but they only post tonnages on signage. (Compare to Texas, which only uses pounds on signage.) I only used pounds for some cases because the percentage reduction would’ve resulted in a fractional limit and ambiguity about rounding and significant digits.
Given that the weight limit reduction sign is relative to unsignposted state laws, the actual values will change the next time the law changes. This is unfortunate but, in my opinion, an acceptable tradeoff for keeping data consumers from having to navigate the complexity of legal load limits that vary by state. The relevant state law was last updated in 1993, though the SHV configurations were introduced more recently, around 2016. I don’t expect the laws to change frequently. But just in case, I’ve also been mapping traffic_sign
s and also adding ad-hoc tags like maxweight:relative=-10%
and maxweight:start_date=1989-09-12
, which will make it easier to find these roadways to update.
This effort was only for a single standard sign design in Ohio, but hopefully the reasoning here will help others as they try to make sense of regulations and signage in other U.S. jurisdictions.
Photo courtesy of jbthemilker, hero of Ohio’s armchair mappers, and licensed under CC BY-SA 4.0.
Comment from Sanderd17 on 4 October 2020 at 10:05
That’s quite a difficult sign to understand. I wonder how many truck drivers can do the math while driving past that sign…
But I would propose to make a key
source:maxweight
in analogy tosource:maxspeed
. We use thatsource:maxspeed
tag to encode which sign is used. So if legislation changes (and updates default rural or urban speeds), all roads with wrong maxspeeds can be found.I.e. something like
source:maxweight=US:R12-H17(-10%,Feb 1-May 15)
Documenting it in the wiki would also be handy ;)
Comment from Minh Nguyen on 5 October 2020 at 07:02
I guess the state expects truck drivers to know the current load as a percentage of the general legal load limit for their vehicle configuration. It’s a tall order for a router, though.
I added
source:maxweight=sign
, but I refrained from putting the extendedtraffic_sign
syntax in thesource:maxweight
key, because tag values that require string processing are more difficult to consume or query for. Instead, I addedtraffic_sign=US:OH:R12-H17
nodes and tagged them withstart_date
andmaxweight:relative
, which will make these cases much easier to find when the relevant law changes. (I prefixed the sign code withUS:OH:
, not justUS:
, because this sign is specific to Ohio’s statewide sign standard rather than the national standard.)The percentage-based signs I’ve encountered so far are problematic because they’re obsolete signs that technically don’t correspond to any current standard code. However, I’m taking advantage of the fact that they’re very similar to R12-H17, except with a start date instead of a range of days out of the year.
The next time the law changes, we can use this Sophox query to find weight limits to update. (This query only considers year-round limits like the ones I encountered, but Sophox can parse more complex conditional restrictions, such as in the case of a seasonal R12-H17 sign.)