对比
MVT与GeoJSON:瓦片分发和数据交换
MVT用Protocol Buffers编码地图矢量瓦片。GeoJSON是JSON地理数据,本身不规定瓦片分发规则。
应该选择哪种格式?
按瓦片分发可见范围时考虑MVT;交换可读的要素及属性数据时考虑GeoJSON。
适用于 MVT
按瓦片分发地理要素
- 逐步获取当前视图需要的图层和属性
适用于 GeoJSON
交换地理要素及属性
- 网络地图中的点、线和多边形
基本信息
| 项目 | MVT | GeoJSON |
|---|---|---|
| 扩展名 | .mvt | .geojson, .json |
| MIME 类型 | application/vnd.mapbox-vector-tile | application/geo+json |
| 常见用途 | 按瓦片分发地理要素 | 交换地理要素及属性 |
| 打开方式 | 在兼容的地图工具中配置瓦片URL、范围和投影,再按图层名称设置样式。 | 用支持 GeoJSON 的地图工具或文本编辑器打开,并在地图上检查位置和形状。 |
| 导出或转换 | 转换为GeoJSON需要根据瓦片的地理范围、投影和extent转换坐标。常见的z/x/y分发方式用缩放级别和瓦片位置确定范围。生成时的取整、简化或裁剪损失无法恢复。 | 转换时在目标工具中检查坐标顺序、坐标参考系、几何图形及属性。 |
按用途选择
逐步获取当前视图需要的图层和属性
按瓦片分发地理要素
MVT网络地图中的点、线和多边形
交换地理要素及属性
GeoJSON关键点 1
MVT使用具名图层和瓦片内的整数坐标。GeoJSON使用地理坐标和JSON属性。
进一步了解差异关键点 2
MVT的投影及瓦片范围由外部配置提供。RFC 7946的GeoJSON采用经度、纬度顺序。
进一步了解差异进一步了解差异
用相同数据、缩放级别、压缩及工具测量性能;生成瓦片前另存原始数据。
- 从GeoJSON生成MVT时,确定投影、瓦片划分、extent、属性选择及简化和裁剪规则。
- 还原为GeoJSON需要瓦片范围、投影及坐标转换。丢弃的属性和删除的几何细节无法恢复。
常见问题
仅凭MVT能完整还原原始GeoJSON吗?
通常不能保证。整数化、简化及属性选择可能改变数据,因此应保存原始文件。