Comments (3)
There's been a lot of discussion of this, and it doesn't seem like MBTiles should ever support multiple tilesets in one file: multiple tilesets are represented by multiple MBTiles files, and to add this to the spec would make it conceptually and technically more complex for no clear reason.
Is there a strong reason not to use multiple MBTiles files in this case?
from mbtiles-spec.
I have some mobile app cases which require cross-dataset queries, so with multiple files it would be much slower. Samples:
-
I use mbtiles as cache backend. Caching includes different sources or tiles, and I cannot mix them. I add "last used" field to tiles, but then to find out the oldest used tile for cache size control (invalidation) I need to check all database files. With one mbtiles file I could to it with one sql.
-
I have tiles organized by packages. For example, user can download tile packages by state. I need to have some control over packages later, so user should be able to pick some to delete (to clean up memory). Sounds like good case for multiple sqlite files. In the other hand - when app shows map, then it should look like single seamless map, and to find any tile scanning through tens of sqlite database files (in the worst case) would be very slow on mobile. Or we would need to build some extra tile index layer.
For both cases we could build solution by extending mbtiles physical tables within one sqlite file just as we need, and tiles would be just a standard view (which would work at least for case 2). In these cases use multiple files approach would not work.
Whether these justify really to make standard spec more complex - I leave it up to you to decide.
from mbtiles-spec.
This could be handled with a prefix system in your app, or with in-house extensions to MBTiles. As it stands, these examples don't mesh with the way that MBTiles is architected and thought about, and the use cases of caching/packing don't mesh properly with the purpose MBTiles.
from mbtiles-spec.
Related Issues (20)
- spec says grid data is gzip compressed, but in reality it's deflate compressed HOT 1
- Regarding .MBTiles to .DB Conversion HOT 3
- Explain how vector tile data is stored HOT 8
- The mbtiles-spec is outdated, needs revison
- Update URL in github description HOT 1
- zxy from zoom_level, tile_column, tile_row in mbtiles file HOT 2
- SQLite4 compatibility HOT 1
- EPSG:4326 projection support HOT 3
- Document maskLevel
- Uncaught (in promise) Error: Unimplemented type: 3 HOT 2
- Update vector_layers to match tilejson-spec 3.0 HOT 1
- grids vs tiles HOT 1
- View tiles in specification HOT 2
- png-palette metadata and support for multiple palettes
- iOS UTTypeIdentifier in Info.plist?
- Support custom tiling scheme HOT 4
- update the url for specification documents for the MBTiles tileset format
- Clarify kind of version number HOT 4
- Add tile size to metadata
- Wrap around 180th meridian HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mbtiles-spec.