一种GPS数据解析方法及系统技术方案

技术编号:18496656 阅读:750 留言:0更新日期:2018-07-21 19:58
本发明专利技术提出一种GPS数据解析方法及系统。该方法包括:1)定义用于保存GPS数据所包含信号的全部或者一部分的结构体;2)在接收到包含一条完整语句的GPS数据后,将其保存在一个数组中;3)读取步骤2)得到的数组中与步骤1)定义的结构体对应的信号,并将所读取的信号的信息值存储所述结构体中;4)输出所读取的信号的数目,并且输出每个信号的信息值;5)参考GPS数据对应的协议得到每个信息值所代表的真实值。根据本发明专利技术的GPS数据解析方法及系统充分利用编程语言自带的函数,按照GPS数据的协议格式,将需要解析的语句通过算法运算得到实际数据,减少了代码容量,提高了代码执行效率,并且缩短了开发周期,降低了生产成本。

A method and system for GPS data analysis

The invention proposes a GPS data parsing method and system. The method includes: 1) define a structure that is used to save all or part of the signal contained in the GPS data; 2) after receiving the GPS data containing a complete statement, save it in an array; 3) read step 2) the signal corresponding to the structure defined by step 1 in the array and the read signal. The information value is stored in the structure; 4) output the number of the signals read, and output the information value of each signal; 5) the real value represented by each information value is obtained by the agreement of the corresponding GPS data. According to the method and system of GPS data analysis of this invention, the system takes full advantage of the function of the programming language, according to the protocol format of GPS data, it can get the actual data through arithmetic operation, reduce the code capacity, improve the efficiency of code execution, shorten the development cycle and reduce the production cost.

【技术实现步骤摘要】
一种GPS数据解析方法及系统
本专利技术涉及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格式、GNGGA格式、GNGLL格式。优选地,GPS数据对应的协议为NMEA-0183协议。优选地,步骤2)包括,当接收到GPS数据中的结束符则判断出已接收一条完整语句。根据本专利技术的GPS数据解析方法及系统充分利用编程语言自带的函数,按照GPS数据的协议格式,将需要解析的语句通过算法运算得到实际数据,减少了代码容量,提高了代码执行效率,并且缩短了开发周期,降低了生产成本。本专利技术的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施例中将是显而易见的,或者将在并入本文中的附图和随后的具体实施例中进行详细陈述,这些附图和具体实施例共同用于解释本专利技术的特定原理。附图说明通过结合附图对本专利技术示例性实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本专利技术示例性实施例中,相同的参考标号通常代表相同部件。图1为根据本专利技术的示例性实施方案的GPS数据解析方法流程图。具体实施方式下面将参照附图更详细地描述本专利技术。虽然附图中显示了本专利技术的优选实施例,然而应该理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本专利技术更加透彻和完整,并且能够将本专利技术的范围完整地传达给本领域的技术人员。本专利技术按照GPS数据的协议格式,将需要解析的语句通过算法运算得到实际数据。以下参考图1详细描述根据本专利技术示例性实施方案的GPS数据解析方法,其主要包括以下步骤:步骤1:定义用于保存GPS数据所包含信号的全部或者一部分的结构体。例如,对于格式为$GNRMC的GPS数据,其包含12个信号:UTC时间、定位状态、纬度、纬度半球、经度、经度半球、速度、地面航向、UTC日期、磁偏角、磁偏角方向、模式指示。可以定义保存这12个信号的结构体,也可以定义保存其中几个信号的结构体。步骤2:在接收到包含一条完整语句的GPS数据后,将其保存在一个数组中。当接收到GPS数据中的结束符则判断出已接收一条完整语句。假设从GPS接收到的是$GNRMC完整的一条语句,数据例如为:$GNRMC,040755.000,A,3957.707256,N,11618.225323,E,0.000,323.553,171215,,E,A*37,可以将数据保存在一个数组中。步骤3:读取步骤2)得到的数组中与步骤1)定义的结构体对应的信号,并将所读取的信号的信息值存储到步骤1)中定义的结构体中。在C语言运行环境中,可以通过以下语句从步骤2)得到的数组中提取与步骤1)定义的结构体对应的信号:constchar*GNRMC="$GNRMC,%f,%c,%f,%c,%f,%c,%f,%f,%d",之后通过“sscanf”函数读取相应信号的信息值,并存储到该结构体中。步骤4:输出所读取的信号的数目,并且输出每个信号的信息值。通过上述方法,可以一次得出所有需要从该语句中提取的数据。步骤5:参考GPS数据对应的协议得到每个信息值所代表的真实值。如果GPS数据对应的协议是NMEA-0183,则参考该协议做相应的处理可以得到真实值。通过所输出的信号数目可判断出当前收到数据的完整性和准确性。为便于理解本专利技术实施例的方案及其效果,以下给出一个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本专利技术,其任何具体细节并非意在以任何方式限制本专利技术。应用示例1以下示例运行环境为C语言:首先,定义用于存储GNRMC格式的GPS数据中UTC时间、定位状态、纬度、纬度半球、经度、经度半球、地面速率、地面航向、UTC日期这9个信号的数据体。首先做变量类型声明:typedeffloatfp32;typedefunsignedcharuint8;typedefunsignedlonguint32;接下来定义保存GPS数据的结构体:定义结构体类型的变量:STRUCT_RMC_INFOg_stRmcData={0};定义返回值:intstatus=0;从GPS接收到的是$GNRMC完整的一条语句,为:$GNRMC,040755.000,A,3957.707256,N,11618.225323,E,0.000,323.553,171215,,E,A*37将数据保存在g_u8RecGNRMC数组中。提取与所定义的结构体对应的信号:constchar*GNRMC="$GNRMC,%f,%c,%f,%c,%f,%c,%f,%f,%d"。读取相应信号的信息值,并存储到该结构体:status=sscanf((char*)g_u8RecGNRMC,GNRMC,&g_stRmcData.utctime,&g_stRmcData.PositioningStatus,&g_stRmcData.latitude_value,&本文档来自技高网...

【技术保护点】
1.一种GPS数据解析方法,其特征在于,包括:1)定义用于保存GPS数据所包含信号的全部或者一部分的结构体;2)在接收到包含一条完整语句的GPS数据后,将其保存在一个数组中;3)读取步骤2)得到的数组中与步骤1)定义的结构体对应的信号,并将所读取的信号的信息值存储所述结构体中;4)输出所读取的信号的数目,并且输出每个信号的信息值;5)参考GPS数据对应的协议得到每个信息值所代表的真实值。

【技术特征摘要】
1.一种GPS数据解析方法,其特征在于,包括:1)定义用于保存GPS数据所包含信号的全部或者一部分的结构体;2)在接收到包含一条完整语句的GPS数据后,将其保存在一个数组中;3)读取步骤2)得到的数组中与步骤1)定义的结构体对应的信号,并将所读取的信号的信息值存储所述结构体中;4)输出所读取的信号的数目,并且输出每个信号的信息值;5)参考GPS数据对应的协议得到每个信息值所代表的真实值。2.根据权利要求1所述的GPS数据解析方法,其中,所接收的GPS数据格式包括GNRMC格式、GNGGA格式、GNGLL格式。3.根据权利要求1所述的GPS数据解析方法,其中,GPS数据对应的协议为NMEA-0183协议。4.根据权利要求1所述的GPS数据解析方法,其中,步骤2)包括,当接收到GPS数据中的结束符则判断出已接收一条完整语句。5.一种GPS数据解析系统,其特征在于,包括用于接收GPS数据的...

【专利技术属性】
技术研发人员:付印鹏
申请(专利权)人:智车优行科技北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1