Determine features' visibilities by their priorities, size and the current map density (not pre-defined zoom levels) #6330

Open
opened 2023-10-17 16:42:55 +00:00 by pastk · 4 comments
Member

ATM a zoom level when a feature appears on the screen is "hard-coded" in styles.
However it might appear later if:

  • there are more important POIs around and not enough space to display all of them (a lower priority POI gets "displaced")
  • an area / polygon feature is deemed to small to be displayed (e.g. very small buildings disappear before big ones when zooming out)

The idea is to rely more on the "displacement" and "size filtering" a-like approaches as they allow visibilities to be adjusted to particular places / situations better.
E.g. why make a very big hospital area fill to disappear at z13? Or supermarket's icon not shown at z15 even though there is nothing else around?

  1. Overlays (icons, captions....)
  • make all overlays z10- (or some reasonable min-zoom value, e.g. if we don't want to see a trash can at z10 even amongst a desert)
    • could be defined in styles or hard-coded (e.g. use drule from the closest defined zoom level)
  • in any case we need to add small -s icons for all feature types that have -m icons only ATM
  • probably define hard-coded icon-min-distance values for lower zoom levels, otherwise at overview zooms in the cities the map will be densely packed with icons #10064
  • and/or develop more sophisticated "dynamic density" controls #6223
  1. Areas
  • similarly, make all areas z10- via styles or hardcode (see #2856 as an example)
  • the existing "size filter" should work well for most cases
  • but still there might be cases with e.g. many small forest patches making the map hard to read, then a more sophisticated solution will be needed #6223
  1. Lines
  • at the moment we don't have any solution to adjust lines visibilities
  • so need some kind of density control #6223
  • a "too short lines filtering" algo will help in some cases also (e.g. filter short yard-crossing paths in the cities), it'll help with making a world map look better too, see #5655
ATM a zoom level when a feature appears on the screen is "hard-coded" in styles. However it might appear later if: - there are more important POIs around and not enough space to display all of them (a lower priority POI gets "displaced") - an area / polygon feature is deemed to small to be displayed (e.g. very small buildings disappear before big ones when zooming out) The idea is to rely more on the "displacement" and "size filtering" a-like approaches as they allow visibilities to be adjusted to particular places / situations better. E.g. why make a very big hospital area fill to disappear at z13? Or supermarket's icon not shown at z15 even though there is nothing else around? 1. Overlays (icons, captions....) - make all overlays z10- (or some reasonable min-zoom value, e.g. if we don't want to see a trash can at z10 even amongst a desert) - could be defined in styles or hard-coded (e.g. use drule from the closest defined zoom level) - in any case we need to add small `-s` icons for all feature types that have `-m` icons only ATM - probably define hard-coded icon-min-distance values for lower zoom levels, otherwise at overview zooms in the cities the map will be densely packed with icons #10064 - and/or develop more sophisticated "dynamic density" controls #6223 2. Areas - similarly, make all areas z10- via styles or hardcode (see #2856 as an example) - the existing "size filter" should work well for most cases - but still there might be cases with e.g. many small forest patches making the map hard to read, then a more sophisticated solution will be needed #6223 3. Lines - at the moment we don't have any solution to adjust lines visibilities - so need some kind of density control #6223 - a "too short lines filtering" algo will help in some cases also (e.g. filter short yard-crossing paths in the cities), it'll help with making a world map look better too, see #5655
Author
Member

mentioned in issue #6578

mentioned in issue #6578
Author
Member

mentioned in issue #7446

mentioned in issue #7446
Author
Member

mentioned in issue #8171

mentioned in issue #8171
Member

mentioned in issue #6795

mentioned in issue #6795
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: organicmaps/organicmaps#6330
No description provided.