LBS系统的大地坐标系、84坐标系、百度/腾讯/高德坐标系,分别是什么区别?

如果要做好对接各家地图服务的准备,最适合的坐标系是哪个?
关注者
29
被浏览
9,285

2 个回答

谢邀!
卫星定位的首要条件是实现时空统一。时,就是时间上的统一;空,就是空间上的统一。
时间统一,就是说卫星上的时钟与用户接收机的时钟要同步,由于不在本问题范围内,这里就不详细说明了。
对于空间统一,是指无论卫星的位置还是用户的位置都要统一到同一个坐标系中来。事实上,无论采用何种坐标系,只要是同一坐标系都是可以的。
对于三维空间来说,(X,Y,Z)三轴坐标系是大家都普遍可以理解的。在卫星定位解算当中,在收集到定位所需的卫星位置信息后也是将其转化到(X,Y,Z)三轴坐标系,并最终得到用户的(X,Y,Z)三轴的坐标。在卫星导航里,(X,Y,Z)三轴坐标系是ECEF坐标系(地心地固)的一种形式。ECEF坐标系以地心作为坐标轴原点,Z轴指向协议地球北极,以赤道面作为XY轴平面,其中,X轴指向格林尼治子午面,XYZ三轴构成右手直角坐标系。
大地坐标系是ECEF坐标系的另外一种表现形式,即大家都比较熟悉的经度、纬度、高度(一般是指椭球高,而不是海拔)。大地坐标系与直角坐标系同属于ECEF坐标系,两者之间可以互相转换。转换的方法这里就不做介绍了,感兴趣的可以百度之。
在大地坐标系与直角坐标系进行转化的过程中,必须对地球进行建模。WGS-84就是国际上在1984年发布的对地球参数的推荐测量值。它包括地球长半轴、地球引力及质量常数、自转角速度、扁率等地球参数。而GPS发布的星历参数都是依据WGS-84的。这里稍微提一句,对于北斗,我们采用的是CGCS-2000坐标系,它与WGS-84只存在厘米级的差距,因此,在北斗GPS兼容定位的时候一般不做区分。
百度/腾讯/高德不会单独建立自己的坐标系,他们只是电子地图的运营商。当接收机得到用户的经纬度之后送给电子地图,电子地图就会将接收机的位置显示在地图上,并根据这些进行路径规划及导航等,这也就是LBS所提供的。但是,实际上,你把某个地方真实的坐标系送给电子地图,然后发现显示的位置并不是你送的那个地方的位置,具体原因可以参考以下链接。
http://www.zhihu.com/question/19883280
谢不妖。
先明确题主想表达的"大地坐标系、84坐标系、百度/高德/腾讯坐标系"的准确含义。
  • 大地坐标系:这不是一个坐标系,而是一类坐标系。但是题主既然提出在LBS中的应用,应该指的是我国采用(过)的大地坐标系:1954北京坐标系,1980西安坐标系,2000国家大地坐标系(CGCS2000)。
  • 84坐标系:即World Geodetic System 1984。
  • 百度/高德/腾讯坐标系:电子地图提供商自行建立的加密坐标系。
然后说说区别与联系。
大地坐标系用经度,纬度,高程三维坐标来描述地面点的位置。每个具体的大地坐标系都有自己的参考椭球,经纬度和高程都是相较于参考椭球而言的。CGCS2000、WGS 84都是大地坐标系,但是参考椭球的参数不同(准确说前者针对我国的地表形状为了更加准确表达进行了优化)。
而百度/高德/腾讯坐标系是根据我国法律关于互联网地图的规定在某个已知坐标系的基础上进行了不规则的变换得到的加密坐标系,防止普通用户测得地物点在大地坐标系中的准确坐标(从而保护国家安全……)。个人推测这类坐标系不是大地坐标系,可能是经过某种投影后再不规则偏移得到的二维坐标。
CGCS2000是我国通用的坐标系统,2008年7月1日后我国的测绘成果应当在该坐标系下表达。WGS 84的强项在于其普适性,GPS设备采用该坐标系。网络地图提供商的坐标系是为了保密要求和可能的简化运算(比如把地球当成球体)而建立的,精度低
PS:题主做LBS的话需要考虑这些坐标系的地方应该不多(除了与GPS相关的部分需要转换),只需用好API里给定的转换函数并且保证自己的业务是在同一个坐标系下进行的即可。