Paved vs unpaved, where exactly is the line?

Looking at surface=*, I can’t find a clear definition of what actually makes a surface “paved” vs “unpaved”, even though surface=paved and surface=unpaved exist as generic fallbacks.

Some values just don’t fit neatly

  • surface=wood, is a timber bridge deck paved or unpaved?
  • surface=metal / surface=metal_grid, hard and durable deck but not pavement
  • surface=stepping_stones, discontinuous structure with (natural?) stones
  • surface=rubber, synthetic surface

Is the criterion sealed/bound material vs natural? Hard vs soft surface? Something else?

Athletic surfaces are a different thing entirely

  • surface=tartan, surface=artificial_turf, surface=acrylic

Calling these paved or unpaved feels strange.

Yet some can be found on both roads and pitches

surface=clay on a track vs a tennis court. surface=grass on a verge vs a football pitch. surface=sand on a desert road vs a beach volleyball court. The paved/unpaved label means something different in each case.

So, what’s the intended definition?

Is there consensus on this? Would be good to get it written down somewhere in the wiki if so.

Update: March 11

Sealed vs unsealed turned out to have too many edge cases (porous asphalt, porous concrete, paving_stones), so the definition shifted toward:

  • paved: hard engineered surfaces, intentionally constructed and remaining firm under typical conditions.
  • unpaved: soft or natural surfaces, typically loose, granular, or organic.

Update: March 12

Based on the feedback in this thread, I decided not to alter the paved/unpaved definitions and instead keep the wiki changes minimal. The edits made were:

  • Added a Usage section to surface=paved and surface=unpaved (armchair mapping, unknown material, changing surfaces).
  • Moved surface=rubber to the Special (sports, etc.) section to keep sports/recreational surfaces grouped together.

These are documentation improvements only and do not change tagging practice.

1 Like

I’d definitely say unpaved, but to be frank if you tag surface=wood rather than surface=unpaved the point is moot.

So use your own copy of the router with your own parameters that work better for you in your region.

Where I am (Yorkshire, UK) a significant penalty for surface=wood on a road makes sense, but I can imagine that in many places (including those where there are lots of wooden roads!) it may not.

This isn’t a tagging problem, it is a router problem.

5 Likes

I’d feel weird about tagging a wood, metal grid, or rubber surface as either paved or unpaved, but I would say they are closer to paved. In my mind the essence of a paved surface is that it is hard, and it remains hard even when saturated with water. An unpaved surface can also be quite hard when dry, but water can significantly soften it and erode it away fairly quickly. Within this distinction, wood, metal, and rubber behave more like paved than unpaved. I think these will remain edge cases though. They just aren’t traditionally considered “paving materials”.

7 Likes

This seems curious. How long is this bridge, vs how much distance does it save?

The current default car profile for OSRM “penalizes” both unpaved and wood by setting the speed to 40 km/h (source on Git Hub), vs highest non-motorway assumed speed of 85 km/h on a trunk. What speeds are actually driven on this bridge? I can’t imagine this actually causing much of a routing difference unless the bridge is very long, and doesn’t save much of a distance? Maybe the highways in the route that bypasses the bridge are missing some tags instead?

2 Likes

I would say paved but I would just tag it as surface=wood never as paved or unpaved

Why it would matter? Sounds like philosophical analysis

not really convinced that it is true

not really this philosophical decision means exactly nothing for router designers, routers can do whatever they want

if someone feels like that they can merge surface=asphalt into surface=unpaved and there is no OSM tag police to stop you.

I can even imagine cases where surface=asphalt getting penalty worse than surface=unpaved makes sense

OSM Wiki does not police routing profiles, routing profile issues should be reported to whoever provides routing logic.

But I would first ensure that both main and alternative is comprehensibly tagged.

probably they get lesser penalty than surface=sand and surface=dirt (in typical routing)

if they get the same penalty and it would break my routing I would report bug to OSRM and OsmAnd.

But I suspect that something else is going wrong, unless it is bridge of several kilometers in length it is unlikely to add huge extra cost.

1 Like

What is wrong with one on that page? e.g. for unpaved:

A feature that is predominantly unsealed (unpaved); i.e., it has a loose covering ranging from compacted stone chippings to soil. Unpaved roads may, in aerial imagery, show evidence of water along their course; in such circumstances, the waterway should not be tagged as a stream, though it might appear as such. This value gives only a rough description; use a more precise value if possible.

Can you give an example? Most routers I’ve ever seen seem to have some integer (or float) value like weight or cost to mark preference of traversing some way. If some use boolean flag (i.e. paved=0/1) for that purpose instead, well, such loss of precision is their choice :man_shrugging:

OSRM seems to choose maxspeed of 40 for wood, which is their choice, which just happens to be the same value as the one they’ve chosen for unpaved. I could be wrong, but on causal look they do not seem to downgrade wood to unpaved as your post seems to imply.

You could suggest to them to change the values, and give your rationale why. It does not seem to be related the main line of this thread (e.g. “what is considered paved, and what unpaved”).

Agreed. I can only see two uses for paved / unpaved:

  • when armchair mapping, when aerial imagery is good enough I can see it is paved, but not good enough to determine if that is asphalt or concrete etc., it can serve as a temporary value until on-the-ground mapper enters a more precise value. And,
  • when on the ground, some mapper might use unpaved for longer stretches of a track when the type of surface alternates every few meters between grass / dirt / gravel / sand etc. but the mapper does not care to micromap to such precision and is content to mark it just as unpaved to differentiate it from other e.g. asphalt / concrete roads/tracks nearby.

Agreed.

And if one is unsatisfied with how existing router engines classify certain surfaces, apart from reporting the problem / feature request to them, one could alternatively decide to use Brouter and set their own custom penalties as they prefer. (OsmAnd also supports Brouter for offline routing, if that is the problematic router @julcnx mentions - I seem to recall original OsmAnd router having “avoid unpaved roads” checkbox which might be related to the routing preferences mentioned).

1 Like

I also use

surface=paved
cycleway:surface=asphalt
footway:surface=paving_stones
highway=path
segregated=yes
foot=designated
bicycle=designated

for stuff like

See Key:cycleway:surface - OpenStreetMap Wiki

1 Like

That might be (and I’m guessing here, as I don’t know what router we’re talking about) because they make an assumption that if surface or a road is not tagged, it is most probably asphalt. That might be sensible guess for example Western Europe cities.
But is probably very bad guess for suburban Africa.

Of course, ideally they would make different assumptions for different areas, but that is harder and more work.

But since routers have to make (more or less educated) guesses all the time, when data is missing. Thus, best solution is adding the most precise data (i.e. avoid paved / unpaved if at all possible and go with precise values like asphalt or grass), so they don’t have to guess.

I use paved in a similar way when e.g. a driveway starts from an asphalt road, crosses a concrete footpath, continues as asphalt, then goes into a concrete carpark. I’m not going to split it into a multitude of surfaces, so just call the whole thing “paved”.

2 Likes

Fair enough that specific values are always better, agreed. But I think the routing example was a poor choice on my part and pulled the thread in the wrong direction, so let me refocus.

surface=paved and surface=unpaved are heavily used tags in practice, they’re not just theoretical fallbacks, and the wiki doesn’t clearly define what they mean or how they should be used.

The core issue is: the wiki uses paved/unpaved as an organising taxonomy, the surface=* summary page itself groups values under paved and unpaved headings, and that taxonomy has no defined criterion.

In practice, people use the generic values in different ways:

All of these make sense, but none of them are documented anywhere on the surface=paved or surface=unpaved wiki pages.

Which brings me to the definitions. The unpaved page says:

Fine for the obvious cases. But surface=paved is defined as:

Specifies that object, usually road is paved i.e., covered with paving stones, concrete, bitumen, or asphalt. This value gives only a rough description; use a more precise value if possible.

So paved lists specific materials, unpaved says “unsealed”. Those aren’t the same criterion. Does it mean paved equals sealed ? This leaves surface=wood, surface=metal(_grid) in a grey zone.

tartan and artificial_turf already have their own Special/Sports section on the summary page, yet surface=rubber is currently listed under paved, which feels off for the same reason.

Thanks @ezekielf for actually engaging with the original question, the water-resistance framing is a nice working definition. Though it has a gap: surface=rock is hard and stays hard when wet, yet nobody would call it paved.

So, what should the right criterion be? Would love to hear thoughts on that specifically, rather than routing profiles :wink:

And that was kinda my point. Those paved / unpaved should only be used for obvious cases (and even then, only when tagging more specific value is problematic for other reasons)

Ok, so if I follow correctly what your original issue is, you seem to think that every surface should fall either under paved or under unpaved category and you’d like to have a foolproof “formula” on how to deterministically classify them under either of those two supercategories; is that about the gist of it? Or did I fully miss it? :sweat_smile:

But I don’t think that is required. As you note, there are certain surfaces listed on that wiki that count as “paved”, and certain surfaces that count as “unpaved”, and certain which are “in gray area”.

IIUC, You seem to want to have those “gray” things classified as either paved or unpaved, but I fail to see what actual (practical) purpose is that supposed to accomplish (apart from “it would look more neatly ordered”)?

I.e. what are the actual use cases (if any) where such current un-neatness creates actual problems for mappers or data consumers (especially now that you’ve removed “routing” use case)?

IMHO, artificial_turf is neither paved nor unpaved and we should not try to be tweaking the definition of either to include it, but accept that it does not fall under either.

IOW, to me tautological approach :sweat_smile: on that wiki seems to work just fine for practical purposes; paved surfaces are only those listed under “paved” on that wiki, and unpaved are the ones listed under “unpaved” – and those not listed under either are either:

  • yet unclassified (e.g. if not mentioned on the wiki at all), or
  • not classifiable under either of those groups (i.e. if mentioned in the separate category on that wiki and not under paved or unpaved).

Because, before attempting to mess with those established definitions and possibly skunking the tags, I’d like to have a good reason why is that important – i.e. what new advantages would that bring, and how would those advantages weigh against the disadvantages of changing established groupings?

1 Like

I’m simply trying to improve documentation that I personally found confusing, and that I suspect may also confuse new mappers. That seems like a reasonable reason to have this discussion.

To clarify, I’m not trying to force every surface=* value into either paved or unpaved. However, the current surface=* wiki page already organizes most values under those categories (aside from the Special/Sports section), so the question of where certain surfaces belong comes directly from the current wiki structure.

What may seem obvious or established to experienced mappers is not always obvious from the documentation itself, particularly because the definitions of paved and unpaved are not explicitly stated.

If the intended distinction is simply paved = sealed and unpaved = unsealed, that would already clarify things a lot. In that case I’d be happy to help improve the documentation by:

  • listing which surface values fall under each category on the surface=paved and surface=unpaved pages
  • moving values such as wood, metal, metal_grid, fibre_reinforced_polymer_grate, and stepping_stones out of the paved/unpaved taxonomy into a separate structure/deck category, since they describe construction materials rather than paving materials
  • move surface like rubber in the Special/Sports section together with tartan and artificial_turf

This would mainly be a documentation improvement and would not change any existing tag definitions.

So the key question is: is sealed vs unsealed the intended criterion for paved vs unpaved, or is there a better rule that the documentation should reflect?

I think it would be a much better idea to use simply a section “other” instead.
To find a category for every existing surface is dangerous, see your own discussion of clay.

5 Likes

Did my own research and found a pretty good criterion inspired by @ezekielf:

  • paved: an intentionally applied sealed surface through which water cannot penetrate.

  • unpaved: an unsealed surface, either because water can penetrate it or because it is a natural surface rather than an applied layer.


Update (March 11): Sealed vs unsealed turned out to have too many edge cases (porous asphalt, porous concrete, paving_stones), so the definition shifted toward:

  • paved: hard engineered surfaces, intentionally constructed and remaining firm under typical conditions.

  • unpaved: soft or natural surfaces, typically loose, granular, or organic.

See updated wiki proposal at the top: https://community.openstreetmap.org/t/paved-vs-unpaved-where-exactly-is-the-line/142119#p-1204831-proposed-wiki-changes-6

I think the difference is mainly how strongly the surface material is bound and how stable and durable the resulting layer is, especially under heavy traffic. Unpaved surfaces normally consist of unbound granular material that can easily shift or erode.

For example, water-bound macadam (often tagged surface=compacted) uses stone dust as a binding agent, which is non-chemical and relatively weak. The aggregate is held together mainly by particle interlocking and cohesion. Rain can wash the fines out and traffic can loosen the aggregate, so the surface gradually becomes more like fine_gravel / gravel. Surfaces like asphalt and concrete use strong binders (bitumen and cement, respectively) that create a much more durable layer that resists weather and deformation.

In some cases (like wood or grass_paver), the binding structure may not be easy to survey, but the contact surface is stable, durable and made of large, hard pieces, which is probably why these are considered paved. This is a fuzzy assumption though: if the wood planks are poorly bound by loose soil or if the grass in the grass pavers are overgrown, the resulting surface can be more like unpaved in practice.

For natural rock surfaces, the defining characteristic is that they are not engineered. Paved surfaces are normally built for traffic and are at least initially built to be sufficiently smooth and provide enough grip.

3 Likes

I would consider stepping_stones and grass_paver a paved/unpaved hybrid structure worthy of a separate category, but wood (most of the time), metal, metal_grid, fibre_reinforced_polymer_grate and rubber seem like the general idea of paved to me.

2 Likes

This wording seems like an improvement, although it’s not a perfect distinction. Note that surface=rock is also described as “big pieces of rock used to improve path quality” (example photo). These are intentionally placed, but are generally not considered paving. I’m not convinced the distinction needs to be 100% perfect though so maybe the wording is ok.

This is a good description of some paved surfaces (asphalt, concrete, chipseal) but not of others. paving_stones, sett, and unhewn_cobblestone may be sealed with mortar in between the stones, or they may be dry laid with compacted gravel and sand in between. In the latter case water does penetrate. grass_paver would never be described as sealed and allowing water to penetrate is very intentional. All these paved surfaces do remain hard when wet through.

1 Like

Thanks for the replies, this is exactly the kind of clarification I was hoping for.

It seems the discussion is converging around a few possible interpretations of “paved”:

  • sealed surface
  • intentionally applied surface
  • hard surface that remains firm when wet
  • hard engineered surface

Each works for many cases but also runs into edge cases:

  • sealed vs unsealed breaks with paving_stones or sett
  • intentionally applied could include some uses of surface=rock
  • hard surface would include materials like wood or metal_grid
  • hard engineered surface would also include sports/playground surfaces such as tartan or acrylic

Another complication is surface=rock, which the wiki seems to use for two quite different situations:

  • natural bare rock (bedrock slabs)
  • rocks intentionally placed to stabilize or improve a path

In the first case the surface is natural, while in the second it is intentionally placed material, which makes it difficult to use as an example when defining criteria like “intentionally applied” or “engineered”.

I would consider stepping_stones and grass_paver a paved/unpaved hybrid structure worthy of a separate category, but wood (most of the time), metal, metal_grid, fibre_reinforced_polymer_grate and rubber seem like the general idea of paved to me.

I can see the argument for grouping most hard engineered surfaces under paved as a pragmatic interpretation that roughly matches current usage.

However I would still move surface=rubber. Keeping it under paved blurs the line with other special-purpose surfaces, particularly sports or playground surfaces such as surface=tartan, surface=acrylic, surface=plastic, or surface=carpet. These are also engineered surfaces and often just as “hard” as rubber, yet they are primarily used for sports or recreational areas rather than transport surfaces. Grouping rubber with those in the Special/Sports surfaces section seems more consistent.

I also agree that grass_paver and stepping_stones can reasonably be seen as hybrid surfaces. However introducing a separate category for them might unnecessarily complicate the taxonomy, since they are currently listed under paved and could still technically remain there without changing existing usage.

Perhaps the most practical way forward is simply to clarify the documentation with minimal changes, and treat paved roughly as hard engineered surfaces, without trying to force every surface=* value into the paved/unpaved distinction.

1 Like

Well, plastic roads do exist.

Clay roads too :wink:

Personally I wouldn’t mind moving all the special/sports surfaces into their respective paved or unpaved categories. My concern is that it might trigger the “one surface = one purpose” debates. In comparison, moving surface=rubber for now would be a much smaller and less disruptive change.