Win CE 6.0 获取手持机GPS定位1----基础知识 (C#)
一.GPS全球定位系统的组成
(1)GPS卫星(空间部分)
由沿接近环形的地球轨道运行的24颗卫星组成,位于距地表20200千米的高空,均匀分布在6个轨道面上(每个轨道面4颗),轨道倾角55度。此外,还有4颗有源备份卫星在轨道运行。卫星分布使得全球任何地方、任何事件都可观测到4颗以上的卫星,并能保持良好的定位几何图象,这就提供在时间上连续的全球导航能力。
(2)地面监控系统(地面控制部分)
由1个主控站、5个全球监测站和3个地面控制站组成。5个监控站分布在世界各地,不间断追踪监控卫星,通过地面和卫星链接将原数据和导航信号传到主控站。主控站从各监测站手机跟踪数据,计算出卫星的轨道和时钟参数,然后将结果送到3个地面控制站。地面控制站在每颗卫星运行至上空,把这些导航数据及主控站指令注入到卫星。
(3)GPS信号接收机(用户设备部分)
GPS信号接收机根据射频信号的行驶时间测量卫星距离,根据一个简单数学原理(三维空间的三边测量)推断自身位置,当接收机捕获到跟踪卫星信号后,即可测量出接收天线至卫星的伪距离和距离的变化率,解出卫星轨道参数等数据。根据这些数据,接收机中的微处理计算机就可按定位解算方法进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。

二、NMEA
(1)简介
NMEA协议是为了在不同GPS导航设备中建立统一的标准,NMEA协议有0180、0182、0183三种,0183是目前GPS接收机使用最广泛的协议。GPS接收机根据NMEA-0183协议标准规范,将位置、速度等信息通过串口传送到PC机、PDA等嵌入式设备中。
(2)NMEA-0183协议使用
| 命令 | 说明 |
| $GPGGA | 全球定位数据 |
| $GPGSA | 导航偏差和有源卫星 |
| $GPGSV | 卫星状态信息 |
| $GPRMC | 运输定位数据 |
| $GPVTG | 地面速度信息 |
| $GPGLL | 大地坐标信息 |
语句格式:$aaccc,ddd,ddd,...,ddd*hh<CR><LF>
$:帧命令起始位
aaccc:地址域,前两位为标示符,后三位为语句名
ddd...ddd:数据
*:校验和前缀
hh:校验和(check sum),$与*之间所有自负ASCII码的检验和各字节做异或运算,得到校验和后,再转换十六进制格式的ASCII字符
<CR><LF>:回车和换行
例如:$GPGGA,012440.00,3202.1798,N,11849.0763,E,1,05,2.7,40.2,M,0.5,M,*6F
时间:01时24分40秒
纬度:北纬32度02.1798分
经度:东经118度49.0763分
定位:1=(定位sps模式)0=(未定位)
应用卫星数:5个
HDOP:2.7米
海拔:40.2
海拔单位:M=米
WGS84水准划分:0.5
WGS84水准划分单位:M(米)
校验位:6F
Win CE 6.0 获取手持机GPS定位1----基础知识 (C#)的更多相关文章
- Win CE 6.0 获取手持机GPS定位2----示例代码 (C#)
一.须知 1.手持机(PDA)必须有GPS模块,才能通过代码使用串口通信获取GPS相关信息 2.要清楚自己手持机(PDA)固定的GPS通信串口号,如我们公司的手持机获取GPS信息的串口为COM4 3. ...
- 从0开始学爬虫4之requests基础知识
从0开始学爬虫4之requests基础知识 安装requestspip install requests get请求:可以用浏览器直接访问请求可以携带参数,但是又长度限制请求参数直接放在URL后面 P ...
- Python黑帽编程3.0 第三章 网络接口层攻击基础知识
3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP ...
- [As3.0] 获取本机信息
package { import flash.display.Sprite; import flash.events.Event; import flash.net.NetworkInfo; impo ...
- Win CE 5.0 增加电池电量显示
摘自 http://blog.csdn.net/li0531/article/details/8818243 同时只在右上角显示一个 Label 控件,因此代码量精简了很多. [DllImport(& ...
- 获取手机的gps定位
只要手机有GPS模块,可以用HTML5的Geolocation接口获取 在HTML5中,geolocation作为navigator的一个属性出现,它本身是一个对象,拥有三个方法: - getCurr ...
- js if for 详解 获取元素方式 及一些js 基础知识
##获取元素的新方法## --document.querySelector('Css Selector{css选择器}') 接收一个css选择器(通配,群组,类,包含,id....等) 若这个选择器对 ...
- Object-C 1.0 第三章:面向对象编程基础知识(OOP)
1. 间接(indirection) 1.1 变量和间接(使用变量来代替一些数字) 1.2 使用文件名的间接 const 表示一个变量不允许 ...
- 关于GPS偏移的基础知识
转载地址 我们平时用到的地球坐标系统,叫做WGS84坐标,国家保密插件,也叫做加密插件或者加偏或者SM模组,其实就是对真实坐标系统进行人为的加偏处理,按照几行代码的算法,将真实的坐标加密成虚假的坐标, ...
随机推荐
- box-sizing怪异盒子模型在移动端应用
盒子模型不必多少,公认的盒子模型 总宽度=width + padding(padding-left,padding-right) + border(border-left,border-right) ...
- Spring详解(五)------AspectJ 实现AOP
上一篇博客我们引出了 AOP 的概念,以及 AOP 的具体实现方式.但是为什么要这样实现?以及提出的切入点表达式到底该怎么理解? 这篇博客我们通过对 AspectJ 框架的介绍来详细了解. 1.什么是 ...
- 第3阶段——内核启动分析之创建si工程和分析stext启动内核函数(4)
目标: (1)创建Source Insight 工程,方便后面分析如何启动内核的 (2)分析uboot传递参数,链接脚本如何进入stext的 (3) 分析stext函数如何启动内核: (3.1) ...
- 从聚合数据请求菜谱大全接口数据,解析显示到ListView
- 聊一聊我们都熟知的 “ Java分层 ”
一.为什么要分层. 以前的我们,写代码的时候,都在main()方法中,出现了错误,就慢慢调试,这样浪费了我们很长的时间,而我们程序员的时间是非常宝贵的 但是当我们使用分层架构的时候,就可以清晰明确的知 ...
- JavaSE(十)集合之Set
今天这一篇把之前没有搞懂的TreeSet中的比较搞得非常的清楚,也懂得了它的底层实现.希望博友提意见! 一.Set接口 1.1.Set集合概述 Set集合:它类似于一个罐子,程序可以依次把多个对象 “ ...
- 【2017集美大学1412软工实践_助教博客】团队作业5——测试与发布(Alpha版本)
第五次团队作业成绩公布 题目 团队作业5: http://www.cnblogs.com/happyzm/p/6788792.html 团队成绩 成绩公示如下: 检查项 测试报告 Alpha版本发布说 ...
- 201521123050 《Java程序设计》第6周学习总结
1. 本周学习总结 2. 书面作业 1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 答:(1)x.clone ...
- 201521123011《Java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...
- 201521123039 《java程序设计》第一周学习总结
#1.本章学习总结 Java是面向对象的程序语言,它一切定义都是对象.我们所编写的Java程序经过编译后生成了*.class的文件,再经过JVM对*.class解释运行就可以得到Java程序,所以Ja ...