PMTiles
2026年10月13日 09:12
GISBox是一站式三维 GIS 数据编辑、转换、发布平台,支持 OSGB/GEOTIFF/RVT 等多种 GIS 格式编辑,转换为 3DTiles/Terrain 等并发布。
简介
PMTiles是面向GIS场景的单文件瓦片存档格式,它将矢量、栅格等多类型地图瓦片的完整金字塔结构打包为单个独立文件,依托HTTP范围请求技术,无需搭建专用瓦片服务器,就能直接在S3、Cloudflare R2等对象存储或静态托管服务上实现无服务器化的地图数据分发。它内置优化的空间索引结构,相比传统MBTiles等格式能减少30%以上的存储空间,大幅降低海量瓦片场景下的网络请求数量,既支持Web端低带宽环境下的地图高效加载,也能便捷地用于移动端离线地图数据的打包分发,是现代WebGIS和轻量地图应用中广泛使用的高效瓦片存储方案。
文件结构
PMTiles的文件结构由五大核心部分组成,具体如下:
- 127字节固定头部:位于文件最起始位置,包含"PMTiles"魔数、版本号,以及根目录、元数据、叶目录、瓦片数据各部分的偏移量与长度等关键导航信息,是读取整个文件的基础入口。
- 根目录:作为顶层索引,必须被完整包含在文件前16KB范围内,内部以条目形式记录瓦片或叶目录的TileID、偏移量、长度等信息,支持客户端快速定位目标资源,无需全量加载大文件。
- JSON元数据:以JSON格式存储瓦片集的描述信息,涵盖空间范围、缩放级别、瓦片类型、坐标系等地图相关的属性说明,为地图渲染提供基础配置依据。
- 可选叶目录:作为二级索引结构,专门用于管理超过21845个瓦片的大型数据集,每个叶目录独立压缩存储,通过根目录的条目引用,避免根目录体积超出16KB的限制。
- 瓦片数据区:存储实际的矢量或栅格瓦片内容,采用基于Hilbert曲线的TileID编码实现空间邻近瓦片物理聚集,支持gzip、brotli、zstd等多种压缩算法,大幅提升海量瓦片的存储和访问效率。
优点
- 无服务器部署成本低:无需搭建专用瓦片服务端,直接上传到S3、对象存储等静态托管平台,就能通过HTTP范围请求实现地图瓦片分发,大幅降低运维和基础设施投入 。
- 存储效率显著提升:单文件设计消除了海量小文件的文件系统元数据开销,相比传统MBTiles格式可减少15%-30%的存储空间占用,更适配大规模地图数据集 。
- 网络请求开销极低:依托内置的空间索引结构,常规地图视图加载仅需1-2个HTTP请求就能获取所需瓦片,相比分散瓦片文件的数十次请求,网络延迟和服务器负载大幅降低 。
- 离线场景适配性强:完整地图金字塔打包为单个独立文件,支持通过命令行工具按需裁剪指定区域的瓦片子集,本地落地后完全断网即可渲染,非常适合移动端离线地图场景 。
- 多类型瓦片通用:原生同时支持矢量瓦片、栅格瓦片等多种瓦片格式,一套文件结构可覆盖不同地图数据类型,无需维护多套工具链 。
- 内存占用可控:客户端无需一次性加载整个大文件,仅按需读取头部、索引和目标瓦片数据,在几GB级别的大型地图文件场景下也不会过度占用移动设备内存 。
缺点
- 不支持原地修改:属于只读存档格式,无法直接在文件内更新、新增或删除单个瓦片,任何内容修改都需要重写整个完整文件,不适合需要频繁动态更新瓦片的场景 。
- 生态适配门槛较高:在部分旧版本GIS客户端、传统地图框架中缺乏原生支持,需要额外引入适配库或二次开发,在鸿蒙等小众移动端生态中现成适配方案较少 。
- 小数据集场景优势不明显:仅针对大规模瓦片金字塔做了优化,在瓦片数量极少的小型地图项目中,相比传统单瓦片文件或轻量SQLite方案,部署和使用的便捷性没有明显优势。
- 依赖HTTP范围请求支持:如果托管的静态存储或CDN服务不兼容HTTP Range Requests规范,就无法实现按需读取,只能全量下载整个PMTiles文件,完全丧失格式核心优势 。
应用场景
PMTiles的核心应用场景围绕低成本、轻量部署和离线地图需求展开,它最常用于搭建零维护的无服务器Web地图应用,直接将单文件托管在S3等对象存储平台上,无需搭建专用瓦片后端就能实现全球级矢量或栅格瓦片的高效分发,大幅降低中小团队的地图服务运维成本。同时它也是移动端离线地图的理想选择,尤其适配鸿蒙、Flutter等跨平台环境下的户外无网导航、涉密园区内网GIS系统,单文件的特性让海量瓦片的迁移、分发和缓存变得极其简单,几GB级别的地图数据也不会过度占用移动设备内存。在轻量GIS原型开发和遥感数据快速预览场景中,开发者可以直接将正射影像、DEM等GeoTIFF数据转换为PMTiles,无需部署GeoServer等复杂服务,就能快速生成可分享的网页地图成果,非常适合项目前期的数据验证、教学演示和甲方快速预览环节,此外它也广泛用于Azure Maps等云地图服务中,作为自定义矢量瓦片的高效存储载体,承载建筑轮廓、土地利用等大规模专题地理数据集。
示例图
1. 地图缓存。

文件打开方式
1. PMTiles在MapboxGL中的使用。

相关 GIS 文件
MID
IMDF
STYLX
OpenDRIVE (.xodr)
参考资料
- https://zhuanlan.zhihu.com/p/1889338000133050907
- https://juejin.cn/post/7676875352384389166
- https://blog.csdn.net/qq_37219845/article/details/130424146
- https://blog.csdn.net/GISShiXiSheng/article/details/141142894