一、当前互联网地图的地理坐标系统现状
在国内,为了数据保密的原因,国家测绘地理信息局规定,凡是公开对外提供服务的在线地图都必须使用保密插件做一次非线性坐标转换,将原始WGS84坐标系的数据转换为GCJ02坐标系(俗称火星坐标系),而百度在火星坐标系的基础上又做了一次偏移,形成了其自身的百度09坐标系,于是从互联网上下载、爬去的数据常用的坐标系有这么三大类:WGS84、GCJ02、BD09(从国外渠道下载的大多是WGS84,从高德、腾讯系下载的数据是火星坐标系GCJ02,从百度系下载的数据为百度坐标系BD09)。
1.1、全球大地测量系统1984(WGS84)
- 国际标准,从专业GPS设备中取出的数据的坐标系
- 国际地图提供商使用的坐标系
1.2、火星坐标系(GCJ-02)也叫国测局坐标系
- 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系
- 国家规定:国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
1.3、百度坐标系(BD-09)
- 百度标准,百度SDK,百度地图,Geocoding使用
二、开发过程注意事项
2.1、从设备获取经纬度(GPS)坐标
- 如果使用的是百度SDK,那么可以获得百度坐标(BD09)或者火星坐标(GCJ02),默认是BD09
- 如果使用的是ios的原生定位库,那么获得的坐标是WGS84
- 如果使用的是高德SDK,那么获取的坐标是GCJ02
2.2、互联网在线地图使用的坐标系
- 火星坐标系:ios地图(其实是高德)、Google地图、搜搜、阿里云、高德地图
- 百度坐标系:当然只有百度地图
- WGS84坐标系: 国际标准、Google国外地图、OSM地图等国外的地图一般都是这个
三、javaScript库坐标转换工具
参考这篇博文:https://cnodejs.org/topic/564c0a27e4766d487f6fe38d
四、QGSI转换坐标插件
参考这篇博文:https://blog.csdn.net/lyd0902/article/details/82084928