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

Render paved/unpaved #110

Closed
joakimfors opened this issue Aug 9, 2013 · 306 comments · Fixed by #3399
Closed

Render paved/unpaved #110

joakimfors opened this issue Aug 9, 2013 · 306 comments · Fixed by #3399
Labels
enhancement new features Requests to render new features roads

Comments

@joakimfors
Copy link

Would be nice if unpaved (surface=unpaved/gravel/ground/etc etc) roads were rendered a bit differently from paved (paved/asphalt/cobblestone/etc). Perhaps brown casing?

@lxbarth
Copy link

lxbarth commented Aug 23, 2013

+1

This is an important request as the absence of a style for unpaved roads leads to many roads being tagged as highway=track where they clearly aren't - especially in countries where unpaved major and residential roads are common.

Example:

screen shot 2013-08-23 at 10 12 05 am

Residential areas in Managua, Nicaragua. Brown solid and dashed lines are highway=track where they should be highway=residential + surface=unpaved

@skorasaurus
Copy link

One alternative to not having this included in the OSM-Carto is to use HOT's HDM Carto Styling
The rendering of surfaces (including unpaved) is one key component of our rendering and here's an example of it.

@mibmib
Copy link

mibmib commented Sep 5, 2013

I agree roads that are unpaved should be rendered differently. In Canada there are many unpaved roads. In Alberta alone 165,000 km out of 226,000 km of public roads are unpaved.
http://www.albertacanada.com/business/overview/roads-and-highways.aspx

@ftrebien
Copy link

+1 for roads in Brazil. We've actually been talking about it in the wrong place (https://trac.openstreetmap.org/ticket/1447). Most drivers here would consider a road "paved" (therefore, minimally safe for reasonable speed even under bad weather) if it had any of these surfaces: asphalt, concrete, sett, or paving_stones. On the other hand, cyclists might not like sett very much. I believe (but I'm not totally sure) that users in countries with better infrastructure or regular snowfall would agree with this as well.

It seems that the file that needs editing is this one: https://github.com/gravitystorm/openstreetmap-carto/blob/master/roads.mss

HDM's MapCSS uses a single rule to override the fill color when the surface is unpaved, see here at line 102: https://github.com/hotosm/HDM-CartoCSS/blob/master/roads.mss

And the "surface" variable gets set here at line 628: https://github.com/hotosm/HDM-CartoCSS/blob/master/hdm.mml

I'm not experienced with Carto or Mapnik, but I'm willing to try and test some similar changes. Could you provide any links that would help me do that? (I'm using Debian Wheezy, but I may adapt.)

@matthijsmelissen
Copy link
Collaborator

By memory:

First install Mapbox: https://www.mapbox.com/tilemill/docs/linux-install/ (should be the same on Debian as on Ubuntu)
Then install Osm2pgsql: http://wiki.openstreetmap.org/wiki/Osm2pgsql#Installation
Then follow these instructions: https://github.com/gravitystorm/openstreetmap-carto/blob/master/README.md

Let us know if anything is missing here, it might be good to have these three steps documented somewhere within the project.

@richlv
Copy link
Contributor

richlv commented Nov 11, 2013

for the record, "paved/unpaved" is not suggested, as, technically, compacted is paved, too...
better use specific surface tags like asphalt, concrete, compacted...

@ftrebien
Copy link

For rendering we could consider "compacted" as paved too, if that's how it's viewed in most countries.

@joakimfors
Copy link
Author

IMHO compacted shouldn't be considered as "paved". It might be nice and firm when it is dry but pour enough rain on it and it will become "mud" like any other unpaved surface. Perhaps a quick and dirty rule: if it erodes during heavy rain => unpaved. :)

@tyrasd
Copy link
Contributor

tyrasd commented Nov 11, 2013

@richlv In OSM context, a paved road is defined as “A highway feature [that] is predominantly sealed […], i.e. it is covered with paving stones, concrete or bitumen.”

@davidbannon
Copy link

I am not sure the tag surface= is the right one here. It has a lot of possible values, and a lot of them in use. We'd need a look up table to decide what to do. Better, in my humble opinion to use the tracktype= tag. This tag is intended to show what state the road is likely to be in and thats the information a user really needs. Further, this tag is very widely used.

The Australian Tagging Guidelines on OSM discusses this ( http://wiki.openstreetmap.org/wiki/Australian_Tagging_Guidelines#Unsealed_and_4wd_Roads_.28Dirt.2C_Gravel.2C_Formed.2C_etc.29 ) and believes that any road with tracktype= asserted needs to be shown so people are aware its not a sealed road.

Please remember that highway= type tags should show what a road is is intended for, further information is needed if the surface of that road is not what might be expected ! This is particularly important in places like the Australian Outback where long distances are involved. Many people have died as a result of them underestimating their ability to use a particular road. I don't want to see OSM mentioned in a coroners report.

David

@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen
Copy link
Collaborator

I think that this is an important issue where all possible solutions have disadvantages. @gravitystorm, do you have any input? Would you support using tracktype on regular roads as a way to render unpaved roads differently?

@gravitystorm
Copy link
Owner

If we're going to render unpaved roads differently, I'd prefer to use the surface tags and keep tracktype for tracks.

@matthijsmelissen
Copy link
Collaborator

Would you prefer to only render surface=unpaved, or keep a long list of unpaved values?

@dieterdreist
Copy link

Am 03/gen/2014 um 13:43 schrieb math1985 [email protected]:

Would you prefer to only render surface=unpaved, or keep a long list of unpaved values?

long list

@vincentdephily
Copy link

+1 for using surface instead of tracktype because we want to support all kinds of highways.

+1 for using a long list (just one for the "unpaved" cases, and consider the rest as paved ?)

That said, we still need to define the usecase to know what surface goes in which category (and how many categories we have). For example, if I'm driving a truck I'll prefer surface=cobblestones to surface=compacted. But if I'm cycling or rollerblading I'll prefer the opposite.

I do not really care which usecase(s) osm-carto decides to support; just be aware that the choice needs to be made.

@richlv
Copy link
Contributor

richlv commented Jan 3, 2014

paved/unpaved is an old discussion and there are some views that gravel is paved, too, some consider it unpaved... i don't really care much about that.
lately i try to avoid paved/unpaved tags and always use surface tag instead.
on the other hand, for rendering a choice must be made - and here "paved" (or rendered differently) should mean things like asphalt/concrete, otherwise such a render would be of little use

@Rovastar
Copy link
Contributor

Rovastar commented Jan 3, 2014

If we do decide to render these how do we purpose we do it?

Personally if there is no surface type then they should be rendered as is. So the default is paved. Then have a list of surface types that we want to render unpaved.

However I am unclear how this should look. Should we make them lighter (more logical as not as ' important' as paved roads) or darker (so people know they are different/more potentially perilous.) or dashed in some way or different casing?
all options sound complex/problematic/ugly.

@matthijsmelissen
Copy link
Collaborator

I would prefer to use dashed casing. It is easy to implement, it is similar to how other maps display unpaved roads, and people on the tagging mailing also seem to be in favour of this option.

The only risk I see is that it adds yet another rendering style to the large number of rendering styles we already have. It might increase the level of visual clutter, and the difficulties users might have with learning the meaning of the different lines. However, that would be a problem with any rendering style for unpaved roads.

I agree with using paved as default, and that seems to be preferred on the tagging list as well.

@richlv
Copy link
Contributor

richlv commented Jan 3, 2014

for an example render see http://balticmaps.eu/?lang=lv&draw_hash=goiujv&centerx=553766&centery=6275034&zoom=6&layer=map&ls=o

yellowish ones are mostly compacted or gravel roads, darker ones - asphalt.

personally, i'd prefer to render as "unpaved" by default - there is a much smaller set of surface tag values that should be considered "paved" (asphalt + concrete, what else ?) so that would be much, much easier to maintain

as for casing, that might be pretty bad/hard to see on narrow lines

@ftrebien
Copy link

ftrebien commented Jan 5, 2014

I think we have less "disagreement" on the tagging list now about this issue. Instead of thinking of paved or sealed ways, I proposed that the following tag combinations represent "bad" highways (those significantly worse for most people than its best possible state):

  • tracktype=grade2/grade3/grade4/grade5 (or simply anything other than grade1, which would support new values such as grade6, grade7, grade8, etc.)
  • smoothness=bad/very_bad/horrible/very_horrible/impassable
  • surface=ground/dirt/earth/sand/grass

So far, only one user (malenki) wouldn't generally expect grade2 to be in poor conditions. Moreover, nobody has disagreed so far that the following are "potentially bad" (perhaps under bad weather): surface=unpaved/gravel/fine_gravel/pebblestone/compacted

One may have to decide if it's best to represent only those surfaces who are surely bad for general use or also those that are potentially so (which is the one I would prefer). Because of how I phrased that question in the beginning, I think these are tags that "may" be used, we're not required to support all of them. Since "surface" has an open set of values, I wouldn't worry if it's not supported, as long as any of the others are. But I also think that the more relevant tags we support, the better.

Some ways have higher pedestrian usage (highway=residential/living_street/pedestrian/service), so you may interested in considering them as "bad" also when a wheelchair=no tag is present. There was no disagreement on that so far.

This discussion in the tagging list went around many possibilities: new tags to fully describe the surface, a new surface quality classification tag, a separation of the surface tag into paved and unpaved tags, and the choice of a single tag instead of multiple tags. Unfortunately, all of those caused some concerns. You can see if there's any further disagreement on that starting from this message: http://gis.19327.n5.nabble.com/Tags-useful-for-rendering-of-roads-in-poor-conditions-tp5791303p5791712.html

@Rovastar
Copy link
Contributor

Rovastar commented Jan 5, 2014

I was following the tagging list for a while but it was so long and so many different tag types I think I counted 7 in one mail. Far too complex for the 'simple' CartoCSS.

I think if we are to do this lets just base it on the surface tags as we have discussed before and that seems to be the general consensus here.

@ftrebien
Copy link

ftrebien commented Jan 6, 2014

That's totally acceptable by as far as this complicated discussion went. It just may have the inconvenience in the long run of more requests for support of new surface values. Supporting an extra tag such as smoothness or tracktype would reduce the priority of such updates, requiring only one or two simple extra rules that probably never will change.

@gravitystorm
Copy link
Owner

Just a comment on the rendering of unsurfaced as dashed casing - my concern is how that fits in with tunnels, and to minimise confusion between the two.

@matthijsmelissen
Copy link
Collaborator

Good point. I imagines thinner dashes for unsurfaced roads than for tunnels, but it might still be problematic.

@ftrebien
Copy link

ftrebien commented Jan 7, 2014

I'm not sure it's problematic because tunnels are also rendered in fainter colors. But maybe a different dashing pattern, or shorter/longer dashes, or (as suggested) thinner dashes would help.

@matthijsmelissen
Copy link
Collaborator

I think for tertiary and higher roads there is no problem, because tunnels in these roads are indeed drawn fainter, but residential/service tunnels would look very similar to unpaved roads, as these are not drawn fainter. See here: http://www.openstreetmap.org/#map=19/49.60533/6.12901

The solution might also be to change the rendering of residential/service tunnels, of course.

@ftrebien
Copy link

ftrebien commented Jan 7, 2014

I see. Well, maybe the guys at the design list can help us figure out the best solution for the general user.

@dieterdreist
Copy link

2014/1/5 ftrebien [email protected]

  • tracktype=grade2/grade3/grade4/grade5 (or simply anything other than
    grade1, which would support new values such as grade6, grade7, grade8, etc.)

there is really no indication for tracktypes other than 1-5, see taginfo
for instance:
http://taginfo.openstreetmap.org/keys/tracktype#values

as the tracktype scale is intended to be a complete list from 1-5, I think
it is impossible to later (i.e. now) add more values at the end.

So far, only one user (malenki) wouldn't generally expect grade2 to be in
poor conditions.

add me to this list. grade2 is slightly worse than grade1, and grade1 is
generally assumed to be in good conditions, so yes, grade2 also is not what
I'd call "poor condition".

@ftrebien
Copy link

ftrebien commented Jan 7, 2014

Some people in the tagging list have expressed the desire to add at least one more value to the tracktype tag. If we considered only tracktypes 1-2 as "good condition" and any other value as "bad condition", we would be making our change more resilient to future changes. It would also display incorrectly when users entered a typo or some other invalid value, which I believe would prompt them to correct the mistake. But either way (positive or negative logic) is fine for me as a mapper.

As for which tag values should be considered "good" or "bad" condition, I think it's best not to branch off into Github the long discussion we're having at the tagging list, it's probably best if you repost your opinion about grade2 there where more people can read and decide if they agree or not and why. Some have already started trying to summarize those many opinions and yours should count.

@Adamant36
Copy link
Contributor

Adamant36 commented Jun 7, 2022

Why this is still being debated like a taboo subject leaves me scratching my head. Just another two cents. I gave up this long ago.

Pointless over engineering with #4137 that didn't go anywhere. The discussions essentially been dead since then. Neither is really that surprising.

@davidbannon
Copy link

Nine years since I have been involved in this discussion ! And I still say it needs to be addressed. In 2018 we came across a young Danish couple who had taken a contract to deliver a hire car to Alice Springs, theirs for a few days as payment. They looked on the map, found the Plenty Highway and allowed a day to drive it. They passed us in a mad panic trying to make their deadline. Then we caught up to them, had to fix their car because no one can hurry on a road like that. They could, just as easily been killed.

They were using OSMAnd. Not OSM's fault but an example of what happens.

Davo

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

This style currently renders road tunnels with dashed outlines: e.g. https://www.openstreetmap.org/#map=17/42.54502/1.72976

We would have to find a different tunnel rendering to use dashes for unpaved roads.

@Adamant36
Copy link
Contributor

Adamant36 commented Jun 8, 2022

"We would have to find a different tunnel rendering to use dashes for unpaved roads."

What about just the lighter road color without the dashes for tunnels? I'm pretty sure I've seen some road maps display tunnels like that. Google Maps renders them as light grey. Either way, there's zero point in over complicating things and dashes don't intuitively mean "tunnel" anyway.

@cmoffroad
Copy link

How about a dashed fill color ?

Something similar to this:

image

Note: I experimented with this style in my own OSMAnd renderer so not directly related to Carto but you get the point.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

The current highway=construction is quite similar to that suggestion:

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

What about just the lighter road color without the dashes for tunnels?

Tertiary and residential roads are white (#ffffff), there is no lighter color possible.

Also, to use dashes would require changing the end-caps to be square instead of round, or solving mapnik/mapnik#3982 first. See comment above #110 (comment)

@ypcyc
Copy link

ypcyc commented Jun 8, 2022

I strongly believe that "unpaved" visualization has much higher priority than highway=construction (for which style can be changed to something new).
Just check the numbers:
https://taginfo.openstreetmap.org/compare/surface=unpaved/surface=ground/highway=construction

@cmoffroad
Copy link

I strongly believe that "unpaved" visualization has much higher priority than highway=construction (for which style can be changed to something new).

Exactly. It's nice to cover as many tags as possible for the renderer but unpaved conditions are a lot more common than construction sites, and a major source of tagging conflicts (using track instead of the appropriate highway classification)

How about simply making the construction dash color red, and keeping it black for unpaved roads?
Both unpaved and construction? red and black dashes would work well too.

@dieterdreist
Copy link

dieterdreist commented Jun 8, 2022

I agree this is still an important issue, is clearly relevant on a global level, could support a lot for correct road classification (prevent tagging for the renderer classification).
Dashed roads seem the most intuitive symbol (because many maps do it), but would mean we would have to change tunnel rendering. The symbology with a gravel overlay like explored here could also work #4137

@ftrebien
Copy link

ftrebien commented Jun 8, 2022

It's been almost 10 years since my first comment here! And this issue continues Trac issue 1447 where it was first asked in January 2009, so now the issue is 13 years old. Carto has long been biased towards highly developed areas, where construction and living streets are common and unpaved roads are uncommon or so well maintained that differentiating them is irrelevant to local users. I think this is largely because the majority of early Carto maintainers were people who lived in these areas.

On most other popular commercial digital maps, new ways under construction are rarely shown, old ways being fixed or rebuilt are usually represented as a blocked road (often dashed in white and red), and living streets are indistinguishable from other residential/unclassified roads. The popular maps that distinguish between paved and unpaved do so with a color change, usually to a light shade of gray, sometimes to a light shade of brown. What I believe would work in Carto:

  • change the colour of living streets to something else (maybe a very light cyan, I don't think this will ever be confused with water given the context of these ways)
  • display unpaved residential, unclassified and tertiary roads in the shade of light gray used today for livings streets
  • display unpaved secondary, primary and trunk roads in a paler shade of their main color while keeping the rest of the rendering logic (same zoom levels and line widths; so, like tunnels but without dashed casing)

Regardless of whether such a suggestion attracts any interest, I think it's important to consider the context in which these ways usually appear. Unpaved primary and trunk roads exist primarily in very remote rural areas, not built-up cities. The situation is more or less the same for unpaved secondary roads, with occasional unpaved secondary roads in a built-up urban suburb in some areas. Unpaved tertiary roads may be more common near city centers in some areas, while unpaved residential roads are quite common in many cities. Unclassified unpaved roads are quite common in rural areas in some developed countries, while unclassified unpaved roads are not as common in cities due to definition (although local practice may vary, they are sometimes used as a kind of "quaternary" road where functional hierarchies are adopted by the local community; but if treated as residential ways, it should work well). In these contexts, dashing might make urban rendering a little too busy.

@Adamant36
Copy link
Contributor

Tertiary and residential roads are white (#ffffff), there is no lighter color possible.

Sorry if I wasn't clear. What I meant was what about continuing to render roads lighter when they go through tunnels, but just get rid of the dashes. Same goes for residential roads. It's already clear by how they are rendered without the dashing that the road goes through a tunnel. My guess is that how people know the roads in the picture goes through a tunnel is the color of the roads being slightly different for the portion that goes through the tunnel, not the existence of the dashes. Which is why Google renders them that way.
Mapping-Features-Road-Tunnel_Mapnik_2

@boothym
Copy link
Contributor

boothym commented Jun 8, 2022

This style currently renders road tunnels with dashed outlines: e.g. https://www.openstreetmap.org/#map=17/42.54502/1.72976

We would have to find a different tunnel rendering to use dashes for unpaved roads.

Road tunnels are also desaturated however, so for example at these locations you can tell the motorway is in a tunnel despite the dashed outlines being barely visible (especially at z16 as well): https://www.openstreetmap.org/#map=17/55.86673/-4.27143 https://www.openstreetmap.org/#map=16/53.8032/-1.5470

It would be interesting to see a rendering of road tunnels with solid outlines or dashed outlines which are different to the proposed unpaved rendering (perhaps longer dashes?).

(Just noticed the above post is saying something similar...:upside_down_face:)

@PauloCarvalhoRJ
Copy link

unpaved rendering (perhaps longer dashes?).

That's a good idea indeed.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

Road tunnels are also desaturated however

Not Tertiary, unclassified, residential and services. These are just white, or very light gray. The dashed casing is the only clear sign of a tunnel:

Screen Shot 2022-06-08 at 08 51 42

Screen Shot 2022-06-08 at 08 51 05

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

  • change the colour of living streets to something else (maybe a very light cyan, I don't think this will ever be confused with water given the context of these ways)

I would not recommend the use of any shade of blue. We render highway=living_street areas, which are like pedestrian plazas. These could be easily mistaken for a water feature. Another color could be considered, but there are very few remaining colors available which have not already been used in this style for something else.

The most reasonable suggestion would be to unify the rendering of living_street and pedestrian, which I have already recommended in #3961, but at least one other maintainer disagreed. Also see #2691 which asks to change to current highway=pedestrian color

  • display unpaved residential, unclassified and tertiary roads in the shade of light gray used today for livings streets

What about highway=pedestrian, pedestrian squares, and aeroway=runway, aeroway=taxiway?

  • display unpaved secondary, primary and trunk roads in a paler shade of their main color while keeping the rest of the rendering logic (same zoom levels and line widths; so, like tunnels but without dashed casing)

We try to make it clear that similar renderings are for similar features. I do not think that "like tunnels but without dashed casing” is a good idea, because an unpaved road is not similar to a road in a tunnel. Also, in that case we could not show if the surface of a road in a tunnel is unpaved or paved.

@adamfranco
Copy link

I'd like to add another voice to the chorus saying that the paved/unpaved distinction is more important than rendering roads under construction. If something needs to shift out of the way to make room for paved/unpaved, then losing construction or giving it a new treatment seems like an appropriate course of action. In my rural part of America more than 60% of our road miles are unpaved, a critical distinction in many seasons. As others have noted, not rendering this distinction encourages poor highway tagging practices.

In the Americana style we are currently using dashed fill to identify unpaved surfaces, a treatment often seen in American cartography (though this treatment is currently being debated). This treatment may or may not be the best fit openstreetmap-carto, but I wished to point it out as an example. I personally like that this treatment is very similar to the regular highway style, but "slightly broken" as unpaved roads are often experienced as just a little less-than paved ones in practice.
Screen Shot 2022-06-08 at 12 52 38 PM

Note that there is real usage listed in this Americana PR of highway=trunk+surface=unpaved as well as highway=motorway_link+surface=unpaved in global use, so a treatment should work for all highway classes.

@ftrebien
Copy link

ftrebien commented Jun 8, 2022

  • change the colour of living streets to something else (maybe a very light cyan, I don't think this will ever be confused with water given the context of these ways)

I would not recommend the use of any shade of blue. We render highway=living_street areas, which are like pedestrian plazas. These could be easily mistaken for a water feature. Another color could be considered, but there are very few remaining colors available which have not already been used in this style for something else.

But highway=living_street areas are far less common in the world than unpaved ways, and so are polygonal water features (except swimming pools). Besides shades of gray, the red-yellow hues are all used for other significant purposes. What about light purple, light green, light aquamarine?

The most reasonable suggestion would be to unify the rendering of living_street and pedestrian, which I have already recommended in #3961, but at least one other maintainer disagreed. Also see #2691 which asks to change to current highway=pedestrian color

This is a solution, but I think it might displease both pedestrian- and car-centric users as one is interested in where they can walk safely and the second is interested in where they can drive efficiently.

  • display unpaved residential, unclassified and tertiary roads in the shade of light gray used today for livings streets

What about highway=pedestrian, pedestrian squares, and aeroway=runway, aeroway=taxiway?

I wouldn't worry too much about aeroways as the context is usually enough to infer what the shapes mean.

I agree that pedestrian squares are better rendered in grey, so it makes sense for pedestrian streets to be grey as well.

  • display unpaved secondary, primary and trunk roads in a paler shade of their main color while keeping the rest of the rendering logic (same zoom levels and line widths; so, like tunnels but without dashed casing)

We try to make it clear that similar renderings are for similar features. I do not think that "like tunnels but without dashed casing” is a good idea, because an unpaved road is not similar to a road in a tunnel. Also, in that case we could not show if the surface of a road in a tunnel is unpaved or paved.

But tunnels with an unpaved surface are usually short and directly connected to unpaved roads, so the context should make it clear. Tunnel rendering is particularly important for large vehicles (trucks, buses), which are also interested in avoiding unpaved roads when possible.

Anyway, these are just suggestions. I believe that dashing is another feasible solution, but it doesn't seem to be getting us anywhere.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

I wouldn't worry too much about aeroways as the context is usually enough to infer what the shapes mean.

I mean what about surface=grass or surface=unpaved + aeroway=runway - 24% of runways in the database have surface=grass, which is more than surface=asphalt and 4% have surface=unpaved, which is more common than surface=paved https://taginfo.openstreetmap.org/tags/surface=grass

The unpaved runway is often the only visible feature of the aerodrome, in the common case of a grass strip in a remote area like Alaska or Papua New Guinea.

it makes sense for pedestrian streets to be grey as well

I mean, how will we distinguish unpaved vs paved in this case, based on your other suggestions?

I believe that dashing is another feasible solution

Please look at the previous work done on this issue. The dashing has issues even if it were not used for tunnels - see #110 (comment), #110 (comment), #110 (comment), and #110 (comment) - even so it might be an option if we do not find another solution.

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

In the Americana style we are currently using dashed fill to identify unpaved surfaces

That looks nice, but overall it is a very simple road style. It appears Americana is only using 3 fill and casing colors for road classes. This style currently uses 7 fill colors for the main street and road classes, so it will be much more complex to do something similar. Also your unpaved style is only visible higher zoom levels >z12.

More importantly we currently use a similar pattern for highway=construction. Americana style does not show this at all yet - e.g https://zelonewolf.github.io/openstreetmap-americana/#14.04/44.95576/-123.08932 vs https://www.openstreetmap.org/way/183811433#map=14/44.9557/-123.0825

See #3579 and #2595 for previous improvements to highway=construction

@dieterdreist
Copy link

dieterdreist commented Jun 8, 2022 via email

@jeisenbe
Copy link
Collaborator

jeisenbe commented Jun 8, 2022

no, this is not reasonable, a pedestrian highway is closed for regular (motor)vehicles, a living street is more or less a residential street with a particularly low speed limit

Please comment on #3961

@Adamant36
Copy link
Contributor

Not Tertiary, unclassified, residential and services. These are just white, or very light gray. The dashed casing is the only clear sign of a tunnel

Going by the image provided by adamfranco it looks like the Americana style does exactly what I suggested and I doubt anyone is confused by it. So I think your putting more emphasize on the existence of the dashed cashing to tell when a road goes through a tunnel then it deserves.

@ZeLonewolf
Copy link
Contributor

ZeLonewolf commented Jun 8, 2022

In openstreetmap-americana, we're exploring under-construction roads in issue osm-americana/openstreetmap-americana#212 and PR osm-americana/openstreetmap-americana#215. So far under-construction road styling is an unsolved problem for us as noted by @jeisenbe above. Our desired approach is to render unpaved roads with a dashed fill and solid casing (which we've implemented as noted by @adamfranco above), and under-construction roads with a combined dashed fill and casing.

We have so far not been able to render under-construction roads with this desired treatment for technical reasons, namely that dual carriageways need to be merged at lower zooms to avoid the dash patterns overlapping in an unattractive way.

However -- in a world where carriageway merging is a solved problem, fully-dashed casing and fill is quite distinct from an alternating fill on a solid casing. For a cased road (where both case and fill exist), a full break in the line treatment tells the under-construction story quite nicely. Whereas, single or double-line dashes (where it's just a thin line and no casing/fill) are quite recognizable as trail or trail-like (i.e. osm-carto's current treatment of path/footway/cycleway and the unpaved values of track)

This is a long way of saying that I think an alternating fill pattern could work for indicating an unpaved road, however, the current styling for under-construction roads would likely need to change to a more dramatic break in pattern to avoid confusing between them.

Under-construction road paper map sample:
image

Unpaved road, two-track trail, single-track trail digital map sample:
image

@ypcyc
Copy link

ypcyc commented Jun 9, 2022

My initial "simple" suggestion years ago was to use highway=track color representing compacted\gravel road as outline for existing highways colors (today when I tried to recreate it I decided it's too contrast so I used lighter version) + make dashed lines similar to constructions, but with longer dashes:
image

@ftrebien
Copy link

ftrebien commented Jun 9, 2022

I wouldn't worry too much about aeroways as the context is usually enough to infer what the shapes mean.

I mean what about surface=grass or surface=unpaved + aeroway=runway - 24% of runways in the database have surface=grass, which is more than surface=asphalt and 4% have surface=unpaved, which is more common than surface=paved https://taginfo.openstreetmap.org/tags/surface=grass

The unpaved runway is often the only visible feature of the aerodrome, in the common case of a grass strip in a remote area like Alaska or Papua New Guinea.

Yes, but how important is it to render aeroways as unpaved? This issue is mainly about ways used by ground vehicles (and, dare I say, pedestrians too; it would be in their interest to know which paths are unpaved). To me it doesn't seem to make sense to discard a solution because it doesn't work for corner cases. Maybe unpaved ways can be rendered in light brown? Or maybe it's a case where texturing would work fine. If colour consistency is required across all modes of transport, one should first ask why airways are represented in the same colour as pedestrian areas (it's probably because the two rarely exist next to each other and can be understood from context; the rare combination is tolerable, just like other rare colour collisions in the current style).

it makes sense for pedestrian streets to be grey as well

I mean, how will we distinguish unpaved vs paved in this case, based on your other suggestions?

I proposed using the living street light gray colour for unpaved ways (of the lower classes currently represented in white: service, residential, unclassified, tertiary) and changing the living street colour to something else (maybe light grayish yellow like parking lots, where there is also a regular conflict between drivers and pedestrians, with pedestrians also having priority; maybe light cyan, like Crayola baby blue: #E7FEFF, which I don't think anyone would mistake for water; or light purple, like periwinkle: #CCF), while pointing out that living streets are not distinguished in most other commercial maps (they're rendered white like other local ways). The justification for this is that unpaved ways are more numerous. Also, living streets tend to appear close to pedestrian ways, and the shade difference is often too small to ensure that the two can be clearly distinguished (at least for me). Also, pedestrian ways tend to appear in city centers, while unpaved ways tend to appear in their surroundings and in remote areas, meaning the two rarely appear together, hence the slight difference in their shades would rarely have a practical impact if colour assignment is done this way.

A light shade of brown might work if carefully chosen, but I think there are greater risks: it would make unpaved tertiary ways less distinct from primary ways and service ways less distinct from tracks (although the practical impact of the latter would be limited),

Texturing as proposed earlier is likely to affect the overall shade of the way, making it darker (then white becomes light grey, the yellow shade of secondary ways becomes a darker golden yellow, and so on), and does not transfer well to lower zoom levels (especially for unpaved trunk and primary ways). But dashing applies well to all zoom levels if the tunnel style is changed, for example, by using a faint undashed casing.

@davidbannon
Copy link

This style currently renders road tunnels with dashed outlines: e.g. https://www.openstreetmap.org/#map=17/42.54502/1.72976

We would have to find a different tunnel rendering to use dashes for unpaved roads.

Indeed, thats necessary. But, just as a thought experiment, we should consider how the (stupidly extreme) cases work. Suppose we failed to mark tunnels in the same way we currently fail to mark unsealed roads ? Someone drives along and says "wow, we are entering a tunnel, I did not expect that". In most cases, the journey would continue. There may be a very few corner cases, trucks carrying dangerous loads, wide loads, people who suffer from claustrophobia. But few.

On the other hand, by not marking unsealed roads, we present some drivers with a stark, often unpleasant choice. Do they continue, hoping its only short( after all, its not marked on the map), risking perhaps an unsuited vehicle, unstable weather, lacking suitable skills ? Backtracking is not always possible given time or fuel constraints.

To be clear, I would be the last to suggest we no longer mark tunnels, but, unsealed roads should, IMHO, be prioritized. And most of the parts of the world where unsealed roads exist in vast quantities, dashed in some form, is what people expect.

Davo

PS: I live on an unsealed road.

@richlv
Copy link
Contributor

richlv commented Jun 11, 2022

A small reminder that colour of the casing is also used to denote paved/unpaved. Maybe that is easier to adapt into OSM carto.
See #110 (comment) for an example screenshot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new features Requests to render new features roads
Projects
None yet