GPS数据信息

合集下载

GPS静态数据检算各参数定义

GPS静态数据检算各参数定义

GPS静态数据检算各参数定义1.GPS观测数据获取GPS观测数据是通过GPS接收机来获取的,GPS接收机接收到来自卫星的信号后,在内部进行处理并输出观测数据。

GPS观测数据包括卫星的位置、卫星的伪距观测值、接收机时钟误差等。

2.数据处理方法GPS静态数据检算的数据处理方法主要包括数据预处理、观测值平差和参数计算等。

数据预处理的目的是通过消除一些误差项,提高数据的准确性。

观测值平差主要是根据最小二乘原理,对观测值进行加权平均,减小误差的影响。

参数计算则是根据预处理和平差后的数据,利用相应的模型和算法计算所需的参数。

3.计算参数定义在GPS静态数据检算中,常用的参数包括:(1)卫星的位置卫星的位置是指卫星在地球空间中的坐标,通常使用地心地固坐标系表示。

GPS静态数据检算中,通过观测数据,利用卫星轨道模型和算法计算得到。

(2)接收机的位置接收机的位置是指接收机在地球上的坐标,通常也使用地心地固坐标系表示。

GPS静态数据检算中,通过观测数据,利用卫星位置和伪距观测值,利用几何测量原理和算法计算得到。

(3)接收机的时钟误差接收机时钟误差是指接收机内部时钟和卫星时间的差异。

GPS静态数据检算中,通过观测数据,利用伪距观测值和卫星位置,利用时钟校准等方法计算得到。

(4)接收机的高度接收机的高度是指接收机所在的海拔高度,通常以海平面为基准。

GPS静态数据检算中,通过观测数据,利用大地水准面模型和算法计算得到。

(5)大气延迟大气延迟是指GPS信号在穿过大气层时受到的延迟现象。

GPS静态数据检算中,通过观测数据,利用大气延迟模型和算法计算得到。

(6)多路径效应多路径效应是指GPS信号在传播过程中,经过反射、散射等现象导致的信号多次到达接收机。

GPS静态数据检算中,通过观测数据,利用多路径模型和算法计算得到。

4.总结GPS静态数据检算是利用GPS观测数据进行数据处理,计算出各种参数的方法和定义。

通过获取GPS观测数据,进行数据预处理、观测值平差和参数计算等步骤,可以得到卫星位置、接收机位置、接收机时钟误差、接收机高度、大气延迟、多路径效应等参数。

GPS数据格式与分析

GPS数据格式与分析

目前GPS(全球定位系统)定位应用市场日趋成熟,正在进入应用的高速发展时期。

看到论坛里不断有人提问关于GPS的问题。

现将个人对GPS的了解写出来跟大家一块探讨。

1、 GPS应用简介近年来GPS系统,已经在大地测绘、海上渔用、车辆定位监控、建筑、农业等各个领域得到广泛应用。

从九十年代我国引进GPS定位技术开始,经过十多年的市场培育,GPS定位应用进入了发展的最好时机,未来十年基于GPS的应用将会改变我们的生活和工作方式。

目前市场上的大部分GPS接受模块都是通过RS232串口与MCU进行数据传输的。

这些数据包括经度、纬度、海拔高度、时间、卫星使用情况等基本信息。

开发人员再依据这些基本数据,进行数据处理来完成整套的定位系统软件。

2、数据格式在进行数据接受编程之前,先介绍一下该模块的数据格式。

它支持NMEA-0183输出格式。

信息如下:GGA位置测定系统定位资料(Global Positioning System Fix Data)GSV 导航卫星资料(GNSS Satellites in View)RMC导航卫星特定精简资料(Recommended Minimum Specific GNSS Data)VTG 方向及速度等相关资料(Course Over Ground and Ground Speed)由于文章篇幅问题,笔者在这里只以接收GGA数据为例,格式如下:$GPGGA,hhmmss,dddmm.mmmm,a,dddmm.mmmm,a,x,xx,x.x,x.x,M,,M,x.x,xxxx*CS例:$GPGGA,033744,2446.5241,N,12100.1536,E,1,10,0.8,133.4,M,,,,*1F说明见表:上面例子中,我们可读出位置信息:北纬24度46.5241分,西经121度00.1536分格林威治时间:3点37分44秒3 部分程序代码(c++)//初始化串口//入口:strComm(串口名) //返回:TRUE(成功);FALSE(失败) BOOL CGPSDlg::InitComm(CString strComm) { int i; DCB dcb; COMMTIMEOUTS TimeOuts; for (i=0; i<3; i++) //串口最多初始化3次{ m_hComm = CreateFile(strComm, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if (m_hComm != INV ALID_HANDLE_V ALUE) break; } if (i == 3) //串口初始化失败{ AfxMessageBox("串口初始化失败..."); return FALSE; } SetupComm(m_hComm, MAXLENGTH, MAXLENGTH); //设置发送接收缓冲区大小TimeOuts.ReadIntervalTimeout = 0;//设定5个超时参数TimeOuts.ReadTotalTimeoutMultiplier = 0; TimeOuts.ReadTotalTimeoutConstant = 500; TimeOuts.WriteTotalTimeoutMultiplier = 0; TimeOuts.WriteTotalTimeoutConstant = 500; SetCommTimeouts(m_hComm, &TimeOuts); //设置超时参数GetCommState(m_hComm, &dcb); //获得通信状态dcb.fAbortOnError = FALSE; //有错误不停止dcb.BaudRate = CBR_4800; //波特率4800 dcb.ByteSize = 8; //8位dcb.Parity = NOPARITY; //奇校验dcb.StopBits = ONESTOPBIT; //1位停止位SetCommState(m_hComm, &dcb); //设置通信状态PurgeComm(m_hComm, PURGE_TXCLEAR|PURGE_RXCLEAR); //清空发送和接收缓冲区return TRUE; } //获得GPS参数//注意:从GPS接收到的字符串已经在m_strRecv中,由于是定时接收,所以在这个字符串的头和尾都可能存在// 不完整的NMEA输出字符串,在处理时要特别注意//返回:TRUE(格式正确);FALSE(格式错误) BOOL CGPSDlg::GetGPSParam() { int i,j; CString str,strNEMA; //先判断是否接收到数据if (m_strRecv.IsEmpty()) return FALSE; //若字符串不是以'$'开头的,必须删掉这部分不完整的if (m_strRecv[0] != '$') { i = m_strRecv.Find('\n', 0); if (i == -1) return FALSE; //尾部未接收完整,必须等接收完后才能删除m_strRecv.Delete(0, i+1); //尾部已接收完整(尾部为\r\n结束),删除不完整的部分} //截取完整的NMEA-0183输出语句(m_strRecv中可能有多条语句,每条间以\r\n分隔) for (;;) { i = m_strRecv.Find('\n', 0); if (i == -1) break; //所有的完整输出语句都已经处理完毕,退出循环//截取完整的NMEA-0183输出语句strNEMA = m_strRecv.Left(i+1); m_strRecv.Delete(0, i+1); //下面对各种输出语句进行分别处理if (strNEMA.Find("$GPRMC",0) == 0) { //该输出语句中的各项以','分隔for (i=j=0; strNEMA!='\r'; i++) //j为逗号的计数器{ if (strNEMA == ',') { j++; str = ""; for (i++; strNEMA!=','&&strNEMA!='\r'; i++) str += strNEMA; //str为某项的值i--; //对各项数据分别处理switch (j) { case 1: //时间(UTC) m_strTime = str.Left(6); m_strTime.Insert(2, ':'); m_strTime.Insert(5, ':'); break; case 2: //状态(A-数据有效;V-数据无效,还未定位) if (str == "A") m_strStatus = "有效数据"; else if(str == "V") m_strStatus = "正在定位..."; else m_strStatus = "非法数据格式"; break; case 3: //纬度(ddmm.mmmm) str.Insert(2, "度"); str += "分"; m_strLatitude = str; break; case 4: //纬度指示(N-北纬;S-南纬) if (str == "N") m_strLatitude.Insert(0, "北纬"); else m_strLatitude.Insert(0, "南纬"); break;case 5: //经度(dddmm.mmmm) str.Insert(3, "度"); str += "分"; m_strLongitude = str; break; case 6: //经度指示(E-东经;W-西经) if (str == "E") m_strLongitude.Insert(0, "东经"); else m_strLongitude.Insert(0, "西经"); break; case 7: //速度(单位:节) m_strSpeed = str; break; case 8: //航向(单位:度) m_strCourse = str; break; case 9: //日期(UTC) m_strDate = ""; m_strDate += "20"; m_strDate += str[4]; m_strDate += str[5]; m_strDate += "-"; m_strDate += str[2]; m_strDate += str[3]; m_strDate += "-"; m_strDate += str[0]; m_strDate += str[1]; break; default: break; } } } } else if (strNEMA.Find("$GPGGA",0) == 0) { } else if (strNEMA.Find("$GPGSA",0) == 0) { } else if (strNEMA.Find("$GPGSV",0) == 0) { } else if (strNEMA.Find("$GPGLL",0) == 0) { } else if (strNEMA.Find("$GPVTG",0) == 0) { } else return FALSE; //格式错误} return TRUE; } 相关的主题文章:-------------------------------------------------------------------------------------------------------一、NMEA0183标准语句1、 Global Positioning System Fix Data(GGA)GPS定位信息$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF><1> UTC时间,hhmmss(时分秒)格式<2> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<3> 纬度半球N(北半球)或S(南半球)<4> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)<5> 经度半球E(东经)或W(西经)<6> GPS状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算<7> 正在使用解算位置的卫星数量(00~12)(前面的0也将被传输)<8> HDOP水平精度因子(0.5~99.9)<9> 海拔高度(-9999.9~99999.9)<10> 地球椭球面相对大地水准面的高度<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)<12> 差分站ID号0000~1023(前面的0也将被传输,如果不是差分定位将为空)2、 GPS DOP and Active Satellites (GSA)当前卫星信息$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh<CR ><LF><1> 模式,M=手动,A=自动<2> 定位类型,1=没有定位,2=2D定位,3=3D定位<3> PRN码(伪随机噪声码),正在用于解算位置的卫星号(01~32,前面的0也将被传输)。

用gps怎么测量坐标数据

用gps怎么测量坐标数据

用GPS如何测量坐标数据全球定位系统(GPS)是一项基于卫星导航的技术,可用于测量和获取地理位置信息。

GPS系统通过接收来自卫星的信号来确定位置和时间。

在本文中,我们将介绍如何使用GPS设备来测量坐标数据。

1. GPS的工作原理GPS系统由一组位于空间轨道上的卫星和一台或多台地面控制站组成。

每颗卫星都以连续的信号广播自己的位置和时间信息。

GPS接收器收集卫星发射的信号,并计算出自身与卫星之间的距离。

通过同时接收来自多颗卫星的信号,GPS接收器能够确定自身相对于这些卫星的位置。

这种位置的计算是基于三角测量原理的,即通过测量到达接收器的信号的时间差来计算距离,然后通过多边定位原理计算出接收器的具体位置。

2. 测量坐标数据的步骤要测量坐标数据,您需要一台GPS接收器和要测量的位置。

以下是使用GPS测量坐标数据的步骤:步骤1: 打开GPS接收器首先,打开GPS接收器并确保其与卫星建立连接。

这可能需要一些时间,因为接收器需要接收来自卫星的信号并计算位置。

步骤2: 选择正确的模式大多数GPS接收器都提供多种测量模式,如普通模式、高精度模式等。

根据您的需要选择适当的模式。

高精度模式会消耗更多的电量,但提供更精确的测量结果。

步骤3: 进行测量将GPS接收器放置在要测量的位置上,确保其能够接收到至少4颗卫星发射的信号。

一旦接收器稳定并连接到卫星,它将开始记录位置数据。

步骤4: 等待测量完成在位置稳定后,GPS接收器将开始测量坐标数据。

测量时间取决于接收器的精度和测量模式。

请耐心等待,直到测量完成。

步骤5: 记录坐标数据一旦测量完成,GPS接收器将显示测量到的坐标数据。

这些数据通常以经度和纬度的形式表示。

记录下这些数据以备将来使用。

3. 高精度测量技巧如果您需要更高精度的测量结果,可以考虑以下技巧:•使用高精度模式: 在GPS接收器中选择最高精度的测量模式。

这将消耗更多的电量,但会提供更准确的测量结果。

•提前准备: 在进行测量之前,确保接收器已经建立了与卫星的连接,并且位置稳定。

gps经纬

gps经纬

gps经纬GPS(全球定位系统)经纬是指通过GPS技术获得的地理位置的经度和纬度坐标。

在现代社会,GPS 经纬坐标的应用非常广泛,包括导航系统、地图服务、物流追踪和位置匹配等。

GPS经纬是通过卫星信号实现的。

它使用一组24颗运行在轨道上的卫星和地面上的GPS接收器相互配合来确定位置。

每个GPS卫星都会持续向地球发送信号,接收器接收到至少4颗卫星的信号后,就能够确定位置和高度。

经度是衡量位置东西方向的坐标。

以经线0度作为起点,向东为正,向西为负,经度范围从-180度到180度。

通过GPS技术获取的经度信息非常准确,可以精确到小数点后六位。

纬度是衡量位置南北方向的坐标。

以纬线0度作为起点,向北为正,向南为负,纬度范围从-90度到90度。

GPS技术也能够提供高度信息,但是纬度的准确度相对经度要稍低。

GPS经纬坐标在导航系统中扮演着重要的角色。

我们常见的车载导航系统通过接收GPS信号确定车辆的位置并提供导航指引。

无论是行驶在熟悉的城市还是陌生的地方,我们都可以依靠GPS经纬坐标来获得准确的导航信息,帮助我们快速到达目的地。

除了导航系统,地图服务也是应用GPS经纬坐标的重要领域。

比如,当我们使用手机地图应用时,应用会根据我们所在的位置显示周围的地理信息。

这些地图服务都需要准确的GPS经纬坐标来确保显示正确的位置。

在物流行业中,GPS经纬坐标用于追踪物品的位置。

很多物流公司都会安装GPS跟踪设备在货物上,以便实时了解物品的位置和运输状态。

这样可以提高整个物流过程的可见性和安全性。

另外,GPS经纬坐标还经常用于位置匹配。

比如,在一些打卡应用中,我们可以通过GPS定位来记录我们所在的地点。

这样不仅可以准确地记录我们的所在位置,还可以提高打卡的准确性,防止作弊。

虽然GPS经纬坐标在许多场景下大显身手,但是也存在一些问题。

比如,在城市高楼大厦密集的地区,高层建筑可能会对GPS信号造成干扰,导致定位不准确。

此外,天气也可能影响GPS信号的接收质量,如暴雨、暴风雪等。

简述gps数据处理基本流程和步骤

简述gps数据处理基本流程和步骤

简述gps数据处理基本流程和步骤GPS(全球定位系统)数据处理是将采集到的GPS信息进行处理和分析,从而得出有用的信息和结果的过程。

GPS数据处理基本流程可以分为数据采集、数据预处理、数据分析和结果展示四个步骤。

下面将分别介绍这四个步骤的具体内容。

首先是数据采集阶段。

GPS数据的采集是通过GPS接收器获得,GPS接收器可以测量卫星信号和计算位置、速度、时间、姿态等信息。

GPS接收器具有天线接收GPS信号,接收到的信号包括卫星信号和地面干扰信号,卫星信号是由美国国家航空航天局的卫星发出的,地面干扰信号则是由城市的建筑物、树木等形成的。

接收到的信号会被GPS 接收器搜集并保存下来,形成GPS原始数据。

接着是数据预处理阶段。

在数据预处理阶段,需要对采集到的GPS 原始数据进行清洗和筛选。

清洗就是对数据进行去噪声,去除异常值等处理,保证数据的准确性和可靠性。

筛选则是对数据进行筛选,选择需要的数据进行后续处理。

此外,还需要对数据进行校正,如时钟误差校正、电离层延迟校正等,保证数据的精度和稳定性。

然后是数据分析阶段。

数据分析是对预处理过的GPS数据进行处理和分析,从中提取有用的信息。

主要包括轨迹重建、速度计算、加速度计算、路网匹配等过程。

轨迹重建是将GPS数据点连接成轨迹,并对轨迹进行分段处理。

速度计算是根据轨迹数据计算车辆的速度,加速度计算是根据速度数据计算车辆的加速度。

路网匹配是将轨迹数据匹配到实际的道路上,得到车辆在道路上的行驶轨迹。

最后是结果展示阶段。

在结果展示阶段,将数据分析得到的结果以可视化的方式展示出来,使用户能够直观地了解分析结果。

主要包括轨迹图、速度图、加速度图、轨迹匹配图等展示方式。

公路交通部门可以通过这些展示结果了解车辆的行驶轨迹、行驶速度和行驶状态,为交通管理和规划提供有力的数据支持。

综上所述,GPS数据处理的基本流程包括数据采集、数据预处理、数据分析和结果展示四个步骤。

在实际应用中,每个步骤都需要仔细处理和精心设计,才能得到准确、可靠的分析结果。

GPS位置测量记录表格

GPS位置测量记录表格

GPS位置测量记录表格
一、概述
本文档旨在提供一个GPS位置测量记录表格,以便记录GPS
位置测量的相关数据和信息。

该表格可用于各种需要实时定位和测
量GPS位置的场景,如地理调查、导航系统开发等。

二、表格内容
下面是GPS位置测量记录表格的具体内容和列说明:
三、使用说明
1. 打开GPS定位设备或者使用支持GPS功能的移动应用程序。

2. 在需要进行GPS位置测量的地点进行测量。

3. 在表格的相应列中记录测量得到的数据和信息。

4. 每次测量完成后,保存表格并根据需要进行进一步的处理和分析。

四、注意事项
1. 在进行GPS位置测量时,请确保设备或者应用程序已经成功获取到GPS信号。

2. 在记录测量数据时,请尽量减少误差,确保数据的准确性和可靠性。

3. 如有需要,可以在表格中添加或修改列,以满足特定的测量需求。

五、总结
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测量坐标信息数据表

怎样使用gps测量坐标信息数据表

怎样使用GPS测量坐标信息数据表GPS(全球定位系统)是一种用于确定位置、速度和时间的导航系统。

通过使用GPS设备,我们可以测量物体的准确坐标信息。

在进行GPS测量时,我们通常会生成一个包含坐标数据的数据表。

本文将介绍如何使用GPS测量坐标信息数据表。

1. 获取GPS测量设备要进行GPS测量,首先需要获取一个GPS测量设备。

现在市面上有各种类型的GPS测量设备,包括手持式GPS设备和GPS接收器。

根据测量需要和预算,选择适合的设备。

2. 准备数据表在开始GPS测量之前,需要准备一个数据表,以记录测量的坐标信息。

数据表可以使用电子表格软件(如Microsoft Excel)创建,或者使用文本编辑器创建一个CSV文件(逗号分隔值)。

在数据表中,至少应包含以下列:•测量点编号:每个测量点都应有一个唯一的编号。

•经度:测量点的经度坐标。

•纬度:测量点的纬度坐标。

•海拔(可选):测量点的海拔高度。

确保在数据表的第一行创建标题行,并在后续行中输入测量点的信息。

3. 在GPS设备上启动测量将GPS测量设备打开,并选择相应的测量模式或设置,以便记录坐标信息。

根据设备的不同,可能需要准备一些参数,例如测量间隔和误差范围。

确保设备已连接到卫星,并且具备获得准确坐标的条件。

4. 进行GPS测量在测量区域内,根据需要的测量点数量,选择合适的位置进行测量。

当到达一个测量点时,记录设备显示的当前坐标信息,并在数据表中对应的行中输入相应的数值。

重复以上步骤,直到完成所有测量点的测量。

5. 导出数据表完成GPS测量后,将数据从设备导出到数据表中。

这可以通过两种方式完成。

方式一:手动输入将GPS设备上记录的坐标信息逐一手动输入到数据表中,确保准确无误。

方式二:电子导出某些GPS测量设备可通过USB或其他接口将数据直接导出到电脑上。

将设备与电脑连接,并按照设备说明书中的指示,将数据导出到数据表中。

6. 数据处理和分析一旦数据表中包含了所有测量点的坐标信息,可以进行进一步的数据处理和分析。

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

对应的程序代码如下:1.//运输定位数据2.private bool GPRMC_Parse(string data)3. {4.string[] source = Split(data, "$GPRMC");5.if (source != null && source.Length >= 12)6. {7.//状态8.this.AnchorState = source[2];9.//纬度10.if (source[4].Length > 0 && source[3].Length > 2)11. {titude = string.Format("{0}{1},{2}",source[4], source[3].Substring(0, 2), source[3].Substring(2));}13.else14. {titude = "";16. }17.//经度18.if (source[6].Length > 0 && source[5].Length > 3)19. {20.this.Longitude = string.Format("{0}{1},{2}", source[6],source[5].Substring(0, 3), source[5].Substring(3));21. }22.else23. {24.this.Longitude = "";25. }26.//速度27.if (source[7].Length > 0)28. {29.this.NSpeed = double.Parse(source[7]);30. }31.else32. {33.this.NSpeed = 0;34. }35.//方位36.if (source[8].Length > 0)37. {38.this.Track = double.Parse(source[8]);39. }40.else41. {42.43.this.Track = 0;44. }45.//磁偏角和方位46.if (source[10].Length > 0 && source[11].Length > 0)47. {48.this.Magnetic = string.Format("{0} {1}", source[11], source[10]);49. }50.else51. {52.this.Magnetic = "";53. }54.//模式55.if (source.Length >= 13)56. {57.this.WorkMode = source[12];58. }59.//时间60.try61. {62.if (source[9].Length == 6 && source[1].Length >= 6)63. {64.string dtString = string.Format("{0}-{1}-{2} {3}:{4}:{5}",65. source[9].Substring(4),66. source[9].Substring(2, 2),67. source[9].Substring(0, 2),68. source[1].Substring(0, 2),69. source[1].Substring(2, 2),70. source[1].Substring(4));71.this.UTCDateTime = DateTime.Parse(dtString);72. }73. }74.catch { return false; }75.return true;76. }77.return false;78. }小结:通过对GPRMC关键字字符串的分析可以后的,经纬度,速度,运动方向角和时间(可以作为数据库存储的依据)等又有信息,但是缺少一个海拔信息(三维拟合包括经纬度确定的平面和加入海拔高度后的空间信息)。

海拔信息应该是可以算的,应该用卫星的高度和方向角就可以。

2.$GPVTGTrack Made Good and Ground Speed地面速度信息(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=数据无效3.$GPGGAGlobal Positioning System Fix Data GPS定位信息$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF><1> UTC时间,hhmmss(时分秒)格式<2> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<3> 纬度半球N(北半球)或S(南半球)<4> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)<5> 经度半球E(东经)或W(西经)<6> GPS状态:0=未定位,1=非差分定位,2=差分定位,3无效PPS,6=正在估算<7> 正在使用解算位置的卫星数量(00~12)(前面的0也将被传输)<8> HDOP水平精度因子(水平精确度)(0.5~99.9)<9> 海拔高度(天线离海平面的高度)(-9999.9~9999.9)M指单位米<10> 地球椭球面相对大地水准面的高度(大地水准面高度),-9999.9到9999.9米M指单位米<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)(差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量,如不是差分定位则为空)<12> 差分站ID号0000~1023(差分参考基站标号)(前面的0也将被传输,如果不是差分定位将为空)从0000到1023(首位0也将传送)。

*语句结束标志符xx从$开始到*之间的所有ASCII码的异或校验和<CR>回车<LF>换行4.$GPGSAGPS DOP and Active Satellites(GSA)当前卫星信息$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh <CR><LF><1>定位模式,A=自动手动2D/3D,M=手动2D/3D<2> 定位类型,1=没有定位,2=2D定位,3=3D定位<3>PRN码(伪随机噪声码),第N信道正在使用的卫星PRN码编号(00)(01~32,前面的0也将被传输)。

<4> PDOP综合位置精度因子(0.5~99.9)<5> HDOP水平精度因子(0.5~99.9)<6> VDOP垂直精度因子(0.5~99.9)*语句结束标志符xx从$开始到*之间的所有ASCII码的异或校验和<CR>回车<LF>换行5.$GPGSVGPS Satellites in View(GSV)可见卫星信息$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>*hh<CR><LF><1> GSV语句的总数(总的GSV语句电文数)<2> 本句GSV的编号(当前GSV语句号)<3> 可见卫星的总数(00~12,前面的0也将被传输)<4> PRN码(伪随机噪声码)(也可以认为是卫星编号)(01~32,前面的0也将被传输)<5> 卫星仰角(00~90度,前面的0也将被传输)<6> 卫星方位角(000~359度,前面的0也将被传输)<7> 信噪比(00~99dB,没有跟踪到卫星时为空,前面的0也将被传输)*总和校验域;(CR)(LF)回车,换行。

注:<4>,<5>,<6>,<7>信息将按照每颗卫星进行循环显示,每条GSV语句最多可以显示4颗卫星的信息, 每颗卫星的信息有四个数据项,即:(4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。

其他卫星信息将在下一序列的NMEA0183语句中输出。

“信号躁声比(signal-to-noise ratio)”(以下简称为SNR)。

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

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

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

(SNR可以达到99,但是我还从来没有见过50以上的数据哦。

)。

在图1-1里,绿色卫星表示强信号,然而黄色卫星则为中等(在第二部分,我将提供一个方法来实现信号强度的分类)。

卫星#1的信号完全被阻挡了。

6.$GPGLLGeographic Position(GLL)定位地理信息$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<CR><LF><1> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<2> 纬度半球N(北半球)或S(南半球)<3> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)<4> 经度半球E(东经)或W(西经)<5> UTC时间,hhmmss(时分秒)格式<6> 定位状态,A=有效定位,V=无效定位<7> 模式指示(校验值)(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)。

相关文档
最新文档