Одна карта — один файл
Папка XYZ удобна как промежуточный результат, но неудобна пользователю: её трудно копировать, проверять и удалять целиком, а большое число мелких файлов создаёт лишнюю нагрузку на файловую систему. PMTiles хранит тайлы, индекс и метаданные в одном переносимом архиве. Такой файл можно положить в личную библиотеку, проверить по контрольной сумме, скачать и открыть локально.
На Android MapLibre читает из архива только нужные участки и масштабы. Веб-сервис использует тот же результат: готовая карта не требует отдельного тайлового сервера и не распаковывается на диске устройства.
Подходит и для офлайна, и для передачи по сети
PMTiles рассчитан на произвольный доступ к данным. Телефону или браузеру не обязательно получать весь архив, чтобы прочитать его заголовок, метаданные или конкретные тайлы. На сервере это сочетается с Range-запросами: прерванную загрузку можно продолжить, не начиная большой файл заново.
Внутри одного формата могут жить растровые исторические листы и векторные регионы OSM. Это не делает их одинаковыми по содержанию, зато упрощает каталог, хранение, проверку доступа и клиентский код THS2.
Почему не оставить исходный формат
MBTiles тоже хранит карту в одном файле и остаётся отличным промежуточным форматом для конвертации. Но это база SQLite, тогда как PMTiles специально устроен как архив для публикации и чтения по диапазонам байтов. GeoTIFF и KMZ удобны как исходники с геопривязкой, а ZIP с XYZ/TMS — как способ перенести готовую пирамиду тайлов. В THS2 они проходят через адаптеры и на выходе становятся одинаково управляемыми PMTiles.
У выбора есть цена: PMTiles не является редактором и обычно пересобирается при изменении содержимого. Поэтому THS2 сохраняет понятный конвейер: принять и безопасно проверить исходник, при необходимости построить MBTiles, преобразовать в PMTiles, проверить итог и только после этого добавить карту в библиотеку.
- один файл вместо дерева тайлов
- растровые и векторные карты в общем контейнере
- локальное чтение без встроенного веб-сервера
- Range-запросы и возобновляемое скачивание
- метаданные и границы рядом с тайлами
