本文内容为作者原创,转载务必标明出处!
关于使用百度地图、谷歌地图以及高德地图的坐标系转换问题,网络上各类非专业及专业的解释都有,其中有的讲法不经验证乱讲,这里特别就此问题做说明并实践验证。
首先是几点说明:
1.
高德地图采用的坐标系是gcj02火星坐标系,bd09和bd09ll是百度坐标系,谷歌地图安装版坐标系是国际通用的wgs84坐标系(网页版未找到坐标拾取器未知)。其中谷歌地图的坐标与实际gps接收设备数据基本接近,误差在几米之内。因此,谷歌坐标系并非网上所讲的gcj02.
2.
Gcj02是国家测绘局的简拼,是国家强制要求所有电子地图不允许使用真实坐标标注的结果,是原始gps采集坐标经过一个算法加密后的坐标系。然而,此算法已经在网上公开并且验证为正确。Bd09和bd09ll是百度公司的加密算法坐标系,网上文章讲是从gcj02加密而来,其实未必,也许也是直接从wgs84直接转换而来,因为网上公开的算法有误,故具体如何不得而知。
3.
由谷歌地图采集的wgs84坐标系坐标,经过网上公开的转换算法,gcj02的计算结果与高德地图十分吻合,误差在5m范围,剔除采点的手动误差,可以确定高德地图就是gcj02坐标系。故网上提供的此算法即可用,用于导航也可以。而百度地图拾取器拾取的坐标则与谷歌采集点经过算法算出的点距离甚远,误差从十几米到几十米不等,因此证明网上这段算法为假。但不排除百度曾经使用过该算法,后来被公开后做了修改。
以下是以上结论的数据来源,采用的是网络公开的代码编程计算值:
地点
天安门广场国旗西侧花圃东北角
上海陆家嘴快网网球俱乐部网球场西角
广州天河体育中心西体育馆西角
西安西北大学田径场西南角
重庆大学足
球场南角
谷歌坐标
116.39.134,
39.905461
121.491747,
31.240332
113.317158,
23.138083
108.925974,
34.250364
106.464588,
29.566417
谷歌坐标转
出gcj02坐标
116.396374,
39.906862
31.238342,
121.496209
113.322567,
23.135480
34.248749,
108.930590
29.563807,
106.468537
谷歌坐标
转出bd09坐标
116.402831,
39.912971
31.244335,
121.502697
113.329095,
23.141299
108.937204