gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.54k stars 823 forks source link

Landcover and landuse features cannot be distinguished at mid and low-mid zoom levels #3936

Open jeisenbe opened 5 years ago

jeisenbe commented 5 years ago

Related to #3935

Expected behavior

Actual behavior

Links and screenshots illustrating the problem

See screenshots in #3935

jeisenbe commented 5 years ago

Options to solve this issue (and #3935)

1) simplifying the landcover classes to a few types.

2) Remove the fading and use the same landcover colors at all zoom levels

3) Since that is a large change, we can also consider an intermediate step: reducing the fading and only using one level.

jeisenbe commented 5 years ago

Here's examples with the lightening reduced to 0.2 (half of the current lightening at z12) and only applied from z11.

At z12 the main roads and rivers are wider and roads still have casing, so there's no problem with using the full landcover colors. This also provides one zoom level without the patterns. At this zoom level the built-up area is in #dddddd - that's what I found is the current color used at this zoom level.

At z11 and below roads are narrow and no longer have the darker casing, so the 0.2 lightening still makes it possible to see the minor roads when they pass through woodlands.

Luxembourg - Reduced fading

z9 reduced fading z9-luxembourg-reduce-fade

z10 reduced fading z10-luxembourg-reduce-fade

z11 reduced fading z11-luxembourg-reduce-fade

z12 reduced fading z12-luxembourg-reduce-fade

jeisenbe commented 5 years ago

No fading - Luxembourg

Here's luxembourg without any landcover fading, but no other changes. This makes the rivers and minor roads a bit hard to follow in the woods (this is with the current river color; the proposed darker rivers help with this)

z9 no fade z9-luxembourg-nofade

z10 no fade z10-luxembourg-nofade

z11 no fade z11-luxembourg-nofade

jeisenbe commented 5 years ago

Option 2. - Luxembourg - darker rivers and roads, no landcover fading

This is an example of option 2: full landcover colors, and use slightly darker/more saturated roads and rivers at low zoom. This would resolve #3936 but might not resolve #3935

z9 Luxembourg no fade, darker roads and rivers z9-luxembourg-nofade-darkroads

z10 no fade, dark roads z10-luxembourg-nofade-dark-roads

z11 no fade, dark roads z11-luxembourg-nofade-dark-roads

These are the diffs: road-colors.yaml

low-zoom:
-      lightness: [62, 92]
-      chroma: [50, 40]
+      lightness: [55, 90]
+      chroma: [55, 45]

road-colors-generated.mss

@motorway-low-zoom: #d85576;
@trunk-low-zoom: #e98365;
@primary-low-zoom: #e7b46a;
@secondary-low-zoom: #dbe28c;

roads.mss

+@low-zoom-road: #aeaeae;

#aeaeae (Lch 71,0,0) is used at z12 for unclassified/residential and at z11 and below for tertiary and secondary, instead of the current #bbb (Lch 76,0,0)

kocio-pl commented 5 years ago

Reduced land areas fading looks OK for me at all the presented examples and it probably gives better results than current fading.

No fading creates limited visual mess at both z11 examples and nasty "military camouflage" effect on z9/z10. I mentioned it lately in different ticket as a forest problem, but lines also have their share with competing patterns here.

jeisenbe commented 5 years ago

it probably gives better results than the current fading

OK, we can try that (Option 3, intermediate step). I think this will make it easier to consider making larger visual changes later.

Here are some more examples of the reduced landcover lightening, in southern Wales :

z12 Newport, Wales z12-newport-nofade-rivercolor

z11 z11-newport-leastfade

z10 z10-newport-leastfade

z9 z9-cardiff-leastfade

z8 z8-cardiff-leastfade

z7 z7-cardiff-leastfade

kocio-pl commented 5 years ago

I think it still works OK. Even with dark green areas of heath, which make the background really solid, I cannot complain with readability of all the samples. It is still possible to focus on details when needed (like names, lines or peaks) without being distracted with dark patches of the landcover.

jeisenbe commented 5 years ago

Option 2. - Wales - darker rivers and roads, no landcover fading

This shows the full-color landcover, plus slightly darker/higher chroma roads and waterways at low zoom, in Wales. We were discussing this in #3647.

z8 Wales, no fade, darker roads and rivers z8-cardiff-nofade-darker-water-river

z9 z9-cardiff-nofade-darker-water-river

z10 z10-newport-nofade-darker-water-river

z11 z11-newport-nofade-darker-water-river

kocio-pl commented 5 years ago

I don't see that helps - and I would be really surprised if that could help, because dark forest spots are still there and this is the main part of a "camouflage effect" (heath doesn't make so many small spots, but it's also too strong).

imagico commented 5 years ago

@jeisenbe - Keep in mind that the current road colors were designed so that the color progression at all points and in all variants used fits into color space. If you make these colors stronger this will not be the case any more - you will either have to abandon the principles of the current color progression or you will have to accept the clipping and the resulting differences and derivations from the original design principle.

In other words: Road colors can be designed either for optimized human perception or optimized for the technical constraints of color reproduction on computer displays.

@kocio-pl - Your idea of a "camouflage effect" does not make much sense to me. The idea of camouflage is to artificially create patterns in the same colors as something you want to disguise or to paint something you want to disguise in patterns and colors of something abundant naturally around it. This requires an identity in patterns and colors between two different things. This is exactly what we in color design have been trying hard to avoid. If at all this is something that has been introduced by the color fading at lower zoom levels because the fading function messes with the color relationships and thereby actually introduces a true camouflage effect. This is not something that would be emphasized by removing the fading.

That there are too many different landcover colors at the low zoom levels is a different matter - but there are possible solutions to this which have been discussed elsewhere.

kocio-pl commented 5 years ago

It is not as much the idea as just trying to name the immediate visual impression strong elements gave to me. It might be a side effect (and in fact I think this is not intended in any way), but the result is the lack of balance between areas, lines and nodes - areas (especially dark ones) eclipse all the rest. Fading them removes this problem.

That there are too many different landcover colors at the low zoom levels is a different matter

I have clearly identified the problem with just one element - strong forest spots.

imagico commented 5 years ago

I have clearly identified the problem with just one element - strong forest spots.

Is it possible that the problem you see is just a mismatch between the visual importance woods/forests have in the map and the mental importance you attribute to them in your mind and you therefore expect to be matched by the map?

It is after all not that the current wood/forest color in this style is very strong in comparison to other map styles including OSM-Carto variants - @jeisenbe pointed this out already.

kocio-pl commented 5 years ago

This is not a problem with forest color being too strong. On the high zoom levels it just does not create spots, so I never complained about it. The problem are only strong spots (both things taken together), and they start appearing on the midzoom.

It also does not have anything to do with the meaning of these spots. It is purely visual sensation.

imagico commented 5 years ago

I don't think you have really understood my question. Map viewing physiology cannot be regarded independent of the semantics of the data and the scale of the map. Map viewing always connects what is being shown with the mental image the viewer has of the geography shown. And if you see a 2cm forest patch on an 1:2M map that naturally connects to a very different mental image than if you see a 2cm forest patch on an 1:100k map.

You can try to describe the effect of a certain visual appearance independent of the semantics but neither you nor any other map viewer will actually perceive it this way.

kocio-pl commented 5 years ago

It is possible. Please rephrase it to make it simpler.

jeisenbe commented 5 years ago

I think what @kocio-pl was trying to say is that he thinks some of the rendering examples in Europe look like fashion "camo", e.g:

camo

This type of "camo" is ineffective at hiding the user, because it has hard edges and high contrast between light and dark patterns, but it seems to be popular for some articles of clothing.

But this effect is not limited to low zoom levels. Areas that are well-mapped can have all sorts of different colors in interesting patterns, if there are semi-natural areas mixed with meadow and farmland. Eg:

z13 Flamengos, Azores z13-flamengos-patterns

z15 z15-flamengos-before

z16 Anse de Rondinara z16-anse-de-rondinara-before

So it's important to be clear about what the problem is. My belief is that @kocio-pl feels that the dark forests make it too hard to follow linear features like roads, railways and perhaps waterways at mid-low zoom (z8 to z11), where these features are much narrower than in the examples above. Is that correct?

That should be discussed in #3935 - where I claim the current rendering creates the opposite problem: roads are too prominent.

jeisenbe commented 5 years ago

Re: low-zoom road colors

Keep in mind that the current road colors were designed so that the color progression at all points and in all variants used fits into color space. If you make these colors stronger this will not be the case any more - you will either have to abandon the principles of the current color progression or you will have to accept the clipping and the resulting differences and derivations from the original design principle.

The change I made was only to the low-zoom road fill colors, which were changed from lightness: [62, 92] to [55, 90] and chroma: [50, 40] to [55, 45]. While this is certainly a change from the current script values, it is still more lightness and less chroma than casing or low-zoom-casing. The difference is that the low-zoom-fill would now be slightly closer to low-zoom-casing (which is only used on z12) and slight farther from fill, so there would still be a progression between each level, and there is no clipping.

I don't think this would abandon the principles of the current color progression

Before:

    fill:
      lightness: [70, 97]
      chroma: [35, 29]
    casing:
      lightness: [50, 50]
      chroma: [70, 55]
    low-zoom:
      lightness: [62, 92]
      chroma: [50, 40]
    low-zoom-casing:
      lightness: [50, 70]
      chroma: [50, 65]

After

    fill:
      lightness: [70, 97]
      chroma: [35, 29]
    casing:
      lightness: [50, 50]
      chroma: [70, 55]
    low-zoom:
      lightness: [55, 90]
      chroma: [55, 45]
    low-zoom-casing:
      lightness: [50, 70]
      chroma: [50, 65]
imagico commented 4 years ago

This is still the case right now with the weaker fading, in particular also the difference between farmland and no mapped landcover is not visible in a lot of places - which is bad for mapper feedback. #3670 would address that.