最近用到很多数据都是百度地图或者高德地图坐标系的,以前虽然也接触了火星坐标系,但是都不太清楚,糊里糊涂,这次正好总结下。
首先恭喜我国探测器成功着陆火星,但是火星坐标系不是在火星上用的坐标系。
火星坐标系,真名是GCJ02,是由国家测绘局在2002年制定的地理信息系统的坐标系统,也称之为地形图非线性保密处理技术。
它是一种出于国家安全考虑,在地图产品服务上,人为在GPS坐标上添加坐标偏移,导致地图上位置与实际地理位置存在100-600m左右的偏差。
这项技术在中国是强制使用的,而且它人如其名,不是线性的,各个地方也都不一样。国内的谷歌地图,高德地图都是使用这种坐标。这也就是为什么它们的数据点和WGS84偏差的原因。
还有一个GCJ02 Web Mercator,是在标准Web Mercator的基础之上进行加偏处理。
所以火星坐标有:GCJ02经纬度,GCJ02 Web Mercator。
总的来说一句话就是,BD-09是百度在火星坐标系的基础上再一次进行人为加偏处理得到的坐标系。 它也分为经纬度加偏和Web Mercator加偏。
网上的转换算法有很多,参数也各不相同,有的很准确,有的可能有些偏差。但高德和百度开发平台都提供转换方法,只需要成为申请成为开发者就行。 百度:https://lbsyun.baidu.com/jsdemo.htm#Translategroup 高德:https://lbs.amap.com/api/javascript-api/guide/transform/convertfrom 可以在示例上进行修改批量转换坐标
目前使用到无加偏处理的有:
谷歌地球(Google Earth)
谷歌卫星地图(外国服务器),下载Google可以参考我的另外一篇文章 外网服务器也只有卫星地图无偏,其余矢量图也是加偏的
OpenStreetMap
至于天地图和必应地图,网上众说纷纭,我决定把它们都加载到ArcGIS Pro中看一下。
- 下图是我翻墙下载的Google卫星地图(标准GPS),我尝试了在ArcGIS Pro中直接以地图瓦片的方式引入google影像,但是一致显示无法连接,搭了梯子也无果,于是我直接用SAS Planet软件将其下载。
我选择红点位置来查看,并将我下载的地图都在标准Web Mercator下查看坐标,其中
- 原始坐标:13,223,412.21E 3,752,526.61N m
- OpenstreetMap:13,223,412.21E 3,752,526.61N m(数据来源,OSM)
- 天地图:13,223,412.21E 3,752,526.61N m(数据来源,天地图Web服务)
- 高德地图:13,222,089.63E 3,751,457.80N m(数据来源水经注,偏差如下图,约600m)
- 百度地图:13,224,391.60E 3,730,051.30N m(偏差非常大,有20km,我的数据来源是水经注下载的百度地图)
- 必应地图 -我的学习版ArcGIS Pro不知道在哪引进必应地图,我尝试在ArcGIS Online中注册API Key,但是找不到,我发现学习版的账号比普通账户少一个组织设置功能。 -如果是ArcGIS Desktop可以在安装路径bin文件夹下找到setbingkey这个程序,然后arcgis online可以查找必应地图 -我这边直接在ArcGIS Online中下载了一个Add-In(Open Web Maps,BAGO),可以在ArcGIS Pro中Map点击一点,在线打开必应地图 -于是,我点击google影像那一点,直接打开了https://cn.bing.com/maps?lvl=16&cp=31.913199~118.780568&sp=point.31.913199_118.780568_ArcGIS%20Pro%20BAGO%20Tool&style=r,当我看到cn.bing.com就知道会偏移了
4 总结
总的来说,火星坐标系和百度09都或多或少有偏移,天地图我这次实验是没有的,搭梯子获取的google影像也是和OSM一致的。各有好处吧,不做评价!
参考
- https://zhuanlan.zhihu.com/p/140468913