高德地图离线地图下载及SuperMap兼容导出方法
概述
我们在“MBTiles栅格地图瓦片存储规范说明”一文中【点击查看】讲解了MBTiles1.3的栅格地图瓦片存储规范,我们按照该规范对水经微图中导出MBTiles离线包的功能进行了升级优化。
水经微图导出的MBTiles离线包,通过创建视图的方式解决了数据冗余存储的问题,且在MBTiles1.3规范的基础上进行了扩展,以支持SuperMap对该离线包的加载读取。
如何将卫星影像下载导出为MBTiles离线包
这里我们以重庆为例,说明如何将卫星影像下载导出为MBTiles离线包的具体方法。
在“搜索”面板中选择“重庆市”可以显示行政区划,然后点击显示的“下载”按钮,如下图所示。
选择下载重庆区域
在显示的“新建任务”对话框中,可以选择下载混合图、只下载影像、只下载标签或两者分别下载,这里以“影像+标签:分别下载影像和路网”为例,然后选择需要下载的级别后点击“导出设置”按钮,如下图所示。
新建地图下载任务
在“导出设置”中勾选导出“MBTiles”离线包,如果选择“兼容SuperMap”功能项,则导出的MBTiles包含坐标投影信息,支持 SuperMap iServer 进行离线发布,否则将导出为标准的MBTiles离线包。
其它功能选项可以根据实际需要进行选择,如下图所示。
导出设置
新建任务参数设置完成并确认之后,将会自动新建下载任务并自动导出,如下图所示。
下载导出完成
下载完成后,将会在下载任务目录生成mbtiles文件,如下图所示。
下载结果
MBTiles文件可以在GlobalMapper中打开进行查看,如下图所示。
在GlobalMapper中查看MBTiles离线包
MBTiles文件也可以在QGIS中打开进行查看,如下图所示。
在QGIS中查看MBTiles离线包
MBTiles原则上仅支持存储墨卡托投影的栅格地图瓦片,但如果一定要存储WGS84坐标系的地图瓦片,在GlobalMapper和QGIS中一样可以打开,只是在显示地图时会动态投影为墨卡托。
MBTiles中避免存储冗余瓦片的方法
这里所谓的冗余瓦片,是只指颜色完全相同的图片,它的作用是为了避免数据的冗余存储,以减少存储空间,从而加快访问效率。
比如为了避免数据的冗余存储,将海洋区域用一张相同的蓝色瓦片代替,或在电子地图瓦片中的空旷无数据区域用一张相同的背景色瓦片。
这里以高德电子地图为例,选择了一个数据比较少的区域,只有两个山的名称,如下图所示。
选择下载尖头山范围
我们在新建任务中选择下载14到16级数据,可以看总共有84张瓦片,如下图所示。
共下载84张瓦片
为了保证为原始瓦片且完整,在导出设置中取消所有额外数据的叠加和边界范围裁剪功能,如下图所示。
导出离线包
在最后导出的结果中,可以看到在tiles视图表中共84条记录,与我们新建任务显示的数据相吻合,如下图所示。
尖头山tiles视图表
而在images数据表中,则只保存了8条记录,成功地将76条有相同颜色的冗余背景图片被排除在外,如下图所示。
尖头山image瓦片数据
但我们放大地图进行数据查看时,并不会有任何背景缺失,如下图所示。
查看尖头山下载结果
MBTiles通过新建视图表的方法,在不影响地图瓦片显示效果的前提下,有效地解决了数据的冗余存储问题。
MBTiles对SuperMap的支持
鉴于有部分用户需要将MBTiles用于SuperMap平台中,我们在MBTiles1.3规范的基础之上,新增了坐标投影信息等字段,如下图所示。
新增坐标投影信息
另外,你也可以通过查看以下视频,了解关于如何导出MBTiles离线包的具体操作方法。
视频加载中...
将卫星影像导出MBTiles离线包
总结
MBTiles离线包的规范由MapBOX制定,但我们也可以根据实际需要在此基础上进行扩展,以制定适合自己平台的标准和格式。
声明:本文由"麦兜"发布,不代表"破站"立场,转载联系作者并注明出处:https://www.848586.cn/250280.html
