-
Notifications
You must be signed in to change notification settings - Fork 819
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 ocean and seas differently than fresh water #3895
Comments
How do you expect to achieve this? |
Rendering oceans in a different color and moving water areas back above oceans would work, but this conflicts with the first point: "The location of the natural=coastline should be clearly visible to provide good mapper feedback" - that is more important, so I believe the oceans polygons should continued to be rendered above the other water areas. |
What about salty lakes? https://en.wikipedia.org/wiki/Salt_lake#List |
See issue #3893 about rendering lakes differently when tagged with
`salt=yes` - I agree this is also a good idea to consider at the same
time.
|
The initial idea took me by surprise, I was not aware of such cartographic tool. I also have a problem with the ocean color proposed by @imagico, because it is both different shade of blue and looks too pale for me. When discussing possible salt lakes rendering (#3901) I started to see that if we use just a lighter blue which is similar to the salt lake (standard water blue with white dots), it sounds more acceptable for me. The salt lake rendering is not yet decided, but this way or another this would be good to have more or less uniform rendering for all the salty waters. Another problem for me is rendering of a verge. It looks artificial and unpleasant for me to see hard line between two water colors. Is it possible to use some gradient at the borders of the ocean, for example? |
The proposed color for seas (left) is still quite similar to the current water color (middle): Compared to the printed maps above, which use much darker and more saturated blue for rivers, and very light blue for coastal sea waters, this is a subtle difference. Test images with 3 colors: z12 Bremen after - without landcover fading, and with 3 different colors for ocean vs river vs lakes, and a 1 pixel wide outline around the ocean polygons. (e.g. After PR #3670)
Yes, see #3854 (comment) - we can use a gradient if we use |
I would like to see how it behaves at Rio de la Plata's mouth: https://www.openstreetmap.org/search?query=rio%20de%20la%20plata#map=8/-35.142/-56.743 |
I'd like to spot on the corner cases, where waters have long verge - for example here I can't say it's a gradient (Amazon z6, 1 px example), it's not even close, looks to me like an artificial "barrier", and on high enough zoom level (like z9+ - https://www.openstreetmap.org/#map=9/0.0824/-49.2119) this problem will become evident: I'm also skeptical if it would work with vector version. BTW: are there any online maps example of water color mixing? |
That example from the mouth of the Amazon is based off of old shapefiles and different layering. The current plan is to render the oceans above rivers and lakes, so any areas that are tagged as both river and coastline (like the mouth of the Amazon and some other major rivers) would be in ocean color; this looks better and gives better feedback about the coastline transit position across the river or estuary. There shouldn't be any issues with adapting this to vector tiles: the inland water areas and river are rendered separately either way, and the "gradient" would be produced by overlapping lines, which is compatible with vector or raster tiles. |
Re: Rio de la Plata's mouth - that's a politically-fraught tagging issue, which might be exposed by this change - for example, the location of the coastline here does not seem very reasonable: https://www.openstreetmap.org/#map=13/-36.2987/-56.7912. We could choose to render |
I don't see what's the problem, but mostly due to ignorance. Can you explain the issue? |
I don't understand why it should look better and how the feedback would be better then? Simple example would be helpful. But my main problem is still here - water is a fluid and usually has no sharp borders, so I would expect soft gradient between different water shades. I have a suspicion, that "different colors for waters" technique is a legacy - I guess it's meant for low zoom printed (fixed scale) maps. That's why I'm asking if there are online maps that use it too. When the verge is small, it's strange, but passable that there are visible water junctions. Zoomable maps show this deficiency pretty clear, so a proper use of gradient is important. |
It looks like German fork has already deployed 3-color water scheme, so it's easy to test. Here are the most obvious problems with verges (Amazon delta looks like tagged different, so the difference is softer, still a strange line is visible) - on higher zoom levels there will be more of them: |
@kocio-pl - i am not sure what your main statement is here.
In my eyes the samples you show mostly indicate something quite obvious: If we start using more differentiated rendering of waterbodies this will look less than ideal in areas where quality of mapping these differences is low. That is expected and is IMO also desirable because that is how mapper feedback works. Cartographically arguments can be made for either differentiated rendering or uniform rendering. But in my eyes it is quite clear that for the mapper feedback goal a differentiation would be beneficial. |
My main problem is sharp line between the waters, which is a pure artifact of the used model. Solution for this might be different - not using different colors, soft gradients, maybe smaller difference between the colors (luminescence only without changing shade)... I currently research the gradient solution. |
Since we have no other case in this style IIRC where a mapped geometry is deliberately blurred in rendering i am not sure if such thing is desirable. @jeisenbe looked at methods for highlighting the edges of water areas in rendering and this might also affect how the edge between different waterbody classes is rendered but in general for precise mapper feedback on accurate placement of geometries we don't want to deliberately disguise the position of geometries. I am also not aware of any other maps that differentiate waterbody classes but render a kind of gradient between them. |
I start with an intuitive and readable map concept here. Water junctions are purely virtual feature most of the time. If we would insist on showing water borders, we should also do it on showing water dots and water lines on the river beds in a different color, because it's also technically more accurate, but counterintuitive in reality, because we don't have proper model for that. For me it would make map less understandable and more analytical, which belongs to editors and QA tools. |
I strongly disagree with the notion that mapping and display of semantic differentiation of different types of waterbodies is non-intuitive or bad for map readability. You can find lots of examples of maps making such a differentiation - above and in #1781 (comment). We have a proper model for modeling that in OSM and this is actually used with diligence in most cases. Performing world view maintenance for all the data users of OSM data who think water is water and can and should only be rendered in one plain uniform color in maps is not our task here. |
OK, I already perfectly understand you disagree. But until now you did not answer any of my specific objections, so here they are:
|
I am sorry - what are water dots? I assume with water lines you mean waterway lines - those would obviously be rendered in river color (potentially further differentiated by natural/artificial and permanent/intermittent).
This issue is about differentiating ocean and inland water areas. Such differentiation is not rare at all in maps. But i don't really think this is a line of argument we want to follow - by that reasoning the >250 different point symbol types we render are absolutely exceptional and we therefore should remove most of them.
You seem to reject the idea that there is a reasonable distinction that can be made between different types of waterbodies in cartography (which is why i asked you if that is indeed the case - see below). Semantically differentiated rendering of waterbodies is almost non-existent in OSM based maps because OSM-Carto does not do it and other map styles necessarily adjust to the smallest common denominator. Google and Here do not differentiate either because their data sources do not make such distinctions and it would be costly to change that. And since these map massively focus on human rather than physical geography they don't want to bother. In other words: It is not a cartographic decision, it is an economic decision.
I think i already pointed out that i think differentiating rendering of 2/3 of the earth surfaces instead of blanket rendering in a uniform color does not negatively affect map readability when done in a way that works harmonically with the rest of the map.
I do - this is not a problem, at least not any more than differentiating between natural=wood and natural=scrub, landuse=residential and landuse=commercial or similar. Note you have not answered my two questions above in #3895 (comment). |
I don't understand what do you mean by mapping consistency?
No. It is only about how to show them. |
I mean that you might think that mappers use the different taggings which we might want to use to differentiate rendering too arbitrarily for us to be able to provide productive feedback and create a useful map. The samples you posted seem to indicate you are dissatisfied with the data quality - some of them obviously show bad quality mapping - and i wonder if you might think this is representative for the data quality in general (which i don't think it is - but you might have a different impression).
Do you have any method of rendering (either in some other map or something you create yourself) that you would consider a suitable method of showing these differences? |
Maybe I should start from basics, because I have the impression that we start wasting time discussing things which we might already agree in general:
It's OK that some other maps use sharp water borders - from the examples it seems they have their own set of conditions which make it more acceptable, like fixed low/medium scale (joinings are small), area with no big estuaries (like Switzerland) or very limited color space (maybe budget printing solution or high contrast required), which is just not the case in OSM Carto. Is there anything you agree on here, so we can skip discussing it? |
I quite definitely do not want to discuss the best methods to represent the physical geography of the world in data form here. If we like how things are represented in the OSM database should not be an issue as long as things are mapped in a verifiable and consistent form (which as i explained i think is largely the case here). I miss this in your considerations - you seem to mainly focus on how you would like to draw a map independent of how things are mapped in OSM. So maybe consider the following question: If you think differentiated rendering of waterbodies is desirable to have (which seems to be the thing we agree on) how would you like to see them rendered considering the tagging and mapping practice in OSM and the goals of this project? |
OK, I already said it in the last bullet point I gave. I think the goals are essentialy the same as with sharp lines, it just adds something more, which is missing for me. |
Well - if you have a specific idea for styling i would like to see it but as said before i kind of have the impression that disguising the exact location of a classification boundary as positioned by the mapper is a bit at odds with the goal of providing constructive feedback to mappers. I mentioned in a different context in #2138 (comment) that rendering line/polygon geometries in a way that allows mapper to verify exact positioning of the geometries is important. This is in particular significant in cases like here where exact mapping, in particular without gaps, is of fundamental importance for most data users. |
We want to add a pattern for salt lakes only, since these are rare in most places and just using the lighter color will not be very obvious, though it would still provide some mapper feedback.
At low zoom levels the oceans take up a large portion of the screen, including at z5 where visitors to openstreetmap.org first start.
Rivers are still thin when mapped as lines even at high zoom level, and the forest color is darker then, so the problem is still there. Also at higher zoom levels the need for mapper feedback is more important so we should be willing to have stronger contrast - that's why we render so many different icons in lots of different colors at z19. |
OK, I believe you are saying that the problem is not in the data (though they examples you have shown also have data problems due to imperfect mapping), but the main problem is with the openstreetmap database model or schema: it's a vector database, so all features are made of nodes and ways: straight lines and points. This problem is not just for rivers. Transitions between woodland and scrubland or grassland are sharp lines in openstreetmap but are rather fuzzy in the real world. Perhaps we are just already accustomed to this with landcover? It's certainly reasonable for database users to modify the OSM data to make it look more naturalistic. Many styles, like opentopomap and openscyclemap, have waterway=river features render as smoothly curving lines, for example, since rivers normally curve rather than having straight segments. However, this style has previously rejected such postprocessing of the data, because mappers use this style for feedback on their mapping. If we modify the geometry of river areas or lines to make them appear more natural, this will impair mapper feedback. We wouldn't use curving lines for woodlands, even though that wood be more realistic. What we can do it use a 1, 2 or 4-pixel outline for the oceans, with 2 different colors, transitioning from This makes the effect a little more subtle but still makes it clear where the |
I know that. This is what I would like to test also on the oceans when ready. I don't know if this test will prove it good or bad.
Sure, but it does not change what water type is common when viewing the map.
I don't agree with that. The river is wide enough that I can say that the problem is gone there. It's easy for me to distinguish special buildings from the others after they are progressively muted, exactly because bigger area amplifies the differences which are too small when showing smaller areas. Otherwise, why have you changed that? |
In #3896 (comment) @kocio-pl says:
That was comparing the proposed ocean color to the proposed slightly darker/more saturated water color and the darker/more saturated river color. Please explain what it the technical problem with the color. Consensus-based decision making means that we don't make decisions based on our preferences, likes or dislikes, but based on specific issues and problems with the proposed solution to an issue. See #2436 (comment): "Coming to consensus is when everyone (including the person making an objection) comes to the conclusion that either the objections are valid, and therefore make a change to address the objection, or that the objection was not really a matter of importance, but merely a matter of taste." Note: the proposed @ocean-color: |
I guess we are, but this is my after-thought. With water this is evident for me.
As I mentioned, we already heavily modify line with (for example) steps and roads on high zoom levels. In both cases the original line is completely invisible.
In your examples only the water/land difference is visible, with the exception of z6 Amazon 1px, which does not look like a transition for me. |
We changed Recall that I wanted to just make them lighter at all zoom levels originally, and I compromised by keeping the darker color at low zoom level based on your preference. I would have preferred to only have major-buildings darker at z14 only (where other buildings are darker, since there is no casing), not at z15. See #3695 - title is "Lighter major building fill and outline". However, I'm willing to compromise on minor things like this. |
I don't remember this, sorry. However the outcome is incredibly good for me, and really I had to check that - perceived color for special buildings looks to me as the same on all the zoom levels! That's because the area is different. |
The center of the steps and the center of the road line precisely follows the location of the line in the database. At high zoom levels (eg. z19) this is obvious: you can see that road curves are made of straight vectors between nodes, unless mappers have used a very high number of nodes for the curve. Similarly, it would be fine to add an outline to the coastline. For example, here this makes the transition from river to ocean less abrupt. But the geometry would still be clear, just like how a road still shows you where the nodes are located (at the centre). I'm afraid that none of the previously ocean outline examples that I've shown has been very helpful for this. Since no one commented at the time, I had not been working on the gradient idea. I can show some examples if you'd like, but recall that using the gradient requires implementing the |
Yet this center is what you have to imagine yourself - it's not there and there are more lines which are not in the database instead. Also when the road forks, it's hard to find exact location of this node just by looking. I don't propose variable/random gradient or anything like that, they should imagine the middle line themselves too. |
Here are examples that show how subtle the change is between the current water-color and the proposed ocean-color: z10 Riga, Latvia currentz10 lighter ocean-color plus new water-color (1 point lighter, 2 points more saturated)
z10 with #3896 - three water colors z13 Daugava river mouth beforez13 lighter ocean, new water-color z13 with 3 water colors (rivers darker and higher chroma too) The most notable change is the darker, higher chroma (more saturated) rivers, which are necessary due to issue #3896 - the ocean color change is pretty subtle compared to the current color. It's the changes to rivers that make it noticeable. |
Following-up, here is another style that shows oceans differently than rivers/lakes, though in this case the oceans are more saturated and a little darker, oddly: OPNV-karte (public transport) That style also uses rather dark woodlands |
Just as a reminder: The three water colors of the ac-style were designed for a somewhat different color environment in several aspects and i also tuned them after some time after getting rid of the blue transport symbol color - which previously formed one of the main constraints in color choice. These colors are not necessarily the best choice here in the current color design situation. I would very much welcome any tests trying different colors. But i am also pretty sure this is much harder here now than it is in the ac-style because of the landcover color fading and other design choices creating a much more complex environment to adjust colors to. One constraint of course always is that using different colors only makes sense if they are clearly discernible in rendering. |
Thanks for the reminder, @imagico. I was thinking to propose my set of colors, but @jeisenbe was fast as always and with #3896 (comment) it looks much better for me. Of course on small area samples with no common borders they look more similar than in reality, when areas can be much bigger and there are multiple water junctions: Together with 3 px ocean gradient outline it is the minimal set that would meet my needs. This is just a quick look and there can be some tuning, but at least it's very promising. Referring transport map water rendering: it is distinctive and brave set of colors, but it reminds me Comic Sans font - it is also like this, but I would not use it for anything neutral, mainstream or standard. |
OK, I will submit a PR to just add |
Another note here: The color scheme chosen in the ac-style is based on a linear progression of colors with ocean and river having twice the difference as ocean and lakes/lakes and rivers. You could try to use an equidistant set of colors where all three colors are have approximately the same difference to each other. But that could be less intuitive overall. |
@kocio-pl wanted a reminder of the reasons for showing the sea differently than lakes and waterways - see comment in closed PR #3930
Looking back at the comment above, I'm again confused how we lack consensus on this issuse; #3895 (comment) "I was thinking to propose my set of colors, but @jeisenbe was fast as always and with #3896 (comment) it looks much better for me. ... This is just a quick look and there can be some tuning, but at least it's very promising." That comment was why I submitted PR #3930. I don't understand what changed since then. |
Oh, also,
|
Expected behavior
natural=coastline
should be clearly visible to provide good mapper feedbacknatural=water
polygons over the oceans to render labels for seasActual behavior
natural=water
are the same, some mappers tag areas of seas withnatural=water
to get a label rendered.See Also #3893 - rendering salt water lakes differently
The text was updated successfully, but these errors were encountered: