[RFC] Feature proposal - rural


I am proposing the use of the tag rural=yes/no to be placed on roads to denote whether or not they are in a rural area, where there are no other tags which explicitly give this information.


There is no easy way to reliably determine if roads are in rural or urban areas. Some people have tried to use residential landuse or building density to make a best guess, but that is all it is and it requires a lot of pre-processing.

Knowing if a road is urban or rural is important for default speed limits in many countries, where this is one of the things that affects the default speed limit.

It could also be useful for implying other tags where these are not tagged explicitly, e.g. in some countries rural roads would be expected not to be lit and not to have sidewalks.

Relation to speed limit tags

source:maxspeed, maxspeed:type, zone:maxspeed and zone:traffic exist and all can have values such as DE:rural. So why do we need another tag for denoting a rural road?

If a road already has one of these tagged with XX:rural then rural=yes does not need to be added, similarly for XX:urban and rural=no.


  • Speed limit tags imply more accuracy than there really is. e.g. in Germany there are not just urban and rural roads, as established tagging might suggest, but also subcategories (rural dual carriageway and rural road with 2 or more lanes in each direction). The same is true in many other regions, so DE:rural is not actually sufficient to determine the default speed limit.
  • Some people consider these keys to be mutually exclusive, and so if a rural road had a signed speed limit then could it have both source:maxspeed=sign and zone:traffic=DE:rural?
  • Some roads are in multiple categories, e.g. in Guatemala (and other countries) there are different default limits for urban motorways and rural motorways, should they be tagged with GT:rural or GT:motorway?
  • This tag is not only about speed limits (zone:traffic claims not to be either, but would still have the problem in the above bullet point).

See the full proposal here: Wiki: Proposal:Key:rural
You can reply here or comment on the discussion page on the wiki.

This sort of tagging will get used for more than just highways.

In fact, it’s roughly a 50/50 split on current usage between being used in conjunction with highway=* and landuse=*.

Yet this dichotomy in current usage is not mentioned at all on the proposal page. If approved, in essence, you would be deprecating half the current usage of this tag.

Edit: also 27% of current usage is for the value mountainous. This, of course, doesn’t fit with your proposed yes/no only values. Again, this current usage is not mentioned in your proposal.

1 Like

Just earlier cycled past a ‘city_limit’ sign of a village, the area is tagged landuse=residential + residential=rural and straddles the road cutting through. Most often like this one there’s a 50km limit sign too because the switch between the ears of city limit sign = 50 has stopped working long ago, Wonder what happens with roads that have been mapped old style for miles on end without a cut and the rural=yes is added on driving through villages that don’t have a 50km sign at the village limit signs and StreetComplete asking "is this a rural or urban road?

This is asking for more problems than it’s solving.

Reasonable point, on landuse, it seems to be used for landuse=residential, residential=rural, rural=mountainous

Combined with comment on wiki discussion page that rural is the default and urban the special case, it may make sense to instead use urban=yes/no

My only thought for StreetComplete using this would be in the context of a speed limit overlay, probably as a follow-up question where the extra clarification is needed. Overlays allow the user to split the road, so they only answer for the bit they see/know.
For quests, only ways less than a certain length (1km? or something) are asked, I think that limit does not exist for overlays though, I would have to check the code.

Worth noting that legal limits of area where bbuilt-up street limit applies is not necessarily matching actual built-up areas (in Poland such road sections are marked with dedicated traffic signs, sometimes actual urban areas are excluded, sometimes forests are included)

One more: rural is a problematic, as

  1. some rural areas are built-up and included in such limits
  2. some urban areas are excluded, especially major roads such as expressways passing urban areas

Why not use “built-up” term?

Also, do we really need new tags? Why not use https://wiki.openstreetmap.org/wiki/Key:maxspeed:type ?

we have other tags for such extra info


What exactly do you mean by rural area ? wikipedia starts with:

In general, a rural area or a countryside is a geographic area that is located outside towns and cities.[1] Typical rural areas have a low population density and small settlements. Agricultural areas and areas with forestry typically are described as rural.

That means for example that village is rural. Is it what you expect?

Because, in Croatia for example, the legal term relevant for maxspeed limits is “naselje”, which translates roughly as “Human settlement”, and includes both all urban areas (e.g. city/town) as well as some rural areas (e.g. villages), but not other rural areas (e.g. forests, argiculturas areas without human residence).

Wikipedia then continues with:

Different countries have varying definitions of rural for statistical and administrative purposes.

Which is another problem. One use/definition of rural might be incompatible with some other use/definition of rural, even when inside same country (much less worldwide-tag!)

Yes, existing usage is another problematic issue. Even if the rest of the proposal would stand (which I don’t think so; see above); it would definitely be much better to go with some unused key then trying to potentially redefine what current (undocumented) key means