如何将谷歌地图导出为百度瓦片

2017-9-19 11:26:18 0人评论 527次浏览 分类:技术文章

一、概述

在国内的商用地图中,百度和高德地图是比较用常用并为大家所熟知的,尤其是对于WebGIS开发者来讲,百度API和高德API都是比较常用的项目开发选型平台。但这两个平台都具有一个美中不足的缺点,即卫星影像的高清区域相较谷歌卫星地图而言少很多,且拍摄时间都比较久远,而且没有提供历史卫星影像。

鉴于以上所述原因,这里以百度API为例,提供一种可以将谷歌地球高清卫星影像用百度API进行调用的解决方案。由于百度地图的坐标是在火星坐标(GCJ-02)的基础之上,进行二次加偏的百度BD09专用坐标系,因此需要先将谷歌地球卫星影像下载并投影转换为百度BD09坐标系并切片之后,才可以用百度API进行调用。

这里我们以“古田县”为例,说明如何用万能地图下载器下载谷歌地球高清卫星影像,并将卫星影像投影转换为百度BD09切片的过程。最后,会提供一份百度API调用离线地图并进行二次开发WebGIS系统的案例。


二、下载谷歌卫星地图

下载谷歌卫星影像数据时,可以通过屏幕范围下载、框选矩形范围下载、绘制多边形范围下载、道路沿线下载和导入下载范围下载等多种下载方式。

导入下载范围的文件可以支持Google Earth (*.kml;*.kmz)、Shapefile (*.shp)、AutoCAD (*.dxf;*.dwg)、Mapinfo (*.tab)、GPS 文件 (*.gpx)、GMT 文件 (*.gmt)、Excel (*.csv;*.cls)和文本文件 (*.txt)等多种矢量格式。

这里我们以按行政区划范围下载为例。

万能地图下载器的右上角行政区划中,选择显示“古田县”行政区划,同时会显示“下载”按钮,点击该按钮可以新建下载任务。


1.jpg


在“新建任务”对话框,在该对话框中可以参考文件大小和打印尺寸等参数选择适合的级别。下载单张大图时,一般情况下选择16到19级

当下载结果最终需要导出为瓦片时,一般是从当前行政区划显示的级别开始选择(这里是第11级),一直选择到第19级(国内19级清晰度效果最佳,19级以上基于19级放大),由于数据量非常大,这里只为了说明如何下载谷歌地球影像并投影转换为BD09瓦片的方法,因此这里以选择到第15级为例。

由于谷歌地球卫星地图的坐标系为WGS84经纬度投影,而导出百度BD09坐标时变形会很大,如果图片上叠加了文字的话会被拉伸变形。因此,这里选择地图下载类型为“影像:仅下载影像”,也就是不在影像上叠加文字。


2新建下载任务.jpg


在“新建任务”对话框中,点击“导出设置”按钮时会显示“导出设置”对话框,在该对话框中可以设置相关导出参数。

在“导出设置”对话框的“导出瓦片”功能选项的中,我们选择瓦片格式为“原始瓦片(API调用)”、文件格式为PNG,坐标投影为“BD09 Web 墨卡托投影”,选择“边界范围裁剪”,背景颜色为“透明”背景。


3导出设置.jpg


在下载过程中或下载完成后,都可以查看任务下载完成进度和状态。


4查看下载结果.jpg


谷歌地球高清卫星地图下载完成后,会根据设置的导出参数自动导出坐标系为BD09的百度瓦片格式,并会自动打开下载结果目录。

从导出结果中,可以看到导出的瓦片目录为10到14级而不是我们选择的11到15级,这是因为软件中的级别编号是从1开始,而标准的TMS瓦片命名规则都是从0开始,因此该情况属于正常情况,瓦片的行列号编号规则同理。


5百度瓦片导出结果.jpg


通过万能地图下载器下载的谷歌地球卫星影像,导出为BD09瓦片后,可以通过离线百度API调用,调用的显示效果如下图所示。


6百度API调用结果.jpg


相关帮助教程,请参阅:

如何用百度离线API调用百度离线地图

GCJ02/BD09/80/54/2000常用坐标系详解