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

Water should be better recognizable - difference to forest color too low #1781

Closed
tob2 opened this issue Aug 23, 2015 · 73 comments
Closed

Water should be better recognizable - difference to forest color too low #1781

tob2 opened this issue Aug 23, 2015 · 73 comments

Comments

@tob2
Copy link

@tob2 tob2 commented Aug 23, 2015

I think the water should be more bluish - currently it is not that well visible. Compare Mapnik's rendering with the others at http://tools.geofabrik.de/mc/#11/47.6345/9.5654&num=4&mt0=mapnik&mt1=google-map&mt2=bing-map&mt3=nokia-map

That's especially visible if the lake is embedded in a forest; the small lakes are easily visible in the Google map and hardly visible in Mapnik (I mean those lakes: http://tools.geofabrik.de/mc/#14/47.6138/9.6337&num=4&mt0=mapnik&mt1=google-map&mt2=bing-map&mt3=nokia-map)

Even more prominent is http://tools.geofabrik.de/mc/#9/47.6714/11.1721&num=4&mt0=mapnik&mt1=google-map&mt2=bing-map&mt3=nokia-map (for additional comparison, some other OSM variants: http://tools.geofabrik.de/mc/#9/47.6529/11.0403&num=4&mt0=mapnik&mt1=public_transport&mt2=geofabrik-de&mt3=mapnik-humanitarian )

I think that's mostly visible for lower zoom levels (<~10), especially since zoom levels >=13 have a tree-symbol rendering.

Another item - besides the more bluish color, which makes the lakes more visible and nicer looking is Google's shading of the edge of the water: It is slightly darker, making it stand out more and also making it look more 3D-link. Close zoom-in example which makes the shade most visible: http://tools.geofabrik.de/mc/#18/47.6429/9.5038&num=4&mt0=mapnik&mt1=google-map&mt2=bing-map&mt3=nokia-map - while the first link above shows how much nicer it looks. (Google adds this edge shading only for lakes which are larger than a certain pixel size; for low zoom, only big lakes have it, when zooming in also smaller lakes get it.)

@imagico
Copy link
Collaborator

@imagico imagico commented Aug 23, 2015

Contrast between water and wood/forest is a valid concern. This has been discussed in #1242, it is no worse than it was for wood before but still it is unsatisfactory, especially for river lines (which are frequently less visible than streams since the latter have a bright casing).

Note comparisons to other map styles without a serious landcover depiction are of limited use here - in Google & co. general land coloring essentially only serves aesthetic purposes and is not meant to transport significant information. This style is different in that regard.

@matkoniecz
Copy link
Collaborator

@matkoniecz matkoniecz commented Aug 23, 2015

Yes, lakes, canals and rivers may be well hidden. See for example http://www.openstreetmap.org/#map=12/54.2137/21.7272

selection_002

Note that there are also other blue features - transport-related labels/icons (like bus stops) and motorways (with #319 motorways on low zoom levels are very hard to notice and look like rivers that may be fixed by #1736 what would give more space for water colour changes).

see also http://www.openstreetmap.org/#map=11/41.2700/-111.8000

selection_003

see also http://www.openstreetmap.org/?mlat=60.638889&mlon=28.565278&zoom=16#map=10/61.5799/28.2610

selection_002

@Gazer75
Copy link

@Gazer75 Gazer75 commented Aug 24, 2015

Maybe giving both lakes and riverbanks a white outline like streams? Doing it for river would not work to well as those can be inside the riverbanks and it would look weird.

@tob2
Even better example are these areas: http://tools.geofabrik.de/mc/#11/70.0354/28.6550&num=4&mt0=mapnik&mt1=google-map&mt2=bing-map&mt3=nokia-map
http://tools.geofabrik.de/mc/#11/63.2033/9.9384&num=4&mt0=mapnik&mt1=google-map&mt2=bing-map&mt3=nokia-map

It's quite noticeable in areas where we have imported landcover data in Norway.

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 26, 2016

I made some basic test with Here color (#99cdfe), because it's the most contrasting one I've found on other maps, so we know the limits of modification:

  1. Blue line in the forest:
    t gb4avv

  2. Lines and areas in the farmland:
    thzwm6aq

  3. Lines and areas in the grass and trees:
    jjeccavi

  4. Warsaw (water areas and lines)
    z9
    ma dfpx_
    z10
    djswvgq8
    z11
    fvna11gz
    z12
    0f5lprxc

What do you think about it?

[EDIT:] The oceans:
8ytjvl1l

@kdudzik
Copy link

@kdudzik kdudzik commented Jul 26, 2016

For me it's a clear improvement, I'm looking forward to it.
Could you provide screenshots of wetlands, whole continents/islands or examples in the referenced tickets like #2098? Maybe the label color needs adjustment too.

@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen matthijsmelissen commented Jul 26, 2016

Looks great to me, much more pleasant.

Maybe we can move the color slightly more towards blue? I have the impression the contrast to the landuse is even too big now.

@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen matthijsmelissen commented Jul 26, 2016

Towards white, I meant.

@imagico
Copy link
Collaborator

@imagico imagico commented Jul 26, 2016

Water color needs to look good in a lot of different scenarios and in a lot of different combinations. I did some tests some time ago and found that it probably looks best if you differentiate rivers/streams, lakes and ocean. This however would require reordering the water layers which in return depends on #1982.

@wmyrda
Copy link

@wmyrda wmyrda commented Jul 26, 2016

I also vote for this change and adding contrast to the rivers. With current implementation it is hardly possible to see rivers. Example in the area http://www.openstreetmap.org/#map=12/49.6382/22.5560 For those that wonder where it is hidden there it is http://www.openstreetmap.org/way/283049525

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 26, 2016

I understand how much testing is needed, because water color is so essential to the map. I started with what I already have on my database and also because this is my hometown, so I can find some places more easily, but it's just a starting point. Please provide some interesting cases around the world to check - and also other shades of blue. I will test as much as possible so we could at least exclude some of them and continue with just a few candidates.

Labels and other water related features (like ferry lines) are the next big thing to test, but we should have some promising water colors first, so I think this is of lower priority for now.

@imagico That's great, could you share some details about what you have found? If reordering the water layers is not too hard, this would be very interesting approach to test. But if it is hard, I would try to improve what we have now with just one universal color, because even this would be a clear progress.

@imagico
Copy link
Collaborator

@imagico imagico commented Jul 26, 2016

Changing the layer order is not hard but requires water polygons and has some further effects w.r.t. landcover rendering that would need to be considered. So the order in which things need to be changed is

  1. water polygons
  2. changing layer order
  3. changing water color
@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 26, 2016

Sure, I meant the whole change - how close/far are we now with 1?

@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen matthijsmelissen commented Jul 26, 2016

I'm not sure if having different colors for rivers and sea would look good in coastal/delta areas. In fact, I highly doubt is.

@imagico
Copy link
Collaborator

@imagico imagico commented Jul 26, 2016

Well, it depends on consistent mapping of course which is currently often not the case, Hen-and-egg problem.

To get an idea of the concept look at the swiss topographic maps:

https://map.geo.admin.ch/?lang=en&X=263820.00&Y=768660.00&zoom=7

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 26, 2016

Light blue (#c6e3ff):
frh5ismw
q48vp1aw
c9 0rrgz

[EDIT:] Also Finland lakes+forest:
tgmxocju

@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen matthijsmelissen commented Jul 26, 2016

Looks pretty as far as I'm concerned.

@rmikke
Copy link

@rmikke rmikke commented Jul 26, 2016

@kocio-pl could you also show Finland with #99cdfe ?

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 26, 2016

Sure:
tvbz6rrq

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 27, 2016

Light blue (#c6e3ff) - more interesting places with remarks, as the color seems to be worth investigating (it fits better our current palette than Here water-color):

  1. Water under ground looks pretty good, it's also different than playgrounds when they're near each other, however we may try to tweak playground color to be a bit more green (less dominating, less similar to water-blue, more similar to other leisure-greens):
    8qdyjezk

  2. Perfect pastel combination with land color, sand and secondary roads, also no need to fine tune admin borders and ferry line:
    avh3uggr

  3. In park the contrast is bit too low - water areas are OK (dark borders would help a lot), but lines are hard to spot (I have no idea what could be done here, but I guess park is pretty safe place and we don't need to make user more aware of it). I also see no big problem with transportation blue (parking) and water labels (however making them bit darker is possible):
    xezomaw3

  4. In the farmland this color is just more acceptable than Here water-color (not that aggresive, yet visible):
    ir0gd7zd

  5. On a scrub it works as good as with the forest (even the lines are perfectly visible):
    jdqaqsc

  6. Works nicely:
    1l7p7ljr

  7. Water lines on residential grey have too low contrast, however after they get wider on higher zoom levels, the problem is slowly going away:
    wrk0gflp

  8. On a grass area water lines are just visible and I find it to be a border case - it is better than on residential and park area, but bit less than on farmland, and much less than on scrub and forest area.
    rrx_qh_d

Do you have any comments or rendering requests?

@mboeringa
Copy link

@mboeringa mboeringa commented Jul 27, 2016

Do you have any comments or rendering requests?

Maybe you could make another example of a typical "Dutch" scene like this one?:
http://www.openstreetmap.org/#map=13/52.2556/4.9789

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 27, 2016

It looks more or less like a grass example to me - you can see there are some water lines, but you have to trace them, because the whole pattern is not clear:
hphhx0h8

One solution may be to make blue a bit darker, so it looks equally good on light (park, grass) and dark (forest, scrub) areas. Current color is so dark, that it doesn't work on dark areas, this one may be too light to be clear on light areas, so I guess there is a sane middle ground between them.

The other one would be to make some outline around (maybe dark, maybe white), but I don't know how to achieve it yet.

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Sep 23, 2016

Could you prepare such code, so I could test this solution?

@imagico
Copy link
Collaborator

@imagico imagico commented Sep 23, 2016

Interest: no more contrasting color between the mouth river and ocean/sea/lake: this is the same water, the division is artificial unless it is marked by an additional visible admin boundary which will contrast by itself on both sides.

Actually no, both ecologically and physically there is a huge difference even if there is not always a sharp boundary. This is no different from any other mapping - be it urban landuse (division between commercial and industrial), roads (primary, secondary, tertiary) or natural landcovers (heath vs. meadow/grassland). Feature classification and the level of arbitrariness involved in it is a central part of cartographic design.

The concept of rendering all water features indiscriminately in uniform color is something rather rare in map design in general, mostly limited to web maps and often motivated by low data quality. But OSM does not need to do this since we have this distinction made in our tagging system.

@verdy-p
Copy link

@verdy-p verdy-p commented Sep 23, 2016

Actually no, both ecologically and physically there is a huge difference

You're wrong on the artififial boudary on river mouths. Actually the ecosystems are based on salinitity level and water depth, but there's NO ecological or physical bump for almost all river mouths and the waters are not separted by a cutting vertical plane but by horizontal planes (whose relative heights varies with tide or meteorology).

What I suggested had the benefit that it would simulate correctly at least the gradual variation of water depth, and would increase a bit the contrast for small water streams (the smallest they are, in fact the more likely they can be dried, but we could also take into account the "intermittent=yes" tag for the color (when the surface is not rendered, for lower zoom the stream is usually drawn as a dashed line, with a contrasting dark color, but this is another thing, here we are speaking about water surfaces).

Note that there should not be huge contrast between large parts of a river and a narrower part (of an upper stream or on some narrow sections). For exceptionnaly narrow sections, these are usually canyons, that have shaped lands on both sides and we sould see the cliffs, tagged drawn and tagged separately.

On large rivers with large areas with very low water depth and frequent natural dams appearing (rocks, trees...) we can also tag these as wet lands, which already have a visual distinction. We also already have a visual distinction for beaches (along seas, rivers or lakes)

And could have also distinctions for low-water sand banks (there are frequently emerging at low tide, or low river regimes), using a much lighter blue, privided they are tagged with relevant polygons.

The concept of rendering all water features indiscriminately in uniform color is something rather rare in map design in general

You're wrong. most maps that are doing it are low resolution maps that simplify things a lot and do not represent rivers as surfaces, but only as strokes (independantly of their effective width). These simplifications are made on old road maps for drivers on very large scales, where cities themselves are not placed exactly and exact road shapes are highly simplified. On traditional maps, there was no color at all, or no distinction of color on this classification criteria.

For ecological maps, the sea/river distinction is not sufficient to be meaningful: we need the water depth and need tag for the type of gound forming the waterbed, and for natural species. This requires much higher precision that CANNOT be reached by existing water=, waterway=, or natural=coastline objects.

I've NEVER seen any map showing a river mouth with contrasting color between what is considered "sea" and what is considered "river", give that this limit is extremely fuzzy and highly variable during time (in fact the river waters are extending far after the coastline and have physical/geological effects on almost all the continental plateau, because they carry lots of sediments and there are differences of water temperature and salinity: it's difficult to determine where a river really ends far away within the sea but it's clearly NOT finishing on the "coastline" determined by mean high water tides).

River mouths have always been very fuzzy to delimit EVERYWHERE, except when there are human constructions (dams, or salt barriers) that we will tag and make contrasting on both side, so there's no real need to separate two blue colors on this criteria.

IF one wants to be more accurate, we could use waterdepth data (just like we have it for lands).

@imagico
Copy link
Collaborator

@imagico imagico commented Sep 23, 2016

I've NEVER seen any map showing a river mouth with contrasting color between what is considered "sea" and what is considered "river"

Then let me introduce you to some:

http://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~225607~5506430
http://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~205800~3002585
http://www.lib.utexas.edu/maps/onc/txu-pclmaps-oclc-8322829_r_24.jpg
http://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~217928~5503987:Northern-South-America-
http://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~225504~5506200:Congo-and-Angola,-Plate-91,-V--IV
http://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~239309~5511726:Schleswig-Holstein,-Mecklenburg-und
http://www.imagico.de/map/pict/water_diercke.png

and as already pointed to above:

https://map.geo.admin.ch/?lang=en&X=263820.00&Y=768660.00&zoom=7

Most of these examples are older for obvious copyright reasons but most of the renowned atlas publishers (like Bartholomew, Andree, Diercke) have maintained the general concept to date.

IF one wants to be more accurate [...]

This is not about being more accurate, this is about producing a map that - in line with the goals of this project - is well readable for the general user and provides useful feedback for the mapper.

@verdy-p
Copy link

@verdy-p verdy-p commented Sep 23, 2016

All your examples are NOT differenciating rivers and sea, what they differentiate is the water DEPTH (that's why seas also have variable shades of blue).

Of course we could get this but we need to map these submarine areas and not just a single flat sea surface. This will require many polygons or integrating a submarine data model.

For now we've not mapped any submarine areas (and we are extremely fuzzy about the real sea/river limits, everywhere in the world).

@imagico
Copy link
Collaborator

@imagico imagico commented Sep 23, 2016

All your examples are NOT differenciating rivers and sea

Then i suggest you look again more closely. In some cases this is somewhat subtle - partly due to the age of the map and the resulting decay of colors in print. But the ONC and Diercke maps are very obvious.

For now we've not mapped any submarine areas

This style renders tidal flats and reefs and with the layer reordering suggested as part of the color change it would also render the submarine parts of beaches and shoals in a distinct form.

@SK53
Copy link

@SK53 SK53 commented Sep 23, 2016

Hmm, not sure that the statement about depth is true. This is Klingnauer Stausee on the Aare just before junction with the Rhine. Note how colour of river is darker above the bridge at Klingnau and below the dam https://s.geo.admin.ch/6e8247f278. This is the same colour difference seen where the Brienzer Ache enters the Bodensee. The two water bodies are very different in depth (note the wetland vegetation on the Klingnauerstausee & depth contours and spot depths in Bodensee).

Can I add another data point to differences in colour too? Ordnance Survey 1:25k maps appear to use #d3e9f6 for tidal waters and #dce8f6 for inland waters. See this spot.

Onto the issue under discussion. I can see that many of the colours discussed may offer improvements; and I personally prefer the slightly more muted ones (having only just read the discussion it's a bit to hard to backtrack & pick out exact colour values).

One point I miss, although it has been referred to in context of current stream rendering, is a casing for other water bodies. Yes, I know that this is difficult to impossible because of riverbank & or natural=water for rivers, but I suspect many rendering problems might be resolved if casings could be used. It's a long time since I last looked at the issue. See also #71

@imagico
Copy link
Collaborator

@imagico imagico commented Sep 23, 2016

Can I add another data point to differences in colour too? Ordnance Survey 1:25k maps appear to use #d3e9f6 for tidal waters and #dce8f6 for inland waters. See this spot.

Yes, in general use of different colors seems relatively rare in large scale topographic maps, partly because these have historically often been produced with a very limited set of colors. But on British maps such differences are made in some cases - also on this older map for example:

http://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~250031~5516745:Sheet-7--Newcastle-upon-Tyne-

One point I miss, although it has been referred to in context of current stream rendering, is a casing for other water bodies.

Yes, this is a possibility. What right now is being used for streams is a bright halo which emphasizes them especially against darker backgrounds. The more common technique for rendering water features is a dark and more saturated outline often combined with a relatively bright fill color.

In general this approach takes more space on the map than a solid color rendering. For roads for example the outlining is limited to the higher zooms because of that.

In addition - and i think this is the most serious issue - this is problematic at coarse scales relative to the level of detail of mapping without elaborate geometry preprocessing. You can observe this with the glaciers for example which are rendered with an outline in this style like here

http://www.openstreetmap.org/#map=8/-49.440/-73.650

where appearance varies a lot depending on the level of detail of mapping - and also latitude with the Mercator projection.

Andy's Landscape style starts with outline rendering of water areas at z9 with - if i may say - fairly ugly results:

http://www.opencyclemap.org/?zoom=9&lat=47.99728&lon=7.37371&layers=00B00

The Outdoors style starts at z12 which is more reasonable for lakes at intermediate latitudes but is also too early for narrow riverbanks and low latitudes. The OpenTopoMap starts rendering at z8 but with a lot of trickery with way_area filtering and fading and likewise not with convincing results. All of these show outlines only for inland water and not at the coast.

In my opinion outline rendering is - if you have neither consistent importance rating data for rivers nor can do quality geometry processing - not something that can be used with good results.

@SK53
Copy link

@SK53 SK53 commented Sep 23, 2016

@imagico Many thanks for the clear exposition, and the many examples of doing this with OSM data.

@imagico imagico added the water label Dec 6, 2016
@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen matthijsmelissen commented Dec 11, 2016

@kocio-pl Do you have a branch on Github in which I can test this? It would be nice to be able to test the effect of work like #2194 and #2454 in combination with the work here.

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Dec 11, 2016

My proposition is technically very simple, so you don't need a branch. 😃 I've just tried to change the color of water.

In general I think of #aad3df for all the water and I'm happy with it.

For midzoom I was rendering water as saturate(darken(#aad3df,30%),30%), but for me that works good only for lines - for water areas I'm not so sure, but that was just a quick proof of concept.

@matthijsmelissen
Copy link
Collaborator

@matthijsmelissen matthijsmelissen commented Dec 11, 2016

My proposition is technically very simple

I know, but still I noticed that having branches ready is very convenient when comparing the interaction of different proposals. This makes it very easy to merge in the new blue colours when working on something else.

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Dec 11, 2016

OK, no problem then, because they are here already:

General water color change (notice also the change of general water labels - 10% darker):
https://github.com/kocio-pl/openstreetmap-carto/tree/water

My changes for midzoom:
https://github.com/kocio-pl/openstreetmap-carto/tree/midzoom

@kocio-pl
Copy link
Collaborator

@kocio-pl kocio-pl commented Jul 31, 2017

Resolved by #2654.

@kocio-pl kocio-pl closed this Jul 31, 2017
kocio-pl referenced this issue Sep 1, 2017
This PR changes the following:
* Landcover in z<12 is now less bright.
* Built-up landcover areas are now rendered more prominently in z<12.
* Unimportant roads are now white rather than gray.
* Water is now a brighter blue (thakns @kocio-pl).
* Low/midzoom roads are now rendered with bright halos.

This should improve the legibility and esthetics of the map. In particular:
* Roads, esp. primary roads, are now better legible on zooms 8-11
* Water areas are easier to recognize
* Minor roads on mid-zoom levels are rendered more clearly
* Residential areas are more prominent and easier to recognize
@jeisenbe
Copy link
Collaborator

@jeisenbe jeisenbe commented Oct 10, 2019

This problem is still present with rivers on forest, especially at mid zoom levels (z13, z14) where the river line is narrow and there is no lighter casing, but it will be improved or perhaps resolved by #3930

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

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.