开发中经常遇到存储经纬度的场景,但只谈经纬度不谈坐标系是没有意义的,我们常接触的地图产品使用的坐标系也不相同,常用的坐标系统如下
WGS-84 坐标系
WGS-84 坐标系(WorldGeodeticSystem)是一种国际上采用的地心坐标系,坐标原点为地球质心。
与 GPS 的关系
由于采用的椭球基准不一样,并且由于投影的局限性,使的全国各地并不存在一至的转换参数。对于这种转换由于量较大,一般都采用 GPS 联测已知点,应用 GPS 软件自动完成坐标的转换。当然若条件不许可,且有足够的重合点,也可以进行人工解算
因此,用 GPS 纪录仪记录下来的经纬度,或者通过 GPS 定位拿到的原始经纬度都是基于 WGS-84 坐标系的
使用者
- 国外 Google 地图
- 国外高德地图
GCJ-02 坐标系
GCJ-02 坐标系又名 “火星坐标系”,是由中国国家测绘局(G 表示 Guojia 国家,C 表示 Cehui 测绘,J 表示 Ju 局)制订的地理信息系统的坐标系统,02 代表国家测量局 02 号标准。该坐标系是由 WGS-84 加密而来。
出于国家安全考虑,在国内,任何地图产品不得使用 WGS-84 坐标系,必须至少使用 GCJ-02 坐标系,或者使用在 GCJ-02 的基础上再进行加密的坐标系
使用者
- 国内高德地图
- 腾讯地图
- 阿里云地图
- 国内Google
bd-09 坐标系
bd-09 是百度使用的坐标系,是在 GCJ-02 坐标系的基础上再次加密偏移后形成的坐标系,只适用于百度地图
使用者
- 百度地图
不同坐标系之间的转换
不同坐标系之间的经纬度是不通用的,因此需要转换。具体的转换算法网上有很多,我就不列举了,这里我只提出一个疑问,网上提供了将 bd-09 坐标系转换成 WGS-84 坐标系的算法,既然加密之后都可以转换回去,那么加密不就失去了意义吗?
实际上不是这样的,所有的转换算法都是近似转换,是会有精度丢失的。具体误差有多大呢,反正民用是够了的!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END