Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implicit default in road surface rendering #4724

Open
imagico opened this issue Oct 30, 2022 · 9 comments
Open

Implicit default in road surface rendering #4724

imagico opened this issue Oct 30, 2022 · 9 comments
Labels

Comments

@imagico
Copy link
Collaborator

imagico commented Oct 30, 2022

With our new rendering of roads with unpaved surface (#3399) we make the assumption of an implicit default of the standard road classes of a paved surface when no surface is tagged. This is because design wise it would have been very difficult to find a third styling variants for roads with an undefined surface.

This is however problematic primarily for two reasons:

  • there is no universal agreement among mappers of there being an implicit default of the road surface in the main road classes (though some countries according to https://wiki.openstreetmap.org/wiki/Highway:International_equivalence make assumptions for specific road classes and on https://wiki.openstreetmap.org/wiki/Highway_Tag_Africa it mentions explicitly paved as default).
  • the assumption of a paved surface as implicit default transports a geographic bias that is in a bit of a conflict with the goals of this style (favoring regions with predominantly paved roads over regions with predominantly unpaved roads).

Some number of actual tag use - for the minor road classes (unclassified/residential/service) - which constitute the bulk of road features in OSM - percentage of features explicitly tagged with surface is between 13 and 26 percent. For residential/service paved values outnumber unpaved values about 2:1, for unclassified this is the other way round.

I am not aware of any other map styles rendering surface on roads that do not make an assumption of paved surface as implicit default.

I open this issue to collect perspectives on the subject. My view at the moment is that i would like to see the current design and tag interpretation logic to be rolled out and see how it will look on a global level and how map users will see it. We could probably consider options to highlight the lack of surface tagging at the highest zoom level if we really wanted to - though this would add visual complexity and would compete with other secondary tags of roads we might want to render. Hence i have strong doubts this would be a good idea

@imagico
Copy link
Collaborator Author

imagico commented Nov 10, 2022

Since it was asked in #4723 - i don't have hard data on prevalence of road surfaces in Germany but my impression is that the relative percentages of surface tagging of roads in Germany roughly represents the prevalence in reality. For most road types the dominating surface value is asphalt, for highway=residential for example:

https://taginfo.geofabrik.de/europe/germany/tags/highway=residential#combinations

asphalt is more than ten times as frequent as the next most frequent value paving_stones. The only road classes where this is different are probably pedestrian and living_street with paving_stones dominating.

Note the real world prevalence in individual countries is not a significant factor here, in particular because as already hinted at above the prevalence of paved and unpaved roads in a region does not necessarily seem to be correlated with the assumption of an implicit default of surface among mappers in the area.

@yvecai
Copy link
Contributor

yvecai commented Jan 4, 2023

Rendering as unpaved by default is an obvious solution: this is disruptive, but there is no drawback in adding explicit surface tags on every paved way of the database.

@richlv
Copy link
Contributor

richlv commented Jan 14, 2023

I suspect https://balticmaps.eu might be defaulting to unpaved.
Note that they use red-ish casing for paved, making it easier to distinguish, especially when several different road types are involved.
Personally, I'd prefer defaulting to unpaved, as it's somewhat safer - if somebody would make a travel decision (for example, choosing paved roads for a motorcycle ride), defaulting to paved could cause issues.

@imagico
Copy link
Collaborator Author

imagico commented Jan 14, 2023

That does not appear to be an OSM based map so this is not really relevant here.

@richlv
Copy link
Contributor

richlv commented Jan 16, 2023

Sorry if I misunderstood you, thought this is about the general principle.

@map-per
Copy link
Contributor

map-per commented Mar 26, 2023

A different approach would be to use a question mark pattern for roads without surface information.
(With question mark pattern I mean a pattern consisting of several small question marks on the road area, similar to the dot patterns used for unpaved roads)

This way the rendering of roads with unknown surface would be distinct to both paved and unpaved roads, similar to the way three different dash patterns are used for displaying the surface of footways, cycleways, and paths

@hungerburg
Copy link

Looking at a changeset, where a so-called "dangerous" path was removed from date, it appeared to me, that this path was rendered more prominent than a so-called "official" path close by. Below annotated image:

path-surface

The difference between the (deleted path 705841786 and the official path seems to me to be about surface, I am wrong? If so, can the default for path be unpaved?

@imagico
Copy link
Collaborator Author

imagico commented Sep 2, 2023

Paths are currently not rendered with an implicit default for surface, we have three line pattern variants:

  • paved
  • unpaved
  • unknown

At z19:

pavedunpavedunknown

That these are hard to distinguish in many cases is a known problem (#1793, #1765).

See https://imagico.de/map/styleinfo/#style=osmcarto&section=tags&key=highway&value=path for a more complete overview of styling variants.

For highway=track we currently don't render surface=* but we have a suggestion to change that (in a way that would also not have an implicit default) in #4322 that has fairly broad support.

@hungerburg
Copy link

hungerburg commented Sep 3, 2023

Thank you for the picture - Form the appearance I understand, that in OSM Carto a path with unknown surface is something in-between a path with surface=paved and a path with surface=unpaved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants