When to use maxspeed:type, zone:maxspeed or source:maxspeed?

Map an explicit (legal) zone, as opposed to some other area where maxspeed:type would apply? As I said, this might not apply in your country, but it might in others.

Can you give us an example in the map?

What is the difference between zone:maxspeed:DE:30 and maxspeed:type=DE:zone30 ?
It both describes the same maxspeed zone. Or do you use aditional attributes to identify the zone?

In that example there clearly isn’t a difference, because you’ve moved the “this is a zone” information to a value of the “maxspeed:type” tag.

Your idea is that you can already filter zones by key? That was my first idea of zone:maxspeed too, but do you know that zone:maxspeed is also intended to be used with values like xx:urban and xx:rural?
This means that all roads without a speed limit sign are in one zone.

And there is no homogeneous usage. I always end up having to read all 3 tags to gather the information I could have in one.

No - the UK has a concept of “zones”, and also a concept of “not in a zone”, and also rules for what the limit should be if there is no explicit signage (rare now). Legal maxspeed zones in the UK are fairly limited and most roads are not in them.

Is this documented in the wiki?

No, here. Note the reference to “20 mph limits and zones” on that page. Whether it makes sense to make it a hard rule to document which category a particular speed limit falls into is another question, since as mentioned above it’s not always straightforward to check.

I dont mean the traffic rules, I mean when to use maxspeed:type and when to use zone:maxspeed in UK.

No, it’d need a proper discussion first. As I said above I’d be worried that it might be too onerous for people and might actually drive down contribution of useful data. For the avoidance of doubt, there isn’t a problem in the UK - usage is pretty sensible.

Only 91 uses and more than half with non-compliant values and you think this tag is very important in UK?

This was my (not vary diplomatic) try to start a discussion about zone:maxspeed vs. maxspeed:type. Be sure, I don’t intend to simply retag the values.

Actually only around 30 are legally plausible :slight_smile:

However, it is a UK legal concept and I suspect that there will be a better attempt to map these in the future. What we wouldn’t want to do would be to think that zone:maxspeed and maxspeed:type are analogous in the UK - they clearly aren’t.

Sorry for the necroposting, but I am wondering about this as well. Three years later, it seems they are still competing schemes without a clear winner, as source:maxspeed continues to be added at almost the same rate as maxspeed:type.

I don’t want to impose any specific scheme, but I am unsure what to do when I encounter maxspeed:type=BR:urban or maxspeed:type=BR:rural in Brazil without maxspeed when updating speed limits after survey. These tags seem to only encode whether a way is inside or outside an urban area, which seems redundant. In Brazil, highway classification may be tied to implicit national default speed limits in urban ways, but in rural ways it depends only on physical structure and is not related to Brazil’s highway classification. A very old post of mine suggested more values based on national legislation, inspired by some of the popular values used elsewhere, but they were never adopted.

These tags encode which maxspeed rules apply, so maxspeed:type=BR:urban means “The default urban maxspeed rules apply”. Of course, this information would also be encoded by tagging zone:traffic=BR:urban, but it’s still useful for validators.

My best advice is to determine which physical features determine the classification, and then tag those as hints for maxspeed. Basically the question: “How do you determine that you are on a Via urbana de trânsito rápido”.

This post of mine explains my usage: What is the point of zone:traffic? - #11 by Jofban

99% of the time it is educated guesswork and a sensible reading of the context. There are no signs that identify these types of ways. A small number of bigger cities publish city plans establishing their own way types with non-standard names. Those are not legally binding and are only intended to aid in city development and for public debate on where to allocate investments. When an accident leads to legal prosecution, judges rarely mention these names, instead they tend to rely on physical conditions (permanent and variable) to make a judgement.

The context varies by city and sometimes even within the same city. What (heuristically) distinguishes these way types may be signage in one area, pavement type in another, relative traffic volume in another, relative widths, the presence of certain elements (traffic signals, roundabouts, traffic calming measures), network density, etc. It usually involves an assessment of all of these aspects together. City plans match reality only partially, but may provide a foundation for understanding the local context. Even so, their quality is often questioned by local mappers. Brazil is very variable and the local culture is typically quite informal. Some medium-sized cities may have relatively narrow unpaved main streets, some small cities may have relatively wide paved local streets with full signage.

Physical features do not strictly determine highway classification in Brazil, but may influence it indirectly. Our previous highway classification system was strictly based on physical features and the results were very unsatisfactory (bad, unreadable, with many edit wars).

Which means they will be inferred from highway? But isn’t that what already happens if there are no mapped speed limits?

That was my reading of your description. In this case, disregard that comment.

If you add maxspeed:type=BR:urban, it’s a hint to other mappers that it has been surveyed and there is no special indication like a speed limit sign.
Other than that, yes. Strictly speaking though, additional tags like dual_carriageway and surface can also play a role in determining the legal speed limit.

1 Like

maxspeed:type=BR:urban indeed doesn’t seem to make sense in Brazil, because depending on the urban road classification, there is a different default speed limit. So, if you see a sign anywhere, it’s fine, you can tag what is on the sign and maxspeed:type=sign .

If there is no sign… well… we have…

  • Via urbana local: 30 km/h
    aquela caracterizada por interseções em nível não semaforizadas, destinada apenas ao acesso local ou a áreas restritas.
  • Via urbana coletora: 40 km/h
    aquela destinada a coletar e distribuir o trânsito que tenha necessidade de entrar ou sair das vias de trânsito rápido ou arteriais, possibilitando o trânsito dentro das regiões da cidade.
  • Via urbana arterial: 60 km/h
    aquela caracterizada por interseções em nível, geralmente controlada por semáforo, com acessibilidade aos lotes lindeiros e às vias secundárias e locais, possibilitando o trânsito entre as regiões da cidade.
  • Via urbana de trânsito rápido: 80 km/h
    aquela caracterizada por acessos especiais com trânsito livre, sem interseções em nível, sem acessibilidade direta aos lotes lindeiros e sem travessia de pedestres em nível.

So, do these definitions coincide with the definitions here Brazil/Highway Classification in Brazil - OpenStreetMap Wiki ? I can’t say. But if they do, then it might not be a problem after all. Tagging maxspeed:type=BR:urban would be fine because their final default speed limit could be inferred from the highway type.

In urban areas, yes, because national legislation defines urban speed limits by functional street type, and we adopted a direct correspondence between that and OSM’s highway types.

In rural areas, national legislation defines speed limits based on physical structure, but we adopted a classification system in OSM reflecting a sense of importance (drastically improving overall readability). So, highway is less correlated with maxspeed in these areas. Among the rural roads without any signage (typically fairly remote), highway=unclassified have a legal default of maxspeed=60 if unpaved (very common) and often a high legal default of maxspeed=100 if paved (though paving is more typical of highway=secondary and higher).

Driving at the legal speed limit in rural roads without signage

Depending on the area (such as hilly areas, which extend across much of the country’s densest regions), it is often not possible to maintain such default high speeds for very long before frequent curves force a reduction in speed. In these roads, very few drive thinking “I have the right to drive at this speed, so I will” but rather “it doesn’t seem safe to drive faster here than on other similar roads with signposted speed limits“. Signage defining a lower limit (typically maxspeed=80, sometimes maxspeed=60) tends to be installed months/years after paving. Posted speed limits generally correspond well to the default speed limits assumed for the highway types set by the current classification system in Brazil. However, unpaved rural roads only get signage in exceptional cases.

So, if today we tagged all rural ways in Brazil with maxspeed:type=BR:rural and this caused routing calculations to assume these higher default speed limits as rough approximations of the true average speed, this would attract some routes away from major, preferable ways (with better infrastructure and signage) towards minor ways without posted speed limits, which would likely be undesirable, especially if they are unpaved. This would probably lead some mappers to feel the need to incorrectly tag these minor ways with an artificially lower maxspeed without a basis in signage or legislation, and later, to edit wars between pragmatists and legalists. A system using real traffic data, such as GraphHopper, would not be significantly affected (except where traffic data is missing - likely in remote areas), but others would be.

This means that after all, tagging maxspeed:type=BR:urban makes sense.

I am wondering if we should really add maxspeed:type=BR:urban to every urban way in Brazil that has no signage (many of which currently use source:maxspeed=implicit), from urban arterials (default speed limit of 60 km/h, real average speed close to that if not congested, corresponding to highway=secondary and highway=primary) to residential ways (default speed limit of 30 km/h, real average speed much lower than 30 km/h, corresponding to highway=residential) and, perhaps even more important, if we should add maxspeed:type=BR:rural to every rural road in Brazil that has no signage, in particular unpaved roads (default speed limit of 60 km/h, real average speed also much lower than that and often far from good driving conditions, typically highway=unclassified but could also be up to highway=secondary). Maybe, instead, we should adopt values matching default legal speed limit cases like maxspeed:type=BR:arterial, maxspeed:type=BR:collector, maxspeed:type=BR:local, maxspeed:type=BR:road, maxspeed:type=BR:single, maxspeed:type=BR:dual, etc. (or localized values such as maxspeed:type=BR:arterial, maxspeed:type=BR:coletora, maxspeed:type=BR:local, maxspeed:type=BR:estrada, maxspeed:type=BR:simples, maxspeed:type=BR:dupla). The latest comments in this thread seem to partially contradict one another regarding what are valid combinations of maxspeed:type and maxspeed or what speed limit would be implied from maxspeed:type without maxspeed in combination with other tags. The way a routing system should estimate an average speed and apply other routing penalties in the cases of maxspeed:type=BR:arterial and maxspeed:type=BR:road (both maxspeed=60) is quite different, but if we just lump all urban types into maxspeed:type=BR:urban and all rural types into maxspeed:type=BR:rural, it becomes much more difficult for a routing system to handle these differences appropriately. These systems are working well for the moment because, since most local ways have no mapped speed limits, a low speed is assumed for them, but if we suddenly mapped all speed limits and current routing systems continue to estimate average speed from speed limits, routing quality would worsen significantly, leading to many routes suggesting rat running through local ways instead of preferring main ways.

1 Like

maxspeed:type should not change any of that. Especially in relation to maxspeed.

It only has an effect if the router calculates a higher possible driving speed. Then it has to be curtailed to the legal speed limit.

Honestly, if you don’t want to tag it, then don’t. If you have an issue with routing software, then ask the router developers to fix them. If the law is too complex, then maybe change the law.

maxspeed and related tags are about the legal limit. Nothing more, nothing less.