osmose: discordant maxspeed and source:maxspeed


just for your information: i requested an issue on github about checking the discordant of maxspeed and source:maxspeed by osmose, see osmose map, or the list with 3,353 issues!

For example this way:

maxspeed=30 mph

osmose uses the speed limits - country code - conversion table

So please discuss it and report it to the github issue, if there’s a fault.

PS: while i’m writing this topic, i found maxspeed - United Kingdom which mentions “built-up areas”, but i don’t really unterstand this :wink:


I’d suggest contacting the user concerned and suggesting, in best Joyce Grenfell voice, “George, Don’t Do That”*

What I suspect that “source:maxspeed=GB:urban” means is that “I could not be bothered to survey the roads in question, so I’ll just guess that these are all 30mph and feel productive, even though I’m not”. Someone else did something similar with unknown extra-urban speed limits (guessing 60 mph), but at least they added a fixme to those.

Many years ago, almost the only speed limits you’d see in the UK were 30mph ones and “national” ones (which originally meant “no speed limit”, and later “the default speed limit for that class of road”, such as 60mph for a single-carriageway road (of course different speed limits apply to different sorts of traffic as well - but let’s ignore that for now).

Currently there are a much wider variety of speed limits in use from 20mph up to the legal limit (legal limits - again let’s ignore advisory limits). There are enough “rural” places with limits other than 60mph to make it worthwhile tagging the posted limit explicitly - it’s unhelpful and misleading to guess, though often a “maxspeed:type=GB:nsl_single” is added to clarify the type of limit - a “national” limit sign rather than an explicit 60mph one (see https://taginfo.openstreetmap.org/keys/maxspeed%3Atype ). Similarly there are enough “urban” places with limits other than 30mph to make it worthwhile tagging the posted limit there too, so I’d say that osmose is correct in flagging these up as items that require survey.

What is actually discordant about maxspeed=30 mph and source:maxspeed=GB:urban ?

The default speed limit in a built-up area is 30mph. The definition of a “built-up area” (i.e. a “restricted road”) is related to the presence of street lighting: see [1]

So in the absence of explicit signs, the speed limit is 30 mph on these roads.

In [2] you will see official government info

[1] https://en.wikipedia.org/wiki/Built-up_area_(Highway_Code)

[2] https://www.gov.uk/speed-limits

Because you can’t infer that “the speed limit is 30mph because it is urban”, as I explained.

Yes, an urban 30mph limit doesn’t need repeaters (as explained on the wikipedia page) and yes, it’s still possible in law to have a 30mph limit without a sign - but I can’t think of a single example. Assuming that “urban implies 30mph” and tagging on that assumption is wrong because it leads people to believe that you know what the speed limit is there, when you don’t - in many places it’s very likely to be 20mph.

“Urban” here is not the dictionary definition, but a legal classification. It is more properly entitled “restricted road”, so maybe the word “urban” itself is misleading.

Drivers still need to make a judgement about the speed limit. Any speed other than 30mph (on a restricted road) has to be signed - including 20mph. The driver has to judge whether a judge would consider them guilty of exceeding the speed limit if they drove faster than X.

If we tag maxspeed=20 mph and source:maxspeed=GB:urban (or in fact anything other than “sign”'), well, that cannot be correct. But the original statement is not discordant, merely redundant.

The argument for tagging source:maxspeed=GB:urban or GB:nsl etc is that the default speed limits are defined in law based on certain classes of road; the speed limit could be changed “at any time” by parliament and in that case it would save a lot of retagging.

Have you noticed that motorways are signed explicitly as “70 mph” and don’t use the NSL signs even though the effect is the same?

Maybe I was not being clear enough for you. Let’s try again:

Because you can’t infer that “because it is a restricted road, as defined by law, the speed limit is 30mph”

You need to check that there are actually no other speed limit signs, which means you need to either survey or have local knowledge of the area. What you can’t say is "because this is a built up area, and because 20mph limits are rare here, then I will mechanically edit all roads to have a speed limit of 30 mph with a “source:maxspeed” of “GB:urban” (I’m somewhat paraphrasing the changeset that added these there).

@The Maarssen Mapper: please have a look at speed limits - country code - conversion table

So, is there a legal form “GB:urban” or perhaps do you need a “GB:builtup_area” (as legal form) because it differs to GB:urban?

PS: e.g. as of QA i identified maxspeed=60 or maxspeed=30 combined with source:maxspeed=DE:urban, but DE:urban is the legal form for “in city” and is 50km/h

The legal term is “restricted road” but everybody uses the term “built-up area” which loosely corresponds to “urban.” Whatever you call it, we only need one term. But in this legal sense it is about street lighting, and not about the presence of buildings, as you might derive from the use of “urban” or “built-up area”.

Maybe it’s just me, but I still don"t understand what is discordant about maxspeed=30 mph, source:maxspeed=GB:urban.

Ok, no problem, if maxspeed=30 mph combined with source:maxspeed=GB:urban is correct, then it should be added to the conversion table, so osmose can add it to its list (because osmose assume urban=50 as default)

But if maxspeed=20 mph and source:maxspeed=GB:urban (without lighting) is also correct, then we have a problem and need to different values for source:maxspeed.

Osmose has it correct right now - “GB:urban” (even if we assumed that its definition match the street lighting rule about “no 30mph repeater signs needed”) does not imply a 30mph limit, so using it as a “source:maxspeed” makes no sense.

What the street lighting rule means in practice is that there is no legal requirement for 30mph repeater signs regularly to remind drivers that the limit is 30mph (they are occasionally used, despite what https://en.wikipedia.org/wiki/Built-up_area_%28Highway_Code%29 says, but are rare).

A “GB:urban” area (by the definition above) may have a limit of 20mph, 30mph, 40mph, 50mph, 60mph or the national limit for that class of road. Speed limit repeater signs are a legal requirement for limits of other than 30mph on such roads.

I beg to differ… If the street lighting meets the criteria, and in the absence of other signs, the speed limit is 30mph. source:maxspeed does not tell you the speed limit, it tells you how the speed limit was derived and thus how one can verify the speed limit. If there is no explicit maxspeed, you might be able to infer a limit from that. If a big road with NSL enters a village with street lighting, it doesn’t matter whether there is a 30 sign or not. Because of the rather woolly definition of a “built-up area” it might be difficult to define the exact point where the transition occurs however. Maybe a lawyer could say if there have been any cases involving disputes about whether or not a particular spot is inside or outside the “built-up area”. I found this relevant article from a solicitor with some suggestions: https://www.windertaylor.co.uk/ard/detail_doc.asp?ID=327097&AID=1300&SID=34&FID=23873 and North Yorks police also concur: https://northyorkshire.police.uk/content/uploads/2016/02/Traffic-Bureau-FAQs-NV.pdf.pdf

Correct… As I understand it, you can leave out the word “repeater” in the last sentence.

Just for the record, there is a difference between the UK and most European countries in respect of the extent of the effect of a speed limit sign. In the UK, it is valid “until further notice” as it were, whereas in Europe it is “until the next junction”. Just as the UK has its funny rule about street lighting implying 30mph, in European countries the “urban” speed limit (50kph) starts at the (standardised) sign for “start of village/town.”

This value has, AFAIK, been introduced by StreetComplete, and there is an issue related to the values it creates and the tags it uses.

In at discussion long ago on talk-gb it was agreed that source:maxspeed was to be used for how the maxspeed value was acquired (survey, Stat 19, Mapillary etc), and maxspeed:type for the two national speed limits denoted by the black diagonal bar on the white background.

GB:urban relates to tagging in other countries where:

  • Standard street signs (e.g., French village name signs, Polish built-up area signs) imply an urban speed limit.
  • Default values are assigned to a relation which in turn is a component of the country boundary relation.

The UK is these days rather different: I’m not aware of places which legally have a ‘restricted limit’ which are not explicitly signed. As SomeoneElse says GB:urban is largely a non-useful concept in this respect. The national speed limit tags are potentially useful, and a consensus was reached (around 2011 IIRC) about how these should be tagged in the UK. I guess there is no harm in maxspeed:type=GB:urban, but I strongly object to the value overwriting information by mappers about surveyed speedlimits by using source:maxspeed. These are increasingly important as 20 mph limits are progressively introduced, and major roads have more explict speed limits posted.