Local MBTiles support
Open, NormalPublic

Description

Currently downloaded tiles end up in the local filesystem using the z/x/y.ext scheme. This works fine, but wastes quite some space since tiles are often small. Also maintenance operations are rather slow when many tiles were downloaded over time. An alternative is using https://github.com/mapbox/mbtiles-spec/blob/master/1.2/spec.md

We do use mbtiles on maps.kde.org already and it scales to databases larger than 100 GB without a noticable performance penalty (if any). To implement it on the client side

  • Generalize tools/mbtile-import/MbTileWriter for read and write support and move it to src/libs/marble
  • Introduce a dgml tag such that a layer can be marked to store tiles in .mbtiles format, e.g.
<sourcedir format="O5M" storage="mbtiles">earth/vectorosm</sourcedir>
  • Extend TileLoader and the like to support opening/writing mbtiles using the generalized MbTileWriter
nienhueser moved this task from Backlog to Vector Rendering on the Marble board.