-
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
Improve mid-zoom levels and water color #2654
Improve mid-zoom levels and water color #2654
Conversation
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
I decided to lump these changes together as they (at least partially) depend each other. Note that I used opacity for the landcover layer, to prevent duplication and dim the landuse colors in a uniform manner. This should not lead to problems with ugly colors as the landcover layer is the lowest layers on the relevant zoomlevels. On the lowest zoomlevels, not all colors can be easily distinguished. In general I think using undistinguishable colors is a bad design practice, but as users in this case can zoom in to get more information, I don't think it's a big problem in this case. I'll post some screenshots, but for a good impression it's really best to checkout the change yourself. @pnorman Do you have the opportunity to load this branch into your tile server? |
@pnorman Should I worry about the failing travis? |
I have not tested this change yet so no comments yet on the actual design but a few general remarks here. This is a big change in several ways:
For info: after the 4.0 release has settled and been deployed i was planning to look into #2507 again and the changes that would be required to do this as well as looking into possibilities of low zoom landcover rendering (z<6) - without a fixed time frame, just this being high on my priority list. My idea was to split this into smaller changes as much as possible, re-ordering the water and landcover layers would be the start and actually changing colors would have been the last step to be made when it could be evaluated in full (including the low zoom levels) and when all options are actually available (including differentiating water color by waterbody type - which is not possible at the moment because of the drawing order). |
Good points @imagico.
No, this is not true as transparency is applied at layer level, not feature level (transparency instead of polygon-transparency property). |
Ah - sorry, did not realize that. I assume though the point about overlap with ocean still stands - this being in a different layer. |
The Travis error is due to a problem with mapnik-reference which is fixed in mapnik-reference 8.7.0 and carto 0.18.1. |
All right, i tested the change in a few areas and here a few more specific comments design wise. I have not yet formed an opinion if i support this change overall or not, will need to contemplate it somewhat further first. The change can essentially be split into two separate changes: the change of the water color and the low zoom land cover and roads changes. At z13 and above the change essentially amounts to only the water color change. water colorThe suggested water color is the same as the lakes color in the three color scheme i showed in #1781 (comment) - so my comments here essentially match the impression i had when working on that. This color works nicely on lakes of intermediate size in combination with the current land cover colors. It is a much stronger blue tone than the current water color but the same lightness (see http://davidjohnstone.net/pages/lch-lab-colour-gradient-picker#b5d0d0,aad3df). This makes it IMO somewhat strong for very large water areas (which is why i suggested a weaker color for the ocean) and at the same time does not really solve the problem of bad visibility of small waterways in very structured environments (which is why i suggested a stronger color for rivers). For the suggested weaker mid zoom colors i think it is too strong for the ocean leading to an overall unbalanced appearance in coastal areas and with islands. weaker landcover colors at mid zoomI think except for the previously mentioned problem of too strong large water areas when looked at in isolation the proposed look for z11/z12 looks fairly nice as a map style with strong focus on settlements and roads at mid latitude in temperate zone climate with landcover mostly limited to grass/wood/farmland. In areas with more diverse landcover or with a different landcover focus (like in the subtropics with farmland, grass and bare ground types dominating) as well as at z10 and below the coloring is no more differentiable though. I find overall wetlands over land are too strong with this change at the mid zoom levels and would need to be faded in a similar way as landcovers, however wetlands over water and reefs should probably not be faded with the water color proposed. ;-) the dark builtup areas and the bright minor roadsI think these are both ideas that would be worth pursuing independent of the other changes suggested. These would also be changes that are not as fundamental departures from the current design as the other changes. The dark urban landcover color for z12 and below kind of makes sense to darken the urban landcovers at the point where buildings are no more rendered. There are some problems with this, like the contrast between the dark color and water being much worse than with the old light color. |
Thanks for the thorough review! I will address your points after we have a worldwide rendering example. |
We could test mid zoom colors also on high and low zoom levels. This would make the change even bigger, but it would be good for me to redesign these colors consciously and transparently. Original design was not documented nor really discussed later, we just assume it's somehow proper, which makes me uncomfortable when talking about changes. |
I tried this for high zoom levels, but the results didn't look satisfactory to me. On low zoom levels we don't have landcover. |
Most of the colors of the landcover layer have been changed at some point in the past during the history of this project. Even for those which are unchanged for a long time possible changes have often been discussed in the meantime. |
@pnorman Do you have the chance to deploy this PR on your server? It is compatible with the 4.0 database layout. |
Travis should be OK now. I would be also interested to see bigger area rendered, I like the idea to preview it live - Paul, what do you think about testing it? |
As @pnorman hasn't responded yet, are there others who would be able to check how this looks in their area? |
To avoid confusion with the samples and the PR description - this change modifies landcover colors up to and including z12. |
I find z12 too dark between the roads when viewed at full size. |
Thanks a lot for the rendering examples! Do you also have an example where we render landcover over oceans? |
I'm not aware of such place, but I can render it too if somebody would show me where is it. |
Thank you for all feedback. Most of the remaining issues are things I don't intend to resolve now. Some specific comments:
We have been working on this PR for more than a year. Constructing a long-term strategy first and then designing a stylesheet that adheres to this long-term vision across all zoom levels would likely take multiple years. And usually the best way to find out what works is to try it out, so I don't think constructing a vision without testing it in practice works either. So I think we can do much better than the current system, even it that involves undoing changes sometimes.
This is really not the open-source way of doing things, I would really encourage you to make contributions whenever you feel like, and not to worry about somehow disrespecting the vision of others. In any case I'd encourage you to create more pull requests, concrete code makes discussing things much easier.
Yes, we gain a lot in legibility at the cost of some mapper support. See also the analysis of @kocio-pl.
It is not only settlements and roads that are more legible now. Mid-zoom landuse was so prominent that it made everything that is not landuse hard to read, including rivers, toponyms etc. But I agree that we should not make the map too road-centered. In the future I hope to tone down roads on the lowest zoomlevels.
True, on low zoom industrial landuse is rendered like urban landuse while railway is not. This seems acceptable to me.
Yes, we might need to change the quarry color. I think we can do that as a change separate from this PR.
What we do in this proposal is move the landuse lightness towards the lightness of the background. As far as I'm concerned, this looks good - perhaps even a bit better than the mixing solution, as keeping saturation a bit higher makes it easier to tell the dimmed landuse colors apart.
It's something to keep in mind, but to me the contrast is currently strong enough. Let me know if I forgot to respond to any comments. |
I was not aware of that - who is 'we' here?
May i remind you that this project - and in particular also this PR - is not primarily a software project but a cartographic design project. Divide and conquer is a very successful concept in software development but it does not really work that well in design.
I don't think you forgot to respond but as said before i am seriously missing counterarguments against most of the reasons i put forward why i think the landcover fading is a bad idea. The only real argument i have seen for the landcover fading is improving visibility of the non-landcover features (which as said is trivial but which does not mean the same improvement cannot be accomplished by other means). Beyond that legibility and clarity would suffer because (a) landcover information is missing or badly readable and (b) because the changing meanings of colors and the changing color relationships make reading the map much harder. Reading colors strongly depends on context and color interactions and if you change the context by fading some colors while keeping others the same the map reading process gets all messed up. You would essentially have to learn reading the map separately for each of the fading steps. I did not see any evidence at all that this change improves on our goals of maintainability, diversity, mapper support and map richness and i explained in detail why i think these points would suffer. But i of course understand i cannot make you see the points i see - even if in some cases i even put them into numbers. So in the end i suppose we can only agree to disagree on a fairly fundamental level in this case. And independent of the question if this PR is actually an improvement or not and if it is merged or not i fear that our inability to actually substantially communicate about the issues seen prevents us from developing a better solution. |
Don't underestimate it. It's a complex software project, even if we're just counting the LOC. I can easily design a killer feature like switching map language, which would hugely improve diversity, but deploying it would require big changes in the software.
Please remember that it was not always this way, top-down approach was once standard in software creation too. But with complex projects (like this), evolving data and even data models, it performs poorly. That's the reason bottom-up approach is getting more traction. With accessible tools and more people interested in the subject, map designing is no different and OSM is the game changer on this field.
I don't remember other means you've ever mentioned. What would you propose then?
That's the point: changing zoom level changes the context in a fundamental way and legibility/clarity is not a property of just landuses. Fading is a natural thing for me when zooming out, I don't have to learn anything. It's much more natural than disappearing features. Currently on midzoom landuses are too strong (legibility and clarity of line and point features suffers a lot) and on low zoom they are invisible (so the roads are dominating z5). Fading allows us to solve both problems.
In my opinion it greatly improves overall legibility and clarity (I don't know why you're talking only about landuses legibility and clarity - the map has more elements, why are you not mentioning them?) and map richness is preserved.
Please, propose some other solution if you have one. |
This PR changes the following:
This should improve the legibility and esthetics of the map. In particular: