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

Improvement of image layer level of details calculation #60

Open
ComBatVision opened this issue Jul 10, 2019 · 0 comments
Open

Improvement of image layer level of details calculation #60

ComBatVision opened this issue Jul 10, 2019 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@ComBatVision
Copy link
Member

ComBatVision commented Jul 10, 2019

Description

Current approach of details control in TiledImageLayer is based on camera distance to surface and horizontal field of view, but it does not provide stable pixel density of tiles comparing to monitor pixel density (as it usually appears on 2d maps).

I propose to make needToSplit approach from MercatorTiledImageLayer a default approach for any TiledImageLayer. Also I propose to refactor camera calculations to use vertical field of view instead of horizontal.

Actual behavior:
When you resize WordWind window horizontally tile level of details remains unchanged, but from user perspective every tile become using more or less pixels on the screen, because overall window width become wider or narrower displaying the same amount of tiles. This cause tile surface text and other tile elements to have different size depending on window size. Sometimes it make situation when text and other details are too small and unreadable. Sometimes they are too big and looks blur.

Expected behavior:
Web and Android version of WorldWind library provides other better approach. This approach is also implemented in Java MercatorTiledImageLayer and it compare tile pixel density to user monitor pixel density respecting window size and change details during window resizing to have more or less stable tile pixel density in any window size. This approach provides stable text size and other tile elements size. Furthermore, Web and Android libraries base its camera calculations on vertical field of view (not horizontal). This allows to resize window horizontally without change of details simply by changing horizontal field of view during window resize (keeping vertical FOV unchanged). Horizontal resize is more frequent then vertical in horizontal displays.

Steps to Reproduce

Choose any text or other element on the map to be a test object.
Resize worldwind horizontally and see how test object will change its size on the screen.
You will see that details will not change causing text object to become very small and unreadable or very large and blurry.

Reproduces how often:
Always.

Operating System and Version

Any

Additional Information

Try to do same test on WebWorldWind on MercatorLayer an you will see how comfortable to have correct level of details switching.

@ComBatVision ComBatVision changed the title Improvement of image layer level of details calculation approach Improvement of image layer level of details calculation Jul 10, 2019
@wcmatthysen wcmatthysen added the enhancement New feature or request label Jul 13, 2019
@wcmatthysen wcmatthysen added this to the WWJ-CE 2.3.0 milestone Jul 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants