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

Inconsistent initial zoom level for built-up areas and different landcover types #3980

Open
jeisenbe opened this issue Nov 27, 2019 · 5 comments

Comments

@jeisenbe
Copy link
Collaborator

Expected behavior

  • All landcover types which can be moderately large area should be shown at the same initial zoom level

Actual behavior

  • Farmland, Large vegetated areas such as forests, and potentially large non-vegetated areas such as sand are rendered as soon as z5
  • But the main built-up areas are only shown at z8 (landuse=residential, landuse=industrial, landuse=commercial, landuse=retail)
  • Some potentially large built-up areas are only shown at z10 and higher (for example landuse=railway)
  • Two types of industrial landuse are (potentially) shown from z0 with @industrial-fill color rather than @built-up-lowzoom: man_made=wastewater_plant and man_made=water_works

Links and screenshots illustrating the problem

Moscow, z8:
https://www.openstreetmap.org/#map=8/55.710/37.614

  • Built-up areas in gray
    z8-moscow

Moscow, z7:

  • Woodlands, meadows and farmland are shown, but not built-up areas:
    z8-moscow
@jeisenbe
Copy link
Collaborator Author

It should be easy enough to agree on solving the issues with landuse=railway, man_made=wastewater_plant and man_made=water_works, by rendering them the same as landuse=industrial at low zoom level (that is, with the @built-up-lowzoom color and the same initial zoom level).

What requires discussion is how to solve the issue with different initial zoom levels for built-up areas and other landcover.

  1. Change built-up areas (e.g. landuse=commercial) to render in @built-up=lowzoom color as soon as z5

  2. a) Step 1: Change all landcover areas to render from z8 only - this was the previous rendering rule, before PR Showing natural areas on z5+ #3458 one year ago. Note that this PR did not really get consensus, see Showing natural areas on z5+ #3458 (comment)
    b) Step 2: Use a method similar to the French fork (generating a background raster image for low zoom, eg z3 to z9, based on z10 or z12 data) to show landcover at all zoom level with less rendering artifacts than currently.

I would prefer option 2 in the long-term, but I'm willing to do either option right now to fix the currently inconsistent rendering.

@imagico
Copy link
Collaborator

imagico commented Jan 13, 2020

Any work on landcover rendering at the low zoom levels should also take into account #3534.

Also relates to #3670

@jeisenbe
Copy link
Collaborator Author

Would you support 1. or 2. above? The link to #3534 (Slow rendering on low zoom ) suggests going for option 2, perhaps.

@imagico
Copy link
Collaborator

imagico commented Jan 13, 2020

I would very much support not having a zoom level cutoff in landcover rendering but the technical constraints of our toolchain make it somewhere between hard and impossible to do this in reasonable quality and efficiently.

2a seems fine to me, 1 would require a look at performance (i.e. solving #3534) and 2b as usual is a larger endeavor that is hard to do with volunteer work.

@jeisenbe
Copy link
Collaborator Author

A third option would be even more technically complex but might provide the best visual results and flexibility:

  1. Render low zoom landcover and water areas with a different renderer optimized for handling small polygons, then combine this with the current tiles for mid and high zoom levels. This solution has been demonstrated - http://blog.imagico.de/on-basic-small-scale-landcover-rendering/ - "the landcover and water areas are rendered using a supersampling approach" - but I believe it is not ready for deployment without a good deal of work, and adding an additional rendering application to the tool chain would be a major change to this style.

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

No branches or pull requests

2 participants