地图中坐标转换的那些事儿
地图有很多种,在同一个项目中可能会用到多种地图,而不同地图之间由于这样那样的关系(有竞争关系也有政策关系或者保密措施),于是就出现了不同地图
厂商之间的坐标系是不一样的,最后就造成了一种烦人的问题,用一个地图广商的SDK定位的位置无法在另一家地图厂商的SDK上显示出来。
为什么会出现这样的问题呢?现有的坐标系统有哪些?
其实,我们在手机上定位到的位置,其经纬度并不是真实的“Earth Location“,为啥呢?主要有以下原因:
国家安全、战略安全的需求---火星坐标系 (GCJ-02,国测局02年发布的坐标体系)
据说,保密局开发了一个系统,能将实际的坐标转换成虚拟的坐标。所有在中国销售的数字地图必须使用这个系统进行坐标转换之后方可上市。这是生产环节,这种电子地图被称为火星地图。在使用环节,GPS终端设备必须集成保密局提供的加密算法(集成工作由保密局完成),把从GPS卫星那里得到的坐标转换成虚拟坐标,然后再去火星地图上查找,这样就在火星坐标系上完成了地图的匹配。推出这个系统的名义是为了国家安全。然后呢,需要收取一定的费用。GCJ-02也是国内最广泛使用的坐标体系。
GPS设备直接有GPS卫星(非北斗)获取的原始位置---WGS-84(原始坐标系)
一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。很可惜,在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密。GPS坐标形式如图,度分秒形式的经纬度
由此,火星坐标系则是国内其他地图开发商使用的基础了。现统计出以下国内坐标系分布:
WGS84坐标系:即地球坐标系,国际上通用的坐标系。
GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。