一、引言
北斗定位系统(BDS)接收器通过发送一系列标准化的NMEA 0183语句来提供位置和时间信息。其中,BDGGA语句(或简称GGA语句)是其中一种常用的语句类型,用于提供北斗卫星定位的基本信息,包括时间、纬度、经度、高度等;
我们经常需要对设备进行定位精度的测试,包括静态测试、动态测试。收集好数据怎么评估定位精度呢?经过几天的努力,写了一个小工具分享给大家,可以完成静态、动态精度的统计,同时提供CEP(50%)、68%、95%、100%和RMS的统计数据,一起来聊聊吧?

二、GGA语句结构
GGA语句遵循NMEA 0183的固定格式,通常以$BDGGA(或者$GPGGA等)开头,以回车换行符(\r\n)结尾。中间部分包含多个字段,每个字段由逗号分隔。以下是GGA语句的一般结构:
$BDGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF><1> UTC时间
<2> 纬度
<3> N/S指示(北或南)
<4> 经度
<5> E/W指示(东或西)
<6> 定位质量指示(0=无效;1=GPS定点解;2=DGPS差分解;...)
<7> 使用卫星数量
<8> 水平稀释精度(HDOP)
<9> 海拔高度(米)
<10> 高度单位(M=米)
<11> 大地水准面差异
<12> 大地水准面差异单位(M=米)
*hh 校验和(两个十六进制数字)
<CR><LF> 回车换行符
三、计算地球上两个点之间的距离
软件采用Vincenty逆解法进行距离计算,Vincenty逆解法是一种高精度的椭球体上距离计算方法,适用于WGS84等椭球模型。
步骤:
1. 定义椭球体参数(例如WGS84的长半轴a和扁率f)。
2. 将两个点的经纬度转换为弧度。
3. 使用Vincenty逆解法公式迭代计算。
公式和迭代过程:
给定两点:点1(纬度φ1,经度λ1)和点2(纬度φ2,经度λ2)
计算过程:
a, b = 长半轴和短半轴(b = a*(1-

1万+

被折叠的 条评论
为什么被折叠?



