- ...Add new stuff here...
- ...Add new stuff here...
- Use format as a falback for tile type (#10) (@acalcutt)
- make sure pbf/mvt are gzipped (#8) (@acalcutt)
- PMTiles ↔ Disk: Export tiles from a
.pmtilesfile to a folder structure, or import a tile folder into a new.pmtilesfile (disk_to_pmtiles,pmtiles_to_disk). - MBTiles ↔ PMTiles direct conversion: Convert between
.mbtilesand.pmtileswithout an intermediate disk step (mbtiles_to_pmtiles_cmd,pmtiles_to_mbtiles_cmd). Detected automatically by file extension. - PMTiles metadata dump:
mb-util archive.pmtiles dumpsprints metadata to the terminal. - Tile deduplication on PMTiles→MBTiles:
--do_compressionand--hash_typeflags work when converting PMTiles to MBTiles. - Metadata helpers:
normalize_metadata(),prepare_metadata_for_mbtiles(),get_tile_ext(),pmtiles_header_to_metadata(). - PMTiles reference Python library included as a git submodule.
- Full unit test suite (
test/test_pmtiles.py) and GitHub Actions CI workflow. - Docker image with multi-arch support (amd64, arm64).
- Y-coordinate flipping between TMS (MBTiles) and XYZ (PMTiles) coordinates.
- Out-of-bounds tile IDs are skipped with a warning instead of crashing.
schememetadata key removed when writing PMTiles output;scheme: tmsadded when writing MBTiles output.- Center zoom fallback to
(min_zoom + max_zoom) // 2when value is missing or zero. - Graceful
NotImplementedErrorwhen PMTiles submodule is not initialized. - Vector tiles (PBF) are gzip-compressed when writing to PMTiles if not already compressed.
jsonmetadata row (vector_layers,tilestats) correctly round-trips between MBTiles and PMTiles formats.optimize_databaseconnection not closed after PMTiles→MBTiles conversion (caused "database is locked" errors).
- Initial public release with MBTiles import/export support.