Replies: 1 comment 1 reply
-
Thanks, my intention is to keep this out of the scope of V3 but it is an interesting application - we should leave this issue open for now thoughts are:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is mostly to document what we discussed at FOSS4G 2022, not necessarily if this is the right approach, or if pmtiles should implement this at all.
Summary
The goal is to able to create compact diffs between different revisions of tilesets. The tileset itself could be
.pmtiles
or.mbtiles
files, or some other format. Ideally it should be possible to apply multiple diffs at once.Diff Storage structure
PMTiles could be used for the diff storage, with each data blob (tile) representing the new tile content. Skipped tile IDs are unchanged.
Advanced diffs
Once the simple diffing is implemented, we may want to have a per layer diffing, so that if all layers but one is the same, the diff would contain just that one layer, and the full tile will be reconstructed when the diff is applied.
Tileset data structures
Using PMTiles as a diff shipping format does not mean the actual stored data (tileset) will have to be pmtiles. When merging a tileset with the diff(s), if tileset is mbtiles, sqlite will make it relatively efficient. If the tileset is pmtiles, a new copy would have to be created (requiring extra 100+GB of temp storage), but the merging algorithm might possibly be simpler and faster (unconfirmed).
Beta Was this translation helpful? Give feedback.
All reactions