想一下,在手机定位的时候,如果每个手机去访问卫星,然后卫星再来回答,那估计100太服务器也不够用吧。
1、用哪种模式就能减少复杂度?
每颗卫星都不停地广播自己所在的位置等信息,而且这种情况下显然应该用这种方式。
2、如何知道所在位置到卫星的距离?
卫星广播是无线电,传播速度为光速,那么如果知道发出的时间和到达的时间,那么就能算出手机与卫星之间的距离。
3、最少需要多少颗卫星才能定位?
目标只有三个未知数经度、纬度、海拔,那么只需要收到三颗卫星的数据,就能建立三个方程,求解就能得到结果。但是不可避免时间会有误差,因为本身时间都比较短,所以时间的误差必须考虑,这样就有了四个未知数,需要四个方程来求解。所以GPS在定位的时候需要四颗星。
广播的数据格式
数据格式如下:
$信息类型,x,x,x,x,x,x,x,x,x,x
信息类型包括以下六种:
1、GPGSV:可见卫星信息。
2、GPGLL:地理定位信息。
3、GPRMC:推荐最小定位信息。
4、GPVTG:地面速度信息。
5、GPGGA:GPS定位信息。
6、GPGSA:当前位置信息。
具体每个类型下面有些数据格式是什么样的,这里就不赘述。
计算公式
略。