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

Skipping parts of bigger objects on lower zoom levels #2896

Closed
kocio-pl opened this issue Oct 15, 2017 · 8 comments
Closed

Skipping parts of bigger objects on lower zoom levels #2896

kocio-pl opened this issue Oct 15, 2017 · 8 comments

Comments

@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 15, 2017

Is it possible to skip rendering parts of bigger objects on some zoom levels?

I meant well mapped cases like:

  • paths belonging to cemetery (like here - it's rather red than green, especially when comparing with another cemetery on the south):
    screenshot-2018-1-8 openstreetmap
  • grass belonging to a park or a hospital (like here - there's almost no visible yellowish background, but on z14 it should be rather visible instead of grass and park)
  • shops inside a marketplace (see Marketplace rendering #2893 (comment))

I doubt in any special tagging, it would be good if the software would be able to make "hard" priorities for some areas, but maybe using relations would be the most reasonable way to recognize parts in general. Would it work within our current toolbox?

@kocio-pl kocio-pl added this to the Bugs and improvements milestone Oct 15, 2017
@kocio-pl kocio-pl changed the title Skipping parts of bigger objects on higher zoom levels Skipping parts of bigger objects on lower zoom levels Oct 15, 2017
@kocio-pl
Copy link
Collaborator Author

Two partial solutions to make some areas more visible:

  1. We could hide all the small parkings (=when they don't show the letter). Testing shows that with gray color they become unobtrusive, but they still take some space on areas like hospital, so such area is less visible than it could be.

  2. Wikimedia maps use interesting approach: if there are some buildings on the colored area, they are colored the same, but darker up to z17 (on z.max=z18 they look like all the other buildings).

Examples:

I haven't yet look how it's done and if it's possible for us to do the same. The other problem is that we use dark violet for other features, so buildings on industrial area would look to close to them. However for societal amenities, commercial and garages this would help.

@matthijsmelissen
Copy link
Collaborator

if there are some buildings on the colored area, they are colored the same, but darker up to z17

This is the same approach as Google's.

The problem is particularly important for landuse=retail: the retail color is generally not visible, because retail areas in Europe tend to be very high densitiy areas. Example: https://www.openstreetmap.org/#map=16/52.0774/4.3125

@kocio-pl
Copy link
Collaborator Author

kocio-pl commented Nov 14, 2017

I think it's also important for schools and hospitals, because we use very pale color there.

I guess it's this code:

https://github.com/kartotherian/brighmed/blob/master/building.mss

@jeisenbe
Copy link
Collaborator

"The problem is particularly important for landuse=retail: the retail color is generally not visible, because retail areas in Europe tend to be very high densitiy areas."

I agree with this! It's also true in mid-sized towns and villages here in Asia, where retail areas often have 90% building coverage of the non-street surface area.

As a start, rendering retail buildings as a darker version of the retail landuse would be a nice test for this concept, especially since retail areas are the most important destinations for visitors and new residents. (The OsmAnd app already offers this as an option with their vector-based maps, and it works well)

@Tomasz-W
Copy link

@kocio-pl I think #3467 resolved this issue.

@kocio-pl
Copy link
Collaborator Author

Unfortunately there's no easy way to tell "now hide the grass and show the hospital area", even on z13.

@jeisenbe
Copy link
Collaborator

I don't believe there is a reasonable way to solve this issue with the current tools, so I'm closing this issue.

However, if I'm incorrect I would be happy to reopen the issue.

Is there a way to avoid rendering footways in a cemetery, shops in a marketplace, or grass in a hospital or university at a certain zoom level (but still render paths, shops and grass which are not inside of these areas), with performance good enough for this style?

@kocio-pl
Copy link
Collaborator Author

kocio-pl commented Sep 10, 2019

What about SQL/PostGIS functions to check conditions like below (using pseudocode)? I imagine it might be quite fast:

SELECT grass WHEN not INSIDE (hospital_area OR school_area) 

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

No branches or pull requests

4 participants