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

Tile fallback #2120

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Tile fallback #2120

wants to merge 1 commit into from

Conversation

rwrx
Copy link
Contributor

@rwrx rwrx commented Dec 18, 2019

Add support for getting tile for lower zoom if tile for higher zoom is not available.

Use case and current state:
User has mbtiles tile source which for some areas has tile data let's say only for zoom 10. Then he zooms to zoom 15 and the current state is that on the map he does not see anything. In this case it would be better to see a tile from zoom 10 rather than nothing.

New behavior:
When user want to show some location on the map and tile is not available in mbtiles, it would search tile parents until mbtiles contain some parent which does exist in mbtiles and then return TileID of that parent.

I have implemented it for MBTilesDataSource and MemoryCacheDataSource.

@rwrx rwrx mentioned this pull request Dec 18, 2019
@matteblair matteblair self-assigned this Dec 18, 2019
@bcamper
Copy link
Member

bcamper commented Dec 19, 2019

Is it intended to be an MBTiles-datasource-only feature?

@matteblair
Copy link
Member

matteblair commented Dec 19, 2019

This seems related to the max_zoom parameter for data sources (https://github.com/tangrams/tangram-docs/blob/master/docs/Syntax-Reference/sources.md#max_zoom). If you know that your tile source only has tiles up to zoom 10 then you can specify max_zoom: 10 in the data source configuration and tiles will be "overzoomed" beyond zoom 10. However if the maximum zoom level of your tile source is not constant, then this isn't a good solution.

@rwrx
Copy link
Contributor Author

rwrx commented Dec 19, 2019

@bcamper I have currently implemented it for MBTilesDataSource and MemoryCacheDataSource.

@matteblair I know about max_zoom parameter but in my case the tiles which mbtiles contains are does not have constant z coordinate. Here and there may be tiles with another maximum z coordinate. Do you mean that this tile fallback is not a good solution in this case or your proposed solution of using max_zoom?

@matteblair
Copy link
Member

Oh my comment wasn't clear - I meant that if you don't have a constant maximum z across your data source, then max_zoom isn't a good solution. Some kind of "fallback" behavior like this makes more sense in that case.

@rwrx
Copy link
Contributor Author

rwrx commented Dec 19, 2019

So I will be waiting for your review of this pull request. I can also do any changes/updates to it.

Base automatically changed from master to main February 15, 2021 01:42
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

Successfully merging this pull request may close these issues.

3 participants