GPS数据包解析

合集下载

GPS协议详解 (2)

GPS协议详解 (2)

GPS协议详解协议名称:GPS协议详解一、引言GPS(全球定位系统)协议是一种用于定位和导航的全球性卫星导航系统。

本协议旨在详细介绍GPS协议的工作原理、数据格式和通信流程,以便用户能够全面了解和正确使用GPS设备。

二、协议内容1. GPS工作原理GPS系统由一组卫星、地面控制站和用户接收器组成。

卫星通过广播信号发送时间和位置信息,接收器通过接收多个卫星信号并计算距离来确定自身位置。

2. GPS数据格式GPS数据通常以NMEA(National Marine Electronics Association)格式传输。

NMEA格式使用ASCII字符,包含多个数据字段,例如时间、位置、速度、方向等。

常用的NMEA数据格式包括GGA(位置信息)、RMC(推荐最小数据集)和VTG(地面速度信息)等。

3. GPS通信流程GPS设备通过串行端口与用户设备(如计算机、智能手机等)进行通信。

通信流程如下:a. 用户设备发送请求命令给GPS设备,例如获取当前位置信息。

b. GPS设备接收到请求命令后,根据命令类型进行相应的处理。

c. GPS设备将处理结果以NMEA格式的数据包发送回用户设备。

d. 用户设备接收到GPS设备发送的数据包后,解析数据并进行相应的处理。

4. GPS协议命令GPS协议定义了一系列命令,用于控制和配置GPS设备。

常用的GPS协议命令包括:a. $PMTK(MTK定制命令):用于配置GPS设备的工作模式、输出频率等。

b. $GPGGA(GPS定位信息):用于获取GPS设备的位置信息。

c. $GPRMC(推荐最小数据集):用于获取GPS设备的位置、速度和方向信息。

d. $GPVTG(地面速度信息):用于获取GPS设备的地面速度和航向信息。

e. $GPGLL(地理定位信息):用于获取GPS设备的纬度、经度和UTC时间信息。

5. GPS数据解析用户设备在接收到GPS设备发送的数据包后,需要进行数据解析才干获取实用的信息。

GPS静态数据解算(自己整理版详细流程)

GPS静态数据解算(自己整理版详细流程)
GPS应用
汇 报 人: 日 期:2019.6.29
1 PART
GPS静态测量及基线解算
2 PART
曲线要素输入
3 PART
坐标转换
GPS静态观测及基பைடு நூலகம்解算
1、静态GPS原理
静态相对定位是在WGS-84坐标系中,利用载波相位确定 观测站与某一地面参考点之间的相对位置,或两测站之间的相对位置。 也就是我们通常所说的静态测量。测量时必须使用两台或两台以上的 接收机分别摆在不同的测站上,两两测站之间至少要有4颗共同卫星, 同步做一定时间的静止观测。其精度经静态后处理软件处理后可达到 仪器标识的精度(一般在GPS接收机机头上有说明)
一2、、网网形形设设计计
(1) 选点与埋设 在选点时应遵循以下原则: 1)点位周围应便于安置接收设备,视野开阔视场内障碍物的高度角不宜超过15°。 2)点位应远离大功率无线电发射源(如电视台、电台微波站等)及电压输电线和微波无线电信号 传送通道,以避免周围磁场对GPS信号的干扰; 3)点位周围不应有强烈反射卫星信号的物体(如大型建筑物等); 4)点位应选在交通方便,并有利于用其他测量手段扩展和联测,以提高作业效率; 5)点位应选在地面基础稳固的地方,以利于点位的保存; 6)点位的埋设宜用混凝土现场浇筑的形式埋设为不锈钢标志,埋深应在当地永久冻土层以下0.3 米,桩面注记字体应朝向正北。
(4)设计网形 布设GPS控制网的观测作业方式主要以下几种:点连式、边连式、网连式和混连 式:
3、外业施侧
(1)、观测计划 GPS卫星的可见性图及最佳观测时间的选择 采用的接收机类型和数量 观测区的划分 运输 通信等
(2)野外观测 在外业观测中,仪器操作人员应注意以下事项: 1、 当确认外接电源电缆及天线等各项连接完全无误后,方可接通电源,启动接收机。 2、 一个时段观测过程中,不允许进行以下操作:关闭又重新启动; 改变卫星高度角设置;改变天线位 置;改变数据采样间隔。 3、在观测过程中要特别注意供电情况。 4、仪器高一定要按规定始、末各量测一次,并及时输入仪器及记入测量手簿之中。 5、接收机在观测过程中不要靠近接收机使用对讲机、玩手机。 6、观测过程中要随时查看仪器内存或硬盘容量,每日观测结束后,应及时将数据转存至计算机硬、软 盘上,确保观测数据不丢失。

GPS协议详解

GPS协议详解

GPS协议详解协议名称:GPS协议详解一、引言GPS(全球定位系统)协议是一种用于定位和导航的协议,通过卫星信号来确定地理位置和时间信息。

本协议旨在详细介绍GPS协议的工作原理、数据格式和通信流程,以便读者全面了解GPS技术。

二、协议概述GPS协议是一种规定了GPS设备与接收器之间通信方式和数据格式的协议。

它定义了数据的传输方式、数据内容以及数据的解析方法,确保GPS设备能够准确地获取卫星信号并解析出位置和时间信息。

三、GPS协议的工作原理1. GPS信号接收:GPS设备通过接收卫星发射的无线信号来获取定位信息。

卫星信号中包含有关卫星位置、时间、纠偏等信息。

2. 数据解析:GPS设备将接收到的信号解析成可用的数据。

解析过程包括解析卫星信号、计算卫星位置、计算接收器位置等。

3. 数据传输:GPS设备将解析后的数据传输给接收器。

数据传输方式可以是串口、USB、无线等。

4. 数据处理:接收器接收到GPS设备传输的数据后,进行进一步的处理,包括数据过滤、纠正、计算等。

5. 数据输出:接收器将处理后的数据输出给用户,通常以文本、数字或图形的形式呈现。

四、GPS协议的数据格式1. NMEA 0183协议:NMEA 0183是一种常用的GPS数据格式,它定义了一系列的语句(Sentence)来传输GPS数据。

常见的语句包括GGA(定位信息)、RMC(推荐定位信息)和VTG(地面速度信息)等。

2. RTCM协议:RTCM是一种用于差分GPS定位的协议,它定义了一系列的差分数据格式,用于提高GPS定位的精度。

3. SiRF协议:SiRF是一种常用的GPS芯片厂商,它定义了一种特定的数据格式,用于与其GPS芯片进行通信。

五、GPS协议的通信流程1. 初始化:接收器与GPS设备建立通信连接,并发送初始化命令,包括波特率、数据格式等。

2. 数据请求:接收器向GPS设备发送数据请求命令,要求获取特定的GPS数据。

3. 数据传输:GPS设备将请求的数据通过指定的通信方式传输给接收器。

GPS数据包解析

GPS数据包解析

路遥电子整理GPS上电后,每隔一定的时间就会返回一定格式的数据,数据格式为:$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x每行开头的字符都是‘$’,接着是信息类型,后面是数据,以逗号分隔开。

一行完整的数据如下:$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809,,,A*60信息类型为:GPGSV:可见卫星信息GPGLL:地理定位信息GPRMC:推荐最小定位信息GPVTG:地面速度信息GPGGA:GPS定位信息GPGSA:当前卫星信息这里我们只解析GPRMC和GPGGA的信息GPRMC数据详解:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<1> UTC时间,hhmmss(时分秒)格式<2> 定位状态,A=有效定位,V=无效定位<3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<4> 纬度半球N(北半球)或S(南半球)<5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)<6> 经度半球E(东经)或W(西经)<7> 地面速率(000.0~999.9节,前面的0也将被传输)<8> 地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)<9> UTC日期,ddmmyy(日月年)格式<10> 磁偏角(000.0~180.0度,前面的0也将被传输)<11> 磁偏角方向,E(东)或W(西)<12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)解析内容:1.时间,这个是格林威治时间,是世界时间(UTC),我们需要把它转换成北京时间(BTC),BTC和UTC差了8个小时,要在这个时间基础上加8个小时。

GPS专用名词解析

GPS专用名词解析

GPS专用名词解析
冷启动:冷启动是将GPS模块中的数据全部清空然后进行重新搜索的意思,也就是我们常见的第一次使用搜星或者在GPS设置中的复位按键,冷启动的搜星时间普遍较长,正常状态在50秒左右,如果处于信号不好的位置则搜星时间更长。

热启动热启动是间隔上次定位2小时以内的再次搜星,它是基于最后定位所保留的卫星信号基础上进行再次尝试连接,因此搜星速度相对较快,一般都在10秒以下。

暖启动:暖启动的搜星速度是介于冷启动和热启动之间的,判定标准以间隔上次定位2小时以后再次搜星,它同样也是基于最后定位所保留的卫星基础搜星,不同于热启动的在于并不和原来的卫星进行连接,而是通过范围位置进行重新搜星。

导航地图:我们常说的导航地图实际上是包括了导航地图运行软件和导航地图图资,其中图资就是具体的地理位置特征及丰富的POI兴趣点,而导航地图运行软件是承载导航地图图资,并将其有效运行展现在车友面前的软件。

兴趣点:兴趣点也就是我们常说的POI(Point of interest),它
是由地图厂商所收录的信息点,为了方便车友查找对应的目的地,如餐馆、大厦等。

举个例子,永盛杰导航仪使用的图吧地图除了支持北京、上海、广州、深圳等36个城市实时路况信息。

还支持我的位置周边餐饮、购物、停车场等任何信息点搜索。

这就是兴趣点的使用实例。

路径:路径是GPS内存中规划的一组数据,包括一个起点和一个终点的坐标,还可以包括若干中间点的坐标。

简单来说就是提供车友出行所到目的地的一条参考路线。

U-Blox芯片GPS 模块的UBX协议解析与配置

U-Blox芯片GPS 模块的UBX协议解析与配置

U-Blox芯片GPS 模块的UBX协议解析与配置——写代码的TobemU-Blox 支持NMEA、UBX、RTCM三种协议,程序中使用的是UBX协议,其协议格式如下图所示:需要注意的是,对于数据类型大于一个字节的数据存储,其使用的是小端模式,故进行数据读写时,先低字节,后高字节。

协议格式后两个字节的校验码按如下方式进行求取:GPS进行使用前,需进行初始化配置,主要涉及串口通信配置,将设置写入eeprom中,GPS 的更新频率、要进行转换读取的数据包等:switch(packet_count){case 1:{//配置GPS UBX协议输出,波特率为38400packet_count++;}break;case 2:{//命令存储在eeprom中packet_count++;}break;case 3:{//配置gps更新频率为4hz,导航更新为4hz,采用utc时间packet_count++;}break;case 4:{UBX_CFG_MSG_Encode(NAV_POSLLH); //配置所需数据包packet_count++;}break;case 5:{UBX_CFG_MSG_Encode(NAV_STATUS); //配置所需数据包GPS_Encode_Index = 0;packet_count++;}break;case 6:{UBX_CFG_MSG_Encode(NAV_SOL); //配置所需数据包packet_count++;}break;case 7:{UBX_CFG_MSG_Encode(NAV_VELNED); //配置所需数据包packet_count++;}break;}GPS的配置以命令形式进行,主要参考手册中的CFG的相关指令。

下面以配置GPS UBX协议输出为例,进行GPS配置命令的说明://通信协议配置void UBX_CFG_PRT_Encode(u16 Protocol_out,u32 Baudrate) //只配置输出模式和波特率(占四个字节) {write_two_byte_to_GPS_Encode_Buffer(0X0001); //目标串口1write_two_byte_to_GPS_Encode_Buffer(0X0000);write_two_byte_to_GPS_Encode_Buffer(0X08D0);write_two_byte_to_GPS_Encode_Buffer(0X0000);//配置波特率,先低字节,后高字节write_byte_to_GPS_Encode_Buffer(Baudrate%256);write_byte_to_GPS_Encode_Buffer((Baudrate%(0XFFFF+1))/256);write_byte_to_GPS_Encode_Buffer((Baudrate%(0XFFFFFF+1))/(0XFFFF+1)); write_byte_to_GPS_Encode_Buffer(Baudrate/(0XFFFFFF+1));write_two_byte_to_GPS_Encode_Buffer(0X0001); //协议输入默认为UBXwrite_two_byte_to_GPS_Encode_Buffer(Protocol_out); //输出协议格式write_two_byte_to_GPS_Encode_Buffer(0X0000);write_two_byte_to_GPS_Encode_Buffer(0X0000);}前面说到数据类型大于一字节的数据,其按小端模式进行存储,因此先写低字节,后写高字节://写2字节到编码缓存void write_two_byte_to_GPS_Encode_Buffer(u16 value){GPS_Encode_Buffer[GPS_Encode_Index++]=value; //先写低字节GPS_Encode_Buffer[GPS_Encode_Index++]=(value>>8); //后写高字节}GPS的频率配置如下,根据手册,导航频率参数设置似乎不对:UBX_CFG_RATE_Encode(250,250,Time_source_UTC); //gps测量为4hz,导航为4hz,采用utc时间程序中使用串口7中断进行GPS数据的接收,一旦还接收到数据,就将定时器7的计数清零,定时器7设置为100ms中断,假如100ms内没有数据接收到,且接收缓冲区的首地址内容非空,则认为接收完成。

GPS数据解析代码

GPS数据解析代码
FILE *fi;
int fd;
char gps_buff[512];
int timesync; // 时钟同步标志,如果有此标志,同步完成就退出程序
int real; // 实数据发出模式
int to_pm;
//int to_lcd;
void writetofile( void );
#include <errno.h>
#include <signal.h>
#include <ctype.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <sys/types.h>
#include "../include/gps.h"
//
static void proc_gps( char *buff, int length )
{
int i;
for(i=0; i<length; i++)
{
if (buff[i] == '$') // 检查是否有开头
{
s_index = 1;
sbuff[0] = buff[i];
{
write(2, "ERROR1", 6);
close(fd);
exit(1);
}
fi = fdopen(fd, "r");
if (fi<=0)
{
write(2, "ERROR2", 6);

GPS定位原理及车辆应用解析

GPS定位原理及车辆应用解析

GPS定位原理及车辆应用解析GPS(全球定位系统)是一种利用卫星定位技术,能够提供全球范围内精确的位置和时间信息的系统。

它由美国国防部开发,始于1973年,于1993年正式向公众开放。

如今,GPS技术已被广泛应用于车辆导航、车辆监控、车辆定位等领域,为车辆运输行业提供了更好的服务和管理手段。

卫星系统:GPS系统由约30颗绕地球运行的卫星组成,这些卫星被平均分布在6个轨道面上。

每颗卫星每天完成两个轨道的运行,它们的运行路径设计得非常精确,能够提供全球覆盖的信号。

卫星通过无线电波向用户发送数据包,其中包括它们的位置和时间信息。

用户接收器:车辆上的GPS接收器是接收和处理卫星信号,以确定车辆位置的装置。

接收器接收到来自至少4颗卫星的信号后,通过测量信号传播时间的方法,计算出车辆与每颗卫星之间的距离,并通过三角定位的方法确定车辆的精确位置。

接收器还可使用地球表面上的其它辅助信号,如地面无线电台发出的位置校正信号,以提高定位的准确性。

地面控制系统:地面控制系统主要负责维护和管理卫星系统的正常运行。

它包括多个地面控制站,用于监测卫星状态、调整卫星轨道、更新卫星钟等。

地面控制系统还负责向卫星发送校正和更新数据,确保卫星系统始终保持在一个准确的状态。

车辆应用方面,GPS定位技术在车辆导航、车辆监控和车辆定位等领域发挥了重要作用。

在车辆导航方面,GPS定位技术能够为驾驶员提供准确的导航信息,包括当前位置、行驶路线和导航指引等。

通过导航系统,驾驶员可以预先规划行驶路线,避开拥堵路段,准确抵达目的地。

同时,导航系统还提供了实时交通信息,帮助驾驶员选择最佳路线,提高行驶效率。

在车辆监控方面,GPS定位技术可以实时跟踪车辆的位置和行驶状态。

通过与地面控制系统的连接,车辆监控中心可以获取车辆的实时位置、行驶速度和行驶路线等信息。

这些信息能够帮助监控中心实时监控车辆的运行状况,及时发现并解决潜在问题,提高车辆的安全性和运输效率。

GPS协议详解

GPS协议详解

GPS协议详解协议名称:GPS协议详解一、引言GPS(全球定位系统)协议是一种用于定位和导航的协议,通过卫星和接收器之间的通信,提供准确的地理位置信息。

本协议旨在详细介绍GPS协议的工作原理、数据格式和通信流程。

二、工作原理1. GPS系统由24颗卫星组成,这些卫星围绕地球轨道运行,每颗卫星都具有精确的时钟和位置信息。

2. 接收器通过接收来自至少4颗卫星的信号,并计算信号传播的时间差来确定其位置。

3. 接收器通过与卫星的通信,获取卫星的位置和时钟信息,以便更准确地计算位置。

4. GPS协议定义了接收器与卫星之间的通信规则和数据格式。

三、数据格式1. NMEA 0183格式:最常用的GPS数据格式,包括位置、速度、时间等信息。

每条NMEA消息以"$"开始,以"\r\n"结束。

2. RTCM SC-104格式:用于差分GPS,提供更高的精度和可靠性。

包括基准站和移动站之间的数据交换。

3. SiRF二进制格式:用于SiRF接收器,提供更多的数据和控制选项。

四、通信流程1. 接收器启动,并搜索可见的卫星信号。

2. 接收器与卫星建立通信连接,获取卫星的位置和时钟信息。

3. 接收器计算自身的位置,速度和时间,并将数据以NMEA格式发送给外部设备。

4. 外部设备接收到GPS数据后,可以进行进一步的处理和应用,如导航、地图显示等。

五、协议规范1. 接收器应符合NMEA 0183、RTCM SC-104或SiRF二进制格式的规范,以确保数据的兼容性和可靠性。

2. 数据传输应使用可靠的通信协议,如串口、USB或无线网络等。

3. 接收器应具备良好的抗干扰能力,以确保在复杂的环境中仍能正常工作。

4. 接收器应提供完善的错误处理和故障诊断机制,以便及时发现和解决问题。

5. GPS数据的解析和处理应遵循相应的算法和规范,以确保数据的准确性和可靠性。

六、安全性考虑1. GPS协议的数据传输应采用加密和身份验证等安全措施,以防止数据被篡改或伪造。

GPS-GPZDA数据解析C语言

GPS-GPZDA数据解析C语言
2.3.3
这是一种使用没有在标准下预定义的特殊内容的方法。它通常的格式为:$PmmmA,df1,df2,....,[CR][LF]P说明是属性内容,mmm定义为厂商信息代码,A(A-Z)表明信息类型。
NMEA-0183协议定义的语句非常的多,主要有$GPGLL、 $GPGGA、$GPVTG、$GPZDA等。因为本次课题我们需要使用GPS-GPZDA进行数据解析所以我们只介绍GPZDA标准格式的样式。
2.3.2
查询的标准格式为:$ttllQ,sss,[CR][LF]
前面两个字符表示请求者的信息源的识别码,后面两个字符是被查询设备的识别码,最后一个字符说明这是一个查询的信息。紧跟着的字符(SSS)包含了三个字的被查询内容的记忆信息。例如: $CCGPQ,ZDA[CR][LF] “CC”说明计算机正从“GP”这个设备查询ZDA中的内容。GPS将会每隔1秒发送内容直到有新的请求。
char chhour[5]={'\0'};
char chmin[5]={'\0'};
char chsec[8]={'\0'};
char chsum[10]={'\0'};
char afterch[128]={'\0'};
int i,j,n,m; /*定义并初始化一些数组,指针,整型变量等用于后续程序使用*/
通过这次课程设计我们可以了解,如何用GPZDA解析GPS的时间信号,在计算机上输出普通用户所能理解的语句,让用户能够在时间信息这方面更加精确地得到信息,给用户提供更可靠的更高水准的服务。
第一章
GPS全球卫星定位系统由21颗工作卫星和3颗备用卫星组成。它们分布在6个等间距的轨道平面上,每个轨道面上有4颗工作卫星。GPS能覆盖全球,能够连续、实时、隐蔽地定位,一次定位时间仅几秒到十几秒,用户不发射任何电磁信号,只要接受卫星导航信号即可定位,所以可全天候昼夜作业。

GPS数据包格式解析

GPS数据包格式解析

GPS数据包格式解析四种定位系统:1、美国的全球定位系统(Global Positioning System,GPS)2、俄罗斯的格罗拉斯(Global Nabigation Satellite System,GLONASS)3、中国的北⽃卫星导航系统(BeiDou Navigation Satellite System,BDS)4、欧盟的伽利略卫星导航系统(Galileo Satellite Navigation System,GALILEO)GGA:定位信息GLL:地理定位信息GSA:当前卫星信息GSV:可见卫星信息RMC:推荐最⼩定位信息VTG:地⾯速度信息常⽤的定位模块有单模和双模单模就只有⼀种定位系统(GPS 或 GLONASS 或 BDS)双模就包括两种定位系统(GPS+GLONASS 或 GPS+BDS)不论哪种模式的数据包,只是前缀不同,后⾯的格式都是相同的。

$xxGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1字段0:$xxGGA,标明该包数据为定位信息字段1:UTC时间,hhmmss.sss,时分秒格式字段2:纬度ddmm.mmmm,度分格式(前导位数不⾜则补0)字段3:纬度 N(北纬)或S(南纬)字段4:经度dddmm.mmmm,度分格式(前导位数不⾜则补0)字段5:经度 E(东经)或W(西经)字段6:定位状态,0=未定位,1=⾮差分定位,2=差分定位,3=⽆效PPS,6=正在估算字段7:正在使⽤的卫星数量(00 - 12)(前导位数不⾜则补0)字段8:HDOP⽔平精度因⼦(0.5 - 99.9)字段9:海拔⾼度(-9999.9 - 9999.9)字段10:地球椭圆⾯相对⼤地⽔准⾯的⾼度字段11:差分时间(从最近⼀次接收到差分信号开始的秒数,如果不是差分定位将为空)字段12:查分站ID号0000 - 1023(前导位数不⾜则补0,如果不是差分定位将为空)字段13:校验值(异或校验)$xxGLL,4250,5589,S,14718.5084,E,092204.999,A*2D字段0:$xxGLL,表明该包数据为地理定位信息字段1:纬度ddmm.mmmm,度分格式(前导位数不⾜则补0)字段2:纬度N(北纬)或S(南纬)字段3:经度dddmm.mmmm,度分格式(前导位数不⾜则补0)字段4:经度 E(东经)或W(西经)字段5:UTC时间,hhmmss.sss格式字段6:状态,A=定位,V=未定位字段7:检验值(异或校验)$xxGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A字段0:$xxGSA,表明该包数据为当前卫星信息字段1:定位模式,A=⾃动⼿动2D/3D,M=⼿动2D/3D字段2,定位类型,1=未定位,2=2D定位,3=3D定位字段3:PRN码(伪随机噪声码),第1信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段4:PRN码(伪随机噪声码),第2信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段5:PRN码(伪随机噪声码),第3信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段6:PRN码(伪随机噪声码),第4信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段7:PRN码(伪随机噪声码),第5信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段8:PRN码(伪随机噪声码),第6信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段9:PRN码(伪随机噪声码),第7信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段10:PRN码(伪随机噪声码),第8信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段11:PRN码(伪随机噪声码),第9信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段12:PRN码(伪随机噪声码),第10信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段13:PRN码(伪随机噪声码),第11信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段14:PRN码(伪随机噪声码),第12信道正在使⽤的卫星PRN码编号(00)(前导位数不⾜则补0)字段15:PDOP综合位置精度因⼦(0.5 - 99.9)字段16:HDOP⽔平精度因⼦(0.5 - 99.9)字段17:VDOP垂直精度因⼦(0.5 - 99.9)字段18:校验值(异或校验)$xxGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70字段0:$xxGSV,表明该包数据为可见卫星信息字段1:本次GSV 语句的总数⽬(1 - 3)字段2:本条GSV 语句是本次GSV 语句的第⼏条(1 - 3)字段3:当前可见卫星总数(00 - 12)(前导位数不⾜则补0)字段4:PRN 码(伪随机噪声码)(01 - 32)(前导位数不⾜则补0)字段5:卫星仰⾓(00 - 90)度(前导位数不⾜则补0)字段6:卫星⽅位⾓(00 - 359)度(前导位数不⾜则补0)字段7:信噪⽐(00-99)dbHz字段8:PRN 码(伪随机噪声码)(01 - 32)(前导位数不⾜则补0)字段9:卫星仰⾓(00 - 90)度(前导位数不⾜则补0)字段10:卫星⽅位⾓(00 - 359)度(前导位数不⾜则补0)字段11:信噪⽐(00-99)dbHz字段12:PRN 码(伪随机噪声码)(01 - 32)(前导位数不⾜则补0)字段13:卫星仰⾓(00 - 90)度(前导位数不⾜则补0)字段14:卫星⽅位⾓(00 - 359)度(前导位数不⾜则补0)字段15:信噪⽐(00-99)dbHz字段16:校验值(异或校验)$xxRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50字段0:$xxRMC,表明该包数据为推荐最⼩定位信息字段1:UTC 时间,hhmmss.sss 格式字段2:状态,A=定位,V=未定位字段3:纬度ddmm.mmmm,度分格式(前导位数不⾜则补0)字段4:纬度N(北纬)或S(南纬)字段5:经度dddmm.mmmm,度分格式(前导位数不⾜则补0)字段6:经度E(东经)或W(西经)字段7:速度,节,Knots字段8:⽅位⾓,度字段9:UTC ⽇期,DDMMYY 格式字段10:磁偏⾓,(000 - 180)度(前导位数不⾜则补0)字段11:磁偏⾓⽅向,E=东W=西字段16:校验值(异或校验)$xxVTG,89.68,T,,M,0.00,N,0.0,K*5F字段0:$xxVTG,表明该包数据为地⾯速度信息字段1:运动⾓度,000 - 359,(前导位数不⾜则补0)字段2:T=真北参照系字段3:运动⾓度,000 - 359,(前导位数不⾜则补0)字段4:M=磁北参照系字段5:⽔平运动速度(0.00)(前导位数不⾜则补0)字段6:N=节,Knots字段7:⽔平运动速度(0.00)(前导位数不⾜则补0)字段8:K=公⾥/时,km/h字段9:校验值(异或校验)。

gps 报文解析规则

gps 报文解析规则

gps 报文解析规则GPS报文解析规则GPS(全球定位系统)是一种卫星导航系统,可以通过接收卫星信号来确定地理位置。

GPS报文是指从卫星发送到接收器的数据信息,其中包含了位置、速度、时间等相关信息。

解析GPS报文可以帮助我们理解和利用这些数据,下面将介绍一些常见的GPS报文解析规则。

1. GGA报文解析规则GGA报文是最常见的GPS报文之一,包含了位置、时间、定位质量等信息。

在解析GGA报文时,我们可以根据其固定的格式进行解析。

报文中的各个字段分别代表着不同的信息,如纬度、经度、高度、卫星数量等。

通过解析GGA报文,我们可以获取到当前接收器的精确位置信息。

2. RMC报文解析规则RMC报文也是常见的GPS报文,主要包含了位置、速度、时间等信息。

在解析RMC报文时,我们需要注意报文中的各个字段的含义和格式。

其中,位置信息通常包括纬度和经度,而速度信息可以用来计算接收器的移动速度。

通过解析RMC报文,我们可以获取到接收器当前的位置和速度信息。

3. GSV报文解析规则GSV报文主要包含了卫星的信息,如卫星编号、仰角、方位角等。

在解析GSV报文时,我们可以根据报文格式逐个解析每个卫星的信息。

通过解析GSV报文,我们可以获取到当前可见卫星的数量以及每颗卫星的具体信息。

4. VTG报文解析规则VTG报文主要包含了接收器的航向和地面速度信息。

在解析VTG 报文时,我们可以提取出航向和速度的数值。

通过解析VTG报文,我们可以获取到接收器当前的航向和地面速度。

5. GSA报文解析规则GSA报文主要包含了接收器的定位模式和卫星信息。

在解析GSA 报文时,我们可以获取到接收器当前的定位模式,如手动模式、自动模式等。

同时,我们还可以获取到接收器使用的卫星的编号。

通过解析GSA报文,我们可以了解接收器当前的定位模式和使用的卫星信息。

6. ZDA报文解析规则ZDA报文主要包含了时间和日期信息。

在解析ZDA报文时,我们可以提取出年、月、日、小时、分钟和秒的数值。

gps数据解析函数

gps数据解析函数

GPS数据解析函数1. 简介GPS(全球定位系统)是一种利用卫星信号进行地理定位的技术,它已广泛应用于导航、地图、交通、军事等领域。

GPS数据解析函数是一种用于解析GPS数据的功能模块,它可以将从GPS接收器获取的原始数据转化为有意义的位置信息,包括经度、纬度、海拔高度、速度等。

2. GPS数据结构GPS数据通常采用NMEA(National Marine Electronics Association)协议进行传输,其中最常用的数据格式是NMEA 0183。

该格式定义了一种文本协议,每个数据包都以’$’开头,以回车换行符结束。

2.1 数据包格式一个典型的NMEA 0183数据包由多个字段组成,字段之间用逗号进行分隔。

数据包的第一个字段表示数据的类型,后续字段表示具体的数据内容。

例如,$GPGGA表示全球定位系统定位信息数据。

2.2 常用数据字段在GPS数据解析函数中,常用的数据字段有:•经度和纬度:表示地理位置的坐标信息;•海拔高度:表示当前位置的海拔高度;•速度:表示当前位置的移动速度;•方向:表示当前移动方向的角度。

3. GPS数据解析算法GPS数据解析函数的核心是解析接收到的GPS数据包,提取其中的关键信息。

以下是一种常用的GPS数据解析算法:3.1 接收数据GPS数据解析函数首先需要从GPS接收器获取原始数据。

通常,GPS接收器会以串口的形式将数据传输给计算机。

3.2 分割数据包将接收到的数据按照回车换行符进行分割,得到多个完整的数据包。

然后遍历这些数据包,逐个解析。

3.3 解析数据包对于每个数据包,首先判断其类型。

如果是需要的数据类型(例如GPGGA),则解析后续字段;否则忽略该数据包。

3.4 提取信息对于需要解析的数据包,根据字段的位置提取其中的信息。

例如,经度和纬度字段通常位于数据包的第三个和第四个位置。

3.5 数据格式转换将提取到的信息进行格式转换,以便后续的使用。

例如,将经度和纬度字段的度、分、秒格式转换为十进制格式。

GPS数据的特征提取与分析

GPS数据的特征提取与分析

GPS数据的特征提取与分析GPS(全球定位系统)是一种通过卫星定位来确定地球上的位置的技术。

在现代社会中,GPS已广泛应用于交通、物流、导航、军事等众多领域。

但是,随着GPS数据的快速发展,如何从海量的GPS数据中提取有用的信息成为了研究热点之一。

本文将探讨GPS数据的特征提取与分析方法。

一、GPS数据的特征GPS数据包含时间、经度、纬度、高度、速度、方向、精度等信息,这些信息可以反映出行动轨迹、速度变化、信号强度等特征。

下面将详细介绍GPS数据的特征。

1. 行动轨迹GPS数据可以记录下用户的定位信息,从而反映用户的路径轨迹。

路径轨迹通常体现出用户的行动轨迹,如运动员的训练轨迹、车辆的行车轨迹、旅游者的路线轨迹等。

路径轨迹可以为用户提供参考,帮助他们更好地规划出行路线,也可以用于监管、追踪等方面。

2. 速度变化GPS数据中的速度信息,可以反映出用户在不同位置的移动速度,如车辆在高速公路上的行车速度、运动员在不同时间段的运动速度等。

速度变化可以用于评估用户的运动能力,或者评估车辆在行驶过程中的合理性和安全性。

3. 信号强度GPS数据中的信号强度可以反映出用户所处的信号环境,如天气、地形、建筑物等对GPS信号的干扰情况。

这些影响因素,可能会导致GPS信号的丢失或者变弱。

因此,在分析GPS数据时,需要考虑这些因素的影响,以准确反映用户的情况。

二、GPS数据的特征提取方法为了更好地利用GPS数据,需要根据用户的需求,提取出有意义的信息。

下面将简述GPS数据的特征提取方法。

1. 轨迹提取轨迹提取方法通常基于GPS数据中的位置信息,通过位置点的连线来描述用户的路径轨迹。

常见的轨迹提取方法包括:基于距离阈值的轨迹提取法、基于时间阈值的轨迹提取法、基于密度的轨迹提取法等。

2. 速度提取速度提取方法通常基于GPS数据中的速度信息,通过对于速度变化的分析来提取出用户的行车状态。

常见的速度提取方法包括:基于积分的速度提取法、基于加速度的速度提取法、基于滑动窗口的速度提取法等。

GPS全球定位系统原理与应用解析

GPS全球定位系统原理与应用解析

第三代卫星尚在设计中,以取代第二代卫 星,改善全球定位系统。其特点是:可对自己 进行自主导航;每颗卫星将使用星载处理器, 计算导航参数的修正值,改善导航精度,增强 自主能力和生存能力。椐报道,该卫星在没有 与地面联系的情况下可以工作6个月,而其精 度可与有地面控制时的精度相当。
Block Ⅰ卫星
为使GPS具有高精度连续实时三维导航和定 位能力,以及良好的抗干扰性能,在设计上采 取了若干改善措施。
Slide 6
GPS系统的特点
全球性连续覆盖,全天候工作 定位精度高 观测时间短 测站间无需通视 可提供三维坐标 操作简便 功能多,用途广
Slide 7
GPS定位系统的组成
GPS定位技术是利用高空中的GPS卫星,向 地面发射L波段的载频无线电测距信号,由地 面上用户接收机实时地连续接收,并计算出接 收机天线所在的位置。因此,GPS定位系统是 由以下三个部分组成: (1)GPS卫星星座(空间部分) (2)地面监控系统(地面控制部分) (3)GPS信号接收机(用户设备部分)
双频接收机
双频接收机可以同时接收L1,L2载波信 号。利用双频对电离层延迟的不一样,可以消除 电离层对电磁波信号延迟的影响,因此双频接收 机可用于长达几千公里的精密定位。
按接收机通道数分类:
GPS接收机能同时接收多颗GPS卫星的信号, 为了分离接收到的不同卫星的信号,以实现对卫 星信号的跟踪、处理和量测,具有这样功能的器 件称为天线信号通道。根据接收机所具有的通道 种类可分为:
Slide 5
卫星定位技术发展的回顾
为满足军事和民用对连续实时和三维导航 的迫切要求,1973年美国国防部开始组织陆海 空三军,共同研究建立新一代卫星导航系统的 计划,这就是目前所称的“导航卫星授时测距/ 全球定位系统”(Navigation Satellite Timing and ranging / Global Positioning System)简称全球定位系统(GPS)。

GPS协议详解

GPS协议详解

GPS协议详解GPS(全球定位系统)协议是一种用于定位和导航的协议,它使用卫星信号来确定接收器的位置、速度和时间。

本文将详细介绍GPS协议的标准格式,包括协议的结构、数据格式、通信流程等内容。

一、协议结构GPS协议通常由头部、数据部分和校验部分组成。

1. 头部:头部包含了协议的版本信息、数据类型和长度等字段,用于标识和解析数据。

2. 数据部分:数据部分包含了GPS接收器发送的位置、速度、时间等信息。

具体的数据格式将在下一部分进行详细介绍。

3. 校验部分:校验部分用于验证数据的完整性和准确性,通常使用校验和或CRC校验算法。

二、数据格式GPS协议的数据部分包含了多个字段,用于描述接收器的位置、速度、时间等信息。

以下是常见的GPS数据字段:1. 经度和纬度:经度和纬度是描述位置的最基本信息。

经度表示东西方向上的位置,纬度表示南北方向上的位置。

通常使用度(°)作为单位,精确到小数点后几位。

2. 海拔高度:海拔高度表示接收器距离海平面的垂直距离,通常使用米(m)作为单位。

3. 速度和方向:速度表示接收器的移动速度,方向表示接收器的移动方向。

通常使用米每秒(m/s)作为速度单位,度(°)作为方向单位。

4. 时间:时间字段表示接收器接收到信号的时间。

通常使用协调世界时(UTC)作为时间标准。

5. 卫星信息:卫星信息字段包含了接收器当前可见的卫星的编号、信号强度等信息。

6. 定位质量指示器:定位质量指示器用于表示接收器的定位精度和可靠性,通常使用PDOP(位置精度因子)和HDOP(水平精度因子)等指标。

三、通信流程GPS协议的通信流程通常包括以下几个步骤:1. 接收器初始化:接收器在开始定位之前需要进行初始化,包括设置协议参数、搜索卫星信号等。

2. 数据请求:接收器向卫星发送数据请求,请求当前位置、速度、时间等信息。

3. 数据接收:接收器接收到卫星发送的数据,并解析数据字段。

4. 数据处理:接收器根据接收到的数据进行位置计算、速度计算等处理操作。

3.GPS信息-GPVTG数据解析

3.GPS信息-GPVTG数据解析

摘要GPS是利用卫星,在全球范围内实时进行定位、导航的系统,目前可以说是最热门、最受人瞩目的一项科技。

它具有在海、陆、空进行全方位实时三维导航与定位能力,并提供实时、全天候和全球性的导航服务。

所以,船舶可以根据GPS的解析信息来确保稳定而精确最佳航线。

随着科技的迅速发展,各种新型的航海仪器均已实现了数字化和计算机化,目前各种航海仪器之间的通信一班采用NMEA-0183接口。

NMEA-0183现已成为GPS导航设备统一的标准协议,主要包括GPGGA,GPRMC,GPVTG,GPGSV,GPZDA等语句格式,其中GPVTG的功能就是解析卫星信号中的对地速度信息,将其信号序列变为非专业人员可读取的文字。

本文针对当前比较普及的GPS系统,介绍了GPS通信的NMEA-0183协议、GPVTG信息解析的实现方法。

关键字:GPS NMEA-0183协议 GPVTG目录前言 (1)第1章绪论 (2)1.1 GPS定位系统原理 (2)1.2 C语言编程特点 (3)第2章NMEA-0183协议的简介 (4)2.1 NMEA-0183协议的格式定义 (4)2.2 NMEA-0183的应用领域 (5)2.3 NMEA-0183数据处理中的注意事项 (5)第3章设计方案 (6)3.1 主要方案思路及步骤 (6)3.1.1主流程图 (6)3.1.2调用函数流程图: (7)3.1.3解析程序的编写及流程图 (7)3.2程序的编写及调试结果 (8)3.2.1 最终程序及其注解 (8)3.2.2调试步骤及显示结果 (11)3.3文本输出显示结果: (13)第4章小结 (14)4.1 设计中遇到的问题及解决方案 (14)4.2心得体会 (15)[参考文献] (17)前言GPS系统是美国研制的全球性、全天候的卫星导航系统。

它主要是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的;其基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置;主要特点有:高精度、全天候、高效率、多功能、操作简便、应用广泛等。

MATLAB解析GPS数据程序

MATLAB解析GPS数据程序

% 注:本程序可直接在MATLAB2017a 中运行%该脚本文件用于学习GPS数据得读取,需要做其她用途请自行修改代码%本脚本文件得前面几行代码就是要设置得一些参数%默认使用3(需视情况修改)%波特率设为GPS模块默认得38400%下面为程序源码clearnum_execute= 100; %执行次数num_SingleRead = 150;%单次从串口读取得字节数(最好设置足够大(最低大概设为80),保证单次读取得数据包含一条完整得GPS数据)Timedelay =0、2;%用于延时读取串口数据BaudRate=38400; % 读取数据得波特率Terminator = 'CR';num_MaxTry= 5; %打开串口得最多尝试次数BytesAvailableFcnCount = 1000;%% 设置参数%delete(instrfindall); %串口打开失败时使用此句% delete(s);clear s % 串口打开失败时使用此句serial3 =serial('3');% 串口设置serial3、BytesAvailableFcnMode = ’byte';% serial3、InputBufferSize = 38400; % 输出波特率serial3、BaudRate= BaudRate;% 读入波特率% serial3、OutputBufferSize =1024;serial3、BytesAvailableFcnCount= BytesAvailableFcnCount;serial3、ReadAsyncMode = 'continuous’;serial3、Terminator = Terminator;%%打开串口count_opentimes=1;while contains(serial3、status,’closed')〉 0 &&count_opentimes 〈 num_MaxTryfopen(serial3); %打开串口count_opentimes = count_opentimes+1;endif contains(serial3、status,’open')< 1disp(’open failed!');returnend%%读取并处理数据% 初始化GPS_Data = GPS_Init();while(num_execute〉 0)GPS_DataStrs = fread(serial3,num_SingleRead,'char’);%一次读出10个字符GPS_DataStrs = reshape(GPS_DataStrs,1,[]);GPS_DataStrs =split_str2strs(GPS_DataStrs);GPS_Data_tmp= get_GPS_specificData(GPS_DataStrs);GPS_Data = Updata_GPU_Data(GPS_Data,GPS_Data_tmp);show_GPS_Data(GPS_Data);pause(Timedelay); %延时num_execute=num_execute—1;end% fprintf(s,'abcd');%给串口得发送数据% fscanf(s); %从串口得接收缓存读数据%%关闭串口并删除相关数据fclose(serial3); %关闭串口delete(serial3);clear serial3%%%将字符串根据'\r\n'划分成多个子字符串,同时去掉首尾无用得残余字符串function out_strs=split_str2strs(StrData)if contains(class(StrData),’char')uint8(StrData);endrecord = get_pos_enterflag(StrData);if StrData(1) == uint8('$') %开头为'$’得情况flag_start= 1;elseif size(record,2) >0flag_start = record(1)+2;elseout_strs = cell(0,0);returnendendif StrData(end)== 13flag_end =length(StrData)—1;elseif size(record,2) 〉 0flag_end = record(end)-1;endendif flag_start 〉= flag_endout_strs = cell(0,0);returnendStrData =StrData(flag_start:flag_end); %截取有效数据,方便下面划分子字符串record = get_pos_enterflag(StrData);num_strs = size(record,2)+1;out_strs =cell(num_strs,1);if num_strs 〉 1out_strs{1,1} = char(StrData(1:record(1)—1));if num_strs== 2out_strs{num_strs,1} = char(StrData(record(1)+2:end));elsefori = 2 :num_strs-1out_strs{i,1}= char(StrData(record(i—1)+2:record(i)-1));endout_strs{num_strs,1} =char(StrData(record(i)+2:end));endelseout_strs{1,1}= char(StrData);end%得到字符串中’\r\n’在字符串中得位置(实际为'\r’得位置)function record = get_pos_enterflag(data)record = []; % 记录回车符号位置for ii = 1 :length(data)—1if data(ii) ==13ifdata(ii+1)==10record = [record,ii];ii = ii+1;endendendendend% 得到具体GPS结构体数据function GPS_Data_tmp = get_GPS_specificData(StrsData)GPS_Data_tmp=[];num_str = size(StrsData,1);for i =1:num_strstr_tab = StrsData{i,1};if contains(str_tab,'GGA’) 〉0GPS_Data_tmp=GNGGA(str_tab);elseif contains(str_tab,’GSA') > 0GPS_Data_tmp = GNGSA(str_tab);elseif contains(str_tab,'GSV’) > 0GPS_Data_tmp= GNGSV(str_tab);elseif contains(str_tab,’RMC’) 〉0GPS_Data_tmp= GNRMC(str_tab);elseif contains(str_tab,’VTG’)〉0GPS_Data_tmp = GNVTG(str_tab);elseif contains(str_tab,’GLL') > 0GPS_Data_tmp= GNGLL(str_tab);endendend%GPS字符串解析function GPS_Data_tmp =GNGGA(str_tab)index = strfind(str_tab,’,');count= 1;Time =str_tab(index(count)+1:index(count+1)-1);count=count+1;Latitude = str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、LatitudeDir =str_tab(index(count)+1:index(count+1)—1);count=count+1;Longitude =str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、LongitudeDir = str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、GPSState = str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、SatelliteNum =str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、HDOP = str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、altitude = str_tab(index(count)+1:index(count+1)-1);count=count+1;% other = str_tab(index(count)+1:end);% 进一步处理GPS_Data_tmp、Time、hour = Time(1:2);GPS_Data_tmp、Time、min= Time(3:4);GPS_Data_tmp、Time、sec =Time(5:6);GPS_Data_tmp、Time、millisec = Time(8:10);GPS_Data_tmp、Latitude、degree =Latitude(1:2);% 纬度GPS_Data_tmp、Latitude、min = Latitude(3:4);tmp = str2double(Latitude(6:9));tmp =tmp*6/1000; % tmp= tmp/10000*60;GPS_Data_tmp、Latitude、sec = num2str(floor(tmp));GPS_Data_tmp、Latitude、millisec =num2str((tmp-floor(tmp))*10000);GPS_Data_tmp、Longitude、degree = Longitude(1:3); % 经度GPS_Data_tmp、Longitude、min = Longitude(4:5);tmp= str2double(Longitude(7:10));tmp =tmp*6/1000; % tmp= tmp/10000*60;GPS_Data_tmp、Longitude、sec = num2str(floor(tmp));GPS_Data_tmp、Longitude、millisec =num2str((tmp—floor(tmp))*10000);% UTC时间转换为北京时间hour = GPS_Data_tmp、Time、hour;if str2num(hour)+8 >=24GPS_Data_tmp、Time、hour=num2str(str2num(hour)+8—24);elseGPS_Data_tmp、Time、hour = num2str(str2num(hour)+8);endendfunctionGPS_Data_tmp = GNGSA(str_tab)index = strfind(str_tab,’,');count =1;GPS_Data_tmp、LocationMode = str_tab(index(count)+1:index(co unt+1)-1);count=count+1;GPS_Data_tmp、CurState = str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、PRN= str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、PDOP =str_tab(index(count)+1:index(c ount+1)—1);count=count+1;GPS_Data_tmp、HDOP =str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、VDOP = str_tab(index(count)+1:index(count+1)-1);count=count+1;% other =str_tab(index(count)+1:end);endfunctionGPS_Data_tmp =GNGSV(str_tab)% 此语句为与卫星有关得信息(包括卫星方位,卫星编号)% 暂时用不着,不处理GPS_Data_tmp= [];endfunction GPS_Data_tmp =GNRMC(str_tab)index = strfind(str_tab,',’);count =1;Time =str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、LocationState =str_tab(index(count)+1:index(count+1)—1);count=count+1;Latitude = str_tab(index(count)+1:index(c ount+1)-1);count=count+1;GPS_Data_tmp、LatitudeDir = str_tab(index(count)+1:ind ex(count+1)-1);count=count+1;Longitude = str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、LongitudeDir = str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、speed =str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、TrueDir = str_tab(index(count)+1:index(count+1)-1);count=count+1;Date =str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、MagneticAngle = str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、MagneticDir =str_tab(index(count)+1:index(count+1)-1);count=count+1;% other =str_tab(index(count)+1:end);%进一步处理GPS_Data_tmp、Time、hour =Time(1:2);GPS_Data_tmp、Time、min = Time(3:4);GPS_Data_tmp、Time、sec = Time(5:6);GPS_Data_tmp、Time、millisec = Time(8:10);GPS_Data_tmp、Latitude、degree = Latitude(1:2);%纬度GPS_Data_tmp、Latitude、min =Latitude(3:4);tmp = str2double(Latitude(6:9));tmp = tmp*6/1000;%tmp = tmp/10000*60;GPS_Data_tmp、Latitude、sec= num2str(floor(tmp));GPS_Data_tmp、Latitude、millisec = num2str((tmp—floor(tmp))*10000);GPS_Data_tmp、Longitude、degree = Longitude(1:3); %经度GPS_Data_tmp、Longitude、min= Longitude(4:5);tmp = str2double(Longitude(7:10));tmp = tmp*6/1000;% tmp = tmp/10000*60;GPS_Data_tmp、Longitude、sec =num2str(floor(tmp));GPS_Data_tmp、Longitude、millisec = num2str((tmp—floor(tm p))*10000);GPS_Data_tmp、DATE、day= Date(1:2);GPS_Data_tmp、DATE、month = Date(3:4);GPS_Data_tmp、DATE、year = Date(5:6);% UTC时间转换为北京时间hour= GPS_Data_tmp、Time、hour;if str2num(hour)+8 >= 24GPS_Data_tmp、Time、hour=num2str(str2num(hour)+8—24);elseGPS_Data_tmp、Time、hour =num2str(str2num(hour)+8);endendfunction GPS_Data_tmp = GNVTG(str_tab)index = strfind(str_tab,',');count = 1;GPS_Data_tmp、TrueDir= str_tab(index(count)+1:inde x(count+1)—1);count=count+1;GPS_Data_tmp、ReferenceTrueDir = str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、RelativeDir = str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、ReferenceRelativeDir =str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、step = str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、stepflag=str_tab(index(coun t)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、velocity =str_tab(index(count)+1:index (count+1)-1);count=count+1;% other = str_tab(index(count)+1:end); endfunction GPS_Data_tmp = GNGLL(str_tab)index = strfind(str_tab,',’);count= 1;Latitude =str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、LatitudeDir = str_tab(index(count)+1:index(count+1)-1);count=count+1;Longitude = str_tab(index(count)+1:index(count+1)—1);count=count+1;GPS_Data_tmp、LongitudeDir =str_tab(index(count)+1:index (count+1)-1);count=count+1;Date = str_tab(index(count)+1:index(count+1)-1);count=count+1;GPS_Data_tmp、LocationState = str_tab(index(count)+1:index(count+1)-1);count=count+1;%other = str_tab(index(count)+1:end);% 进一步处理GPS_Data_tmp、Latitude、degree = Latitude(1:2);% 纬度GPS_Data_tmp、Latitude、min = Latitude(3:4);tmp = str2double(Latitude(6:9));tmp= tmp*6/1000;% tmp = tmp/10000*60;GPS_Data_tmp、Latitude、sec= num2str(floor(tmp));GPS_Data_tmp、Latitude、millisec = num2str((tmp-floor(tm p))*10000);GPS_Data_tmp、Longitude、degree = Longitude(1:3); %经度GPS_Data_tmp、Longitude、min = Longitude(4:5);tmp=str2double(Longitude(7:10));tmp= tmp*6/1000; % tmp = tmp/10000*60;GPS_Data_tmp、Longitude、sec = num2str(floor(tmp));GPS_Data_tmp、Longitude、millisec =num2str((tmp—floor(t mp))*10000);GPS_Data_tmp、DATE、day =Date(1:2);GPS_Data_tmp、DATE、month=Date(3:4);GPS_Data_tmp、DATE、year =Date(5:6);end%更新获取到得相关数据function GPS_Data =Updata_GPU_Data(GPS_Data,GPS_Data_tmp)%用不到得数据可以注释掉ifisfield(GPS_Data_tmp,’Time') == 1GPS_Data、Time、hour = GPS_Data_tmp、Time、hour;GPS_Data、Time、min=GPS_Data_tmp、Time、min;GPS_Data、Time、sec =GPS_Data_tmp、Time、sec;GPS_Data、Time、millisec = GPS_Data_tmp、Time、millisec;endif isfield(GPS_Data_tmp,'DATE')== 1GPS_Data、DATE、day = GPS_Data_tmp、DATE、day;GPS_Data、DATE、month = GPS_Data_tmp、DATE、month;GPS_Data、DATE、year =GPS_Data_tmp、DATE、year;endif isfield(GPS_Data_tmp,'Latitude’) == 1GPS_Data、Latitude、degree = GPS_Data_tmp、Latitude、degre e;GPS_Data、Latitude、min=GPS_Data_tmp、Latitude、min;GPS_Data、Latitude、sec =GPS_Data_tmp、Latitude、sec;GPS_Data、Latitude、millisec = GPS_Data_tmp、Latitude、millisec;endif isfield(GPS_Data_tmp,'LatitudeDir') == 1GPS_Data、LatitudeDir =GPS_Data_tmp、LatitudeDir;endif isfield(GPS_Data_tmp,'Longitude')== 1GPS_Data、Longitude、degree=GPS_Data_tmp、Longitude、degree;GPS_Data、Longitude、min = GPS_Data_tmp、Longitude、min;GPS_Data、Longitude、sec =GPS_Data_tmp、Longitude、sec;GPS_Data、Longitude、millisec= GPS_Data_tmp、Lo ngitude、millisec;endif isfield(GPS_Data_tmp,'LongitudeDir')== 1GPS_Data、LongitudeDir = GPS_Data_tmp、LongitudeDir;endif isfield(GPS_Data_tmp,’GPSState')== 1GPS_Data、GPSState =GPS_Data_tmp、GPSState;endif isfield(GPS_Data_tmp,'SatelliteNum')==1GPS_Data、SatelliteNum = GPS_Data_tmp、SatelliteNum; endif isfield(GPS_Data_tmp,’speed’)== 1GPS_Data、speed= GPS_Data_tmp、speed;endif isfield(GPS_Data_tmp,'velocity’) == 1GPS_Data、velocity = GPS_Data_tmp、velocity;endif isfield(GPS_Data_tmp,’LocationState') == 1GPS_Data、LocationState =GPS_Data_tmp、LocationState;endif isfield(GPS_Data_tmp,’altitude')==1GPS_Data、altitude = GPS_Data_tmp、altitude;endif isfield(GPS_Data_tmp,’CurState’) == 1GPS_Data、CurState =GPS_Data_tmp、CurState;endif isfield(GPS_Data_tmp,’LocationMode') == 1GPS_Data、LocationMode= GPS_Data_tmp、LocationMode; endif isfield(GPS_Data_tmp,'HDOP’) == 1GPS_Data、HDOP=GPS_Data_tmp、HDOP;endif isfield(GPS_Data_tmp,’VDOP') == 1GPS_Data、VDOP = GPS_Data_tmp、VDOP;endif isfield(GPS_Data_tmp,’PDOP') == 1GPS_Data、PDOP = GPS_Data_tmp、PDOP;endif isfield(GPS_Data_tmp,’TrueDir')== 1GPS_Data、TrueDir =GPS_Data_tmp、TrueDir;endif isfield(GPS_Data_tmp,'MagneticAngle') == 1GPS_Data、MagneticAngle=GPS_Data_tmp、MagneticAngle;endif isfield(GPS_Data_tmp,'MagneticDir’) == 1GPS_Data、MagneticDir =GPS_Data_tmp、MagneticDi r;endifisfield(GPS_Data_tmp,'ReferenceTrueDir') == 1GPS_Data、ReferenceTrueDir = GPS_Data_tmp、ReferenceTrueDir;endif isfield(GPS_Data_tmp,’RelativeDir’) == 1GPS_Data、RelativeDir = GPS_Data_tmp、RelativeDir;endif isfield(GPS_Data_tmp,’ReferenceRelativeDir') == 1GPS_Data、ReferenceRelativeDir = GPS_Data_tmp、ReferenceRelativeDir;endif isfield(GPS_Data_tmp,'step’) == 1GPS_Data、step= GPS_Data_tmp、step;endif isfield(GPS_Data_tmp,’stepflag') == 1GPS_Data、stepflag = GPS_Data_tmp、stepflag;endif isfield(GPS_Data_tmp,’PRN’)== 1GPS_Data、PRN = GPS_Data_tmp、PRN;endend% 显示相关GPS数据function show_GPS_Data(GPS_Data)DataAndTime= sprintf(’20%02s-%02s-%02s %02s:%02s:%02s:%03s’,、、、GPS_Data、DATE、year,GPS_Data、DATE、month,GPS_Data、D ATE、day,、、、GPS_Data、Time、hour,GPS_Data、Time、min,GPS_Data、Time、sec,GPS_Data、Time、millisec);Location = sprintf('%s:%02s°%02s′%03s″%04s,%s:%02s°%02s′%03s″%04s',、、、GPS_Data、LatitudeDir,GPS_Data、Latitude、degree,GPS_Data、Latitude、min,GPS_Data、Latitude、sec,GPS_Data、Latitude、millisec,、、、GPS_Data、LongitudeDir,GPS_Data、Longitude、degree,GPS_Data、Longitude、min,GPS_Data、Longitude、sec,GPS_Data、Longitude、millisec);% Others = sprintf(’GPSState:%s,SatelliteNum:%02s,Speed:%03s,Velocity:%s,LocationState:%s’,、、、%GPS_Data、GPSState,GPS_Data、SatelliteNum,GPS_Data、speed,GPS_Data、velocity,GPS_Data、LocationState);% show_Message_str(strcat(DataAndTime,Location,Others));show_Message_str(strcat(DataAndTime,Location));end%初始化GPS数据结构体function GPS_Data = GPS_Init()GPS_Data、Time、hour= ’0';GPS_Data、Time、min = '0';GPS_Data、Time、sec = '0';GPS_Data、Time、millisec = '0';GPS_Data、DATE、day= '29';GPS_Data、DATE、month ='8';GPS_Data、DATE、year ='18’;GPS_Data、Latitude、degree = '0'; % 纬度GPS_Data、Latitude、min = ’0’;GPS_Data、Latitude、sec =’0';GPS_Data、Latitude、millisec = '0’;GPS_Data、LatitudeDir ='N’;GPS_Data、Longitude、degree= '0’;% 经度GPS_Data、Longitude、min ='0’;GPS_Data、Longitude、sec= ’0’;GPS_Data、Longitude、millisec = '0’;GPS_Data、LongitudeDir= ’E';GPS_Data、GPSState = '0’;% GPS状态,0:未定位;1:无差分定位;2:带差分定位;3:无效GPS;6:正在估算GPS_Data、SatelliteNum = '0'; % 可用卫星数目GPS_Data、speed = '0';GPS_Data、velocity = '0';GPS_Data、LocationState = ’V’;GPS_Data、altitude = ’0’; % 海拔高度GPS_Data、CurState = ’1’; %当前状态,1:无定位信息;2:2D;3:3DGPS_Data、LocationMode = 'A';% 定位模式,’A’:自动,'M’:手动GPS_Data、HDOP = ’0、5'; % 水平精度因子GPS_Data、VDOP ='0、5’;%垂直精度因子GPS_Data、PDOP = '0、5'; % 综合位置精度因子GPS_Data、TrueDir = '0’; %方位角GPS_Data、MagneticAngle=’0’; % 磁偏角GPS_Data、MagneticDir = ’E'; % 磁偏角参考方向,E/W(东西经)GPS_Data、ReferenceTrueDir=’T'; % 真实方向得参考方向,T:正北参照系GPS_Data、RelativeDir =’0’; % 相对方向GPS_Data、ReferenceRelativeDir = 'M';% M:磁北参照系 GPS_Data、step = '0’;%步长GPS_Data、stepflag ='N';GPS_Data、PRN =’01'; %正在使用得卫星PRN码编号end%可实现静态显示输出内容(防止输出内容不同换行)function show_Message_str(strData)persistent CurMessage;if isempty(CurMessage)CurMessage = '’;endfprintf(1,repmat(’\b',1,numel(CurMessage)));fprintf(1,'%s',strData);CurMessage= strData;end。

gps分析报告

gps分析报告

GPS分析报告1. 引言GPS(全球定位系统)是一种通过卫星定位和导航的技术,广泛应用于交通、航空、军事等领域。

本报告旨在对GPS数据进行分析,并提供相关结论和建议。

2. 数据收集与处理我们收集了一段时间内的GPS数据,并进行了初步处理。

数据包括位置信息、时间戳和速度等。

接下来,我们将对这些数据进行分析。

3. 数据分析3.1 轨迹分析我们首先对GPS数据中的轨迹进行分析。

通过对位置信息的统计,我们可以得出车辆或个人的运动路径和行为模式。

例如,我们可以计算出每个位置点之间的距离,从而了解运动轨迹的长度和形状。

3.2 速度分析通过对速度数据的统计分析,我们可以了解车辆或个人在不同时间段的行驶速度情况。

这对于交通管理和路径规划等领域具有重要意义。

我们可以计算平均速度、最高速度和最低速度,并绘制速度分布图。

3.3 时间分析时间信息在GPS数据分析中也是一个重要的方面。

我们可以通过统计每个时间段内的位置点数量,了解车辆或个人的活动时间分布。

此外,我们还可以分析不同时间段的速度和行驶路径,以得出相关的结论。

4. 结果与讨论4.1 轨迹分析结果根据我们对GPS数据进行的轨迹分析,我们发现车辆或个人的运动路径主要集中在城市中心和主要道路附近。

此外,我们还观察到在某些时间段内,轨迹呈现出较为规律的行驶模式。

4.2 速度分析结果通过对速度数据的分析,我们发现车辆或个人的平均速度为XX km/h,并且速度分布呈现出双峰曲线的形态。

这可能与交通流量和道路状况等因素有关。

4.3 时间分析结果根据我们对时间信息的分析,我们发现车辆或个人的活动时间主要集中在工作日的早晚高峰时段。

此外,我们还发现在周末和假期期间,活动时间呈现出较为均匀的分布。

5. 结论与建议根据以上分析结果,我们可以得出以下结论和建议: - 在城市规划中,应重点关注城市中心和主要道路附近的交通流量和道路状况,以提高交通效率。

- 在交通管理中,可以结合不同时间段的速度和活动时间分布,制定合理的交通控制措施。

gps数据格式标准

gps数据格式标准

gps数据格式标准GPS数据格式标准。

GPS(Global Positioning System)是一种通过卫星定位技术来确定地理位置的系统。

在现代社会中,GPS已经广泛应用于汽车导航、航空航海、地图绘制、移动通信等领域。

为了使不同设备和系统之间能够共享和交换GPS数据,制定了一系列的GPS数据格式标准。

本文将介绍GPS数据格式标准的相关内容,以便读者更好地理解和应用GPS数据。

1. GPS数据格式的基本要素。

GPS数据格式通常包括位置、速度、时间等基本要素。

位置信息通常由经度和纬度表示,速度信息表示物体在空间中的运动速度,时间信息用于记录数据采集的时间点。

此外,GPS数据还可能包括高度、方向、卫星信号强度等附加信息。

这些基本要素构成了GPS数据的核心内容,也是各种GPS数据格式标准的基础。

2. 常见的GPS数据格式标准。

目前,市场上存在多种不同的GPS数据格式标准,如NMEA-0183、GPX、KML等。

NMEA-0183是一种广泛应用的GPS数据格式标准,它定义了一系列ASCII字符格式的数据消息,用于在GPS设备和计算机之间进行数据交换。

GPX (GPS Exchange Format)是一种XML格式的GPS数据标准,它可以方便地在不同的GPS设备和软件之间进行数据共享。

KML(Keyhole Markup Language)是一种用于地理信息数据的XML格式标准,它可以描述地理特征、地图标记、地理信息图层等内容。

3. GPS数据格式标准的应用。

不同的GPS数据格式标准在不同的应用场景中有着各自的优势和适用性。

NMEA-0183格式通常用于传感器和导航设备之间的数据交换,GPX格式适合用于GPS轨迹记录和地图标记的导出和导入,KML格式则常用于地理信息系统(GIS)和在线地图服务中。

通过选择合适的GPS数据格式标准,可以更好地满足不同应用场景下的数据交换和共享需求。

4. GPS数据格式标准的发展趋势。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2. 定位状态,在接收到有效数据前,这个位是‘V’,后面的数据都为空,接到有效数据后,这个位是‘A’,后面才开始有数据。

3. 纬度,我们需要把它转换成度分秒的格式,计算方法:如接收到的纬度是:4546.408914546.40891/100=45.4640891可以直接读出45度, 4546.40891–45*100=46.40891, 可以直接读出46分46.40891–46 =0.40891*60=24.5346读出24秒, 所以纬度是:45度46分24秒。

4. 南北纬,这个位有两种值‘N’(北纬)和‘S’(南纬)5. 经度的计算方法和纬度的计算方法一样6. 东西经,这个位有两种值‘E’(东经)和‘W’(西经)7.速率,这个速率值是海里/时,单位是节,要把它转换成千米/时,根据:1海里=1.85公里,把得到的速率乘以1.85。

8. 航向,指的是偏离正北的角度9. 日期,这个日期是准确的,不需要转换GPGGA GPS 定位数据数据详解:$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF>$GPGGA :起始引导符及语句格式说明(本句为GPS 定位数据);<1> UTC 时间,格式为hhmmss.sss ;<2> 纬度,格式为ddmm.mmmm(第一位是零也将传送);<3> 纬度半球,N 或S(北纬或南纬)<4> 经度,格式为dddmm.mmmm(第一位零也将传送);<5> 经度半球,E 或W(东经或西经)<6> 定位质量指示,0=定位无效,1=定位有效;<7>使用卫星数量,从00到12(第一个零也将传送)<8>水平精确度,0.5到99.9<9>天线离海平面的高度,­9999.9到9999.9米M 指单位米<10>大地水准面高度,­9999.9到9999.9米M 指单位米<11>差分GPS 数据期限(RTCMSC­104),最后设立RTCM 传送的秒数量<12>差分参考基站标号,从0000到1023(首位0也将传送)。

解析内容:第9,10 个字段,海平面高度和大地水准面高度,单位是米GPVTG 地面速度信息 $GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh <1> 以正北为参考基准的地面航向(000~359度,前面的0也将被传输) <2> 以磁北为参考基准的地面航向(000~359度,前面的0也将被传输) <3> 地面速率(000.0~999.9节,前面的0也将被传输) <4> 地面速率(0000.0~1851.8公里/小时,前面的0也将被传输) <5> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效随笔分类(35)C#(29)C++(1)Delphi 资料摘录(1)LINQ & Lambda(1)MapX(1)Sql代码重构和设计模式其它(2)随笔档案(42)2013年9月 (2)2013年2月 (2)2012年12月 (1)2012年6月 (2)2011年12月 (1)2011年11月 (1)2011年10月 (8)2011年9月 (6)2011年8月 (3)2011年7月 (3)2011年6月 (9)2011年5月 (4)相册(2)ArticleLegend(2)最新评论1. Re:[转]MSSQL 优化之索引优化不错 受教了­­茗::流2. Re:C#下水晶报表的数据动态绑定(推模式, 非关联数据库)还是换用finereport 吧,周围几个朋友用的水晶都快崩溃了­­ilovejava3. Re:[整理]GPS 数据包解析你好,我用的是GR­213的接收器,根据他给的手册使用4800,none ,1的设置。

但是接收的是有规律的乱码,不是类似于$GPGLL,4738.0173,N,12211.1874,W,191934.7......­­mavapoGPGSV 可视卫星状态 例:$GPGSV ,2,1,08,06,33,240,45,10,36,074,47,16,21,078,44,17,36,313,42*78 标准格式: $GPGSV ,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF) 各部分含义为: (1)总的GSV 语句电文数;2; (2)当前GSV 语句号:1; (3)可视卫星总数:08; (4)PRN 码(伪随机噪声码) 也可以认为是卫星编号 (5)仰角(00~90度):33度; (6)方位角(000~359度):240度; (7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息); *总和校验域; hh 总和校验数:78; (CR)(LF)回车,换行。

注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即: (4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。

例: $GPGSV,3,1,10,24,82,023,40,05,62,285,32,01,62,123,00,17,59,229,28*70 每条语句包含四部分内容,例如:第一部分是“24,82,023,40”,第二部分是“05,62,285,32”等等。

每部分的第一个词为PRC ,第二个词为卫星高程,跟着为方位角和信号强度。

这个语句里最重要的指标应该算是“信号躁声比(signal­to­noise ratio )”(以下简称为SNR )。

这个数值标示卫星信号的接收率。

我们知道,卫星是以相同的强度发射信号,但是传播过程中难免会遇到诸如树和墙之类的 障碍物,这样就影响了信号的识别。

典型的SNR 值在0到50之间,其中50表示非常好的信号。

(SNR 可以达到99)。

GPGSA 当前卫星信息 例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A 字段0:$GPGSA ,语句ID ,表明该语句为GPS DOP and Active Satellites (GSA )当前卫星信息 字段1:定位模式,A=自动手动2D/3D ,M=手动2D/3D 字段2:定位类型,1=未定位,2=2D 定位,3=3D 定位 字段3:PRN 码(伪随机噪声码),第1信道正在使用的卫星PRN 码编号(00)(前导位数不足则补0) 字段4:PRN 码(伪随机噪声码),第2信道正在使用的卫星PRN 码编号阅读排行榜1. C# 网络连接中异常断线的处理:ReceiveTimeout,SendTimeout 及KeepAliveValues(设置心跳)(4666)2. [整理]GPS 数据包解析(4457)3. Google map 中 Marker 使用自定义图标(3423)4. C#中的多线程使用 ­­ Thread类: 使用回调函数从一个线程中检索数据(2901)5. C#下水晶报表的数据动态绑定(推模式, 非关联数据库)(2379)评论排行榜1. Google map 中 Marker 使用自定义图标(2)2. TCP Client 及 Server 示例(1)3. C#下水晶报表的数据动态绑定(推模式, 非关联数据库)(1)4. C#压缩与解压缩流类GZipStream 的使用(1)5. [整理]GPS 数据包解析(1)推荐排行榜1. Form 嵌入到Panel 里(C#)(1)沧海小小粟关注 ­ 1粉丝 ­ 3+加关注00(请您对文章做出评价)(00)(前导位数不足则补0) 字段5:PRN码(伪随机噪声码),第3信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段6:PRN码(伪随机噪声码),第4信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段7:PRN码(伪随机噪声码),第5信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段8:PRN码(伪随机噪声码),第6信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段9:PRN码(伪随机噪声码),第7信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段10:PRN码(伪随机噪声码),第8信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段11:PRN码(伪随机噪声码),第9信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段12:PRN码(伪随机噪声码),第10信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段13:PRN码(伪随机噪声码),第11信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段14:PRN码(伪随机噪声码),第12信道正在使用的卫星PRN码编号(00)(前导位数不足则补0) 字段15:PDOP综合位置精度因子(0.5 ­ 99.9) 字段16:HDOP水平精度因子(0.5 ­ 99.9) 字段17:VDOP垂直精度因子(0.5 ­ 99.9) 字段18:校验值~做事情贵在坚持~分类: 其它标签: GPS数据包解析绿色通道: 好文要顶 关注我 收藏该文与我联系« 上一篇:[转] C# API 大全» 下一篇:[C++] C++指针的那些事 ­­ 常量,变量,指针及指针相关的三个数值。

相关文档
最新文档