对比
MBTiles 与 MVT:瓦片集与瓦片编码
MBTiles 是 SQLite 中的瓦片集,MVT 编码矢量瓦片。两者属于不同层次,可以组合使用。
应该选择哪种格式?
离线交付瓦片集可用 MBTiles,处理或分发单个矢量瓦片内容时考虑 MVT。
适用于 MBTiles
用一个文件交付不同缩放级别的地图瓦片
- 在兼容地图应用中使用离线地图
适用于 MVT
按瓦片分发地理要素
- 逐步获取当前视图需要的图层和属性
基本信息
| 项目 | MBTiles | MVT |
|---|---|---|
| 扩展名 | .mbtiles | .mvt |
| MIME 类型 | application/vnd.mapbox-vector-tile | |
| 常见用途 | 用一个文件交付不同缩放级别的地图瓦片 | 按瓦片分发地理要素 |
| 打开方式 | 用支持 MBTiles 的 GIS 检查 format、范围、缩放级别和图层。tile_row 使用 TMS,与常见 XYZ 的 y 方向相反。转换公式是 y_TMS = 2^z - 1 - y_XYZ。 | 在兼容的地图工具中配置瓦片URL、范围和投影,再按图层名称设置样式。 |
| 导出或转换 | 提取瓦片时保留坐标和元数据。pbf 内容是 gzip 压缩 MVT。图像与矢量处理不同;已丢失的原始精度和删除的属性不能恢复。 | 转换为GeoJSON需要根据瓦片的地理范围、投影和extent转换坐标。常见的z/x/y分发方式用缩放级别和瓦片位置确定范围。生成时的取整、简化或裁剪损失无法恢复。 |
按用途选择
在兼容地图应用中使用离线地图
用一个文件交付不同缩放级别的地图瓦片
MBTiles逐步获取当前视图需要的图层和属性
按瓦片分发地理要素
MVT关键点 1
MBTiles 汇总不同缩放级别的瓦片位置和元数据。
进一步了解差异关键点 2
MVT 保存图层、地物、属性和瓦片内坐标。
进一步了解差异进一步了解差异
确认接收端同时支持 MBTiles 容器及其中的矢量内容。纯图像 MBTiles 需要图像格式支持,不需要 MVT 解码器。
- MBTiles 1.3 的 format=pbf 表示 gzip 压缩 MVT。提取时正确处理压缩、tile_row 的 TMS/XYZ 转换和缩放级别。
- 另行分享 MVT 渲染样式。打包不会恢复瓦片化时丢失的精度或属性。
常见问题
把 MVT 放进 MBTiles 就能恢复原地物吗?
不能。打包不是重建原几何形状或属性的过程。另存原数据以便编辑和重新生成。