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

Extreme zoom levels #1179

Open
manthey opened this issue Feb 11, 2022 · 1 comment
Open

Extreme zoom levels #1179

manthey opened this issue Feb 11, 2022 · 1 comment

Comments

@manthey
Copy link
Contributor

manthey commented Feb 11, 2022

Currently, the maximum zoom range is limited by using double-precision floating point for tracking map and feature locations. Specifically, when zoomed over around 40 power-of-two zoom levels, the position starts to have jitter. This is due to the limited mantissa (significand) size of doubles (53 bits), where the zoom level and size of the display port combine to where the precision breaks down.

This could probably be solved by having all features, layers, and the map use a higher precision math library to track origins. Features that genuinely span more than 40+ levels (such as deep tile sets) would need to have localized position logic. Other features might sensibly have a specified range for which they are relevant. Position accessors would either need to take the origin into account or there would by an alternative "positionWithOrigin" accessor which would default to "position() - origin", or something similar.

@waxlamp
Copy link
Contributor

waxlamp commented Feb 11, 2022

This could be relevant to later stages of the Atlascope Phase I project.

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

No branches or pull requests

2 participants