本发明涉及GPS定位技术领域,更具体地,涉及一种GPS数据解析方法及系统。
背景技术:
随着智能化大潮的涌来,身边的一切都在发生变化,各行各业也在交叉融合,GPS定位也从原来的汽车、船舶等扩大到共享单车、智能手表等行业,解析GPS数据的准确性和响应时间变得更为重要。
现有技术中,GPS模块发出的数据都遵循NMEA-0183协议,传统解析的方法是将接收到的一条语句按照协议逐个解析得到实际的数据。这种解析方法存在代码冗长、执行时间较长、维护难度大以及开发周期长等缺陷。因此,有必要开发一种执行效率高的GPS数据解析方法及系统。
公开于本发明背景技术部分的信息仅仅旨在加深对本发明的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
技术实现要素:
针对现有技术中的上述问题,本发明提出了一种GPS数据解析方法及系统,能够有效地减少代码容量、提高代码执行效率。
根据本发明的一方面,提出一种GPS数据解析方法。该方法可以包括:
1)定义用于保存GPS数据所包含信号的全部或者一部分的结构体;
2)在接收到包含一条完整语句的GPS数据后,将其保存在一个数组中;
3)读取步骤2)得到的数组中与步骤1)定义的结构体对应的信号,并将所读取的信号的信息值存储所述结构体中;
4)输出所读取的信号的数目,并且输出每个信号的信息值;
5)参考GPS数据对应的协议得到每个信息值所代表的真实值。
优选地,所接收的GPS数据格式包括GNRMC格式、GNGGA格式、GNGLL格式。
优选地,GPS数据对应的协议为NMEA-0183协议。
优选地,步骤2)包括,当接收到GPS数据中的结束符则判断出已接收一条完整语句。
根据本发明的另一方面,提出一种GPS数据解析系统。该系统包括用于接收GPS数据的接收设备、存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
1)定义用于保存GPS数据所包含信号的全部或者一部分的结构体;
2)在接收到包含一条完整语句的GPS数据后,将其保存在一个数组中;
3)读取步骤2)得到的数组中与步骤1)定义的结构体对应的信号,并将所读取的信号的信息值存储所述结构体中;
4)输出所读取的信号的数目,并且输出每个信号的信息值;
5)参考GPS数据对应的协议得到每个信息值所代表的真实值。
优选地,所接收的GPS数据格式包括GNRMC格式、GN