首页 今日快讯文章正文

百度地图风格的WGS84地图切片

今日快讯 2025年10月28日 13:44 0 admin

在国产的互联网地图中,百度地图、高德地图、腾讯地图和天地图应该是你比较熟悉的。

其中百度地图、高德地图和腾讯地图是各大互联网巨头旗下的商业地图,早期因为政策原因都分别对地图坐标进行了加密处理。

高德地图和腾讯地图直接采用国测局的GCJ02坐标系,被广大网友称其为“火星坐标系”。

而百度地图独树一帜,在GCJ02坐标系的基础上进行了二次加密,从而产生了一个百度专属的百度BD09坐标系。

地图加密的本质是为了数据安全,但也给需要用到地图的各行各业带来了不少困扰,无意中抬高了地图应用的门槛。

为什么坐标定位有偏移?

互联网地图一般采用墨卡托投影坐标系和经纬度地理坐标系两种,这里所谓的地图与坐标系的关系,就好比是萝卜与坑的关系。

这个比喻可能不太恰当,但这是目前能想到的让人比较容易理解的对应关系。

一个萝卜一个坑,一个坐标系下的网格对应一张地图瓦片,它们是完全相对应的。

为了好理解,这里先以经纬度地理坐标系为例。

(1)经纬度地理坐标系下的萝卜与坑的关系

在下图中红色的框就相当于是两个坑,而两张地图瓦片就相当于是两个萝卜,下面就是两个萝卜两个坑。

百度地图风格的WGS84地图切片

两个萝卜两个坑

在经纬度地理坐标系下,“萝卜坑”是基于正负180度和正负90度范围进行划分的,如下图所示。

百度地图风格的WGS84地图切片

经纬度投影坐标范围

那么,现在这两个红色框的坐标范围是不是小朋友都可以计算出来?

第一个红框的经度范围是-180度到0度,纬度范围为-90度到90度;第二个红框的经度范围是0到180度,纬度范围也是-90度到90度。

每当放大一个级别时,每个红框会被平均分成四份,一个框变成了四个框。

那每一个红框的坐标是不是依然可以计算出来,因为它是完全平均分的,这里应该不用再多讲吧?

百度地图风格的WGS84地图切片

一个框变四个框

上面说了这么多,其实都在是解决“坑”的问题,也就是说每一个坑都是有坐标范围的,都是一个标准的坑。

只要萝卜别乱放,而且萝卜与坑是完全对应的,那么找到坑就找到了萝卜,也就找到了正确的“地图瓦片”数据,从而实现精准定位。

理解了经纬度地理坐标系下的萝卜与坑的关系,我们再来理解墨卡托投影坐标系下的萝卜与坑的关系。

(2)墨卡托投影坐标系下的萝卜与坑的关系

在经纬度地理坐标系下,“萝卜坑”是基于正负180度和正负90度范围进行划分的。

但在墨卡托投影坐标系下,则“萝卜坑”是基于正负20037508.3427892米进行划分的。

百度地图风格的WGS84地图切片

4个萝卜4个坑

那为什么是20037508.3427892米呢?

你应该听过坐地日行八万里,八万里也就是四万公里,这里20037508.3427892米约2万公里,它其实是地理赤道周长的一半。

当我们在计算“萝卜坑”的最大外包范围的时候,会把坐标圆点放在中心。

那左下角坐标取整后的XY值就都为负的20037508米,而右上角坐标的XY值则都为20037508米,如下图所示。

百度地图风格的WGS84地图切片

墨卡托投影坐标范围

也就是说在墨卡托投影坐标系下,是按地球赤道的周长来确定最大范围框的,每放大一级也会将一个框平均分为四个框,因此每个框的坐标范围也很好计算。

只是在墨卡托投影下的坐标是以米为单位,当需要通过经纬度坐标去找对应的框时,可以通过一个算法公式先将经纬度坐标转换到墨卡托投影下以米为单位的坐标,那么就能找到对应的框了。

也就是说,通过经纬度的也可以间接地找到对应的“萝卜坑”,从而就找到了对应的“萝卜”,也就是可以找到对应的地图瓦片数据。

但前提依然是,要把对应的萝卜放在对应的坑,不然就找不到正确的萝卜了。

(3)百度地图坐标系的加密原理

百度地图坐标系本质上也是墨卡托坐标系,但它将地图进行了缩小等加密算法处理。

也就是说,它没有严格按照墨卡托坐标系原本的框去切图,也就相当于把萝卜缩小之后再切。

因此就导致没法让对应的萝卜放到对应的坑,从而就没法通过经纬度坐标去找到对应的萝卜,如下图所示。

百度地图风格的WGS84地图切片

加密后的百度地图

我们将墨卡托投影坐标系的地图和百度地图进行对比,就会发现中国所在位置存在肉眼可见的偏移,并且还作了缩小处理。

百度地图风格的WGS84地图切片

墨卡托投影坐标系的地图和百度地图对比

这也就是为什么你的坐标总是和百度地图存在偏移的原因,因为它没有按标准的“坑”提供对应的“萝卜”。

大家常说的GCJ02火星坐标,存在偏移的底层原因本质上也是一样的,它是把地图按一定算法移动了几百米,这里不再赘述。

如何解决百度坐标与火星坐标的偏移问题?

如果要解决百度坐标与火星坐标的偏移问题,百度和高德官方都提供了在线的API接口,可供经纬度坐标与百度坐标和火星坐标之间的自由转换。

但你必须要注册申请相应的权限,如果是商用就需购买相应的服务,你必须要通过它的平台上才能解决你的坐标偏移的问题。

如果只是为了解决坐标偏移这一个问题就需要依赖平台,无疑是得不偿失的,于是万能网友们摸索出一套算法分别解决了百度坐标和火星坐标的偏移问题。

我们也将该算法集成到了微图4(点击了解)中,从而方便了各种坐标之间的转换。

百度地图风格的WGS84地图切片

导入百度坐标数据

在微图4中,通过将矢量地图导入后再导出的方式,就可以实现对数据进行坐标转换。

不过需要说明的是,这里的坐标转换只是针对坐标点的转换,以便让矢量数据可以准确地与百度地图或高德地图相匹配。

但是地图存在偏移的这个核心的问题,还是依然存在的。

如何对百度地图进行私有化部署

如果需要对百度地图进行私有化部署,可以咨询百度官方是否有提供相应的解决方案和服务。

但有一个问题是,如果将百度地图进行私有化部署,由于它地图本身的独特性导致很难和市面上其它通用的卫星地图融为一体。

基于这样的原因,当在不同地图之间进行切换时,就会出现当前视图区域位置无法对应的情况。

为了解决这个问题,我们基于互联网公开的矢量地图数据渲染切片了一套WGS84经纬度坐标系的百度风格电子地图。

该地图私有化部署之后,可以直接在微图Web版中加载查看,如下图所示。

百度地图风格的WGS84地图切片

微图Web版中查看

我们也可以通过自定义添加图源的方式,直接在微图桌面版本中查看,效果图如下所示。

百度地图风格的WGS84地图切片

百度风格的电子地图(一)

百度地图风格的WGS84地图切片

百度风格的电子地图(二)

百度地图风格的WGS84地图切片

百度风格的电子地图(三)

百度地图风格的WGS84地图切片

百度风格的电子地图(四)

百度地图风格的WGS84地图切片

百度风格的电子地图(五)

百度地图风格的WGS84地图切片

百度风格的电子地图(六)

百度地图风格的WGS84地图切片

百度风格的电子地图(七)

百度地图风格的WGS84地图切片

百度风格的电子地图(八)

百度地图风格的WGS84地图切片

百度风格的电子地图(九)

我们目前可以提供0.6分辨率的百度风格电子地图,坐标系为WGS84经纬度地理坐标系,我们也可以渲染切片为墨卡托的百度风格电子地图。

如果你有地图私有化部署的需求,趁此双十一期间会有比较大的优惠力度。

百度地图风格的WGS84地图切片

双十一满减大促

我们除了可以提供坐标无偏移的“百度电子地图”切片外,还可以提供全球海图切片以及全球地名路网透明标签。

写在最后

本文为你分享了百度地图坐标为什么有偏移与如何解决坐标偏移的方法,并提供了一套坐标无偏移的“百度地图”私有化部署方案。

如果你有“百度地图”私有化部署的需求,请关注“水经注GIS”公众号,并在后台回复“人工客服”进群联系我们。

你还可以立即点击“分享”按钮,将本文分享给你需要私有化部署“百度地图”的政企单位或朋友!

发表评论

长征号 Copyright © 2013-2024 长征号. All Rights Reserved.  sitemap