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模组,其实就是对真实坐标系统进行人为的加偏处理,按照几行代码的算法,将真实的坐标加密成虚假的坐标, ...
随机推荐
- Ljava.lang.Object;@ba8a1dc
因为你从数据库读出数据后,存入到list集合上时,如果你没有指定要存入的数据的类型,系统会自动给你赋一个object类型,他是所以类的鼻祖,你取出数据要进行转型,转化成你自己想要的数据类型才能显示.它 ...
- javascript计算啤酒2元一瓶,4个盖换一瓶,2个瓶换一瓶,10元钱最多喝多少瓶
var n = 0//当前剩下多少瓶加上喝赢了多少瓶 var x = 5//初始多少瓶 var y = 0//除了喝掉的,剩下多少瓶 var z = 0;//总数 var arr = []//定义一个 ...
- 从async await 报错Unexpected identifier 谈谈对上下文的理解
原文首发地址: 先简单介绍下async await: async/await是ES6推出的异步处理方案,目的也很明确:更好的实现异步编程. 详细见阮大神 ES6入门 现在说说实践中遇到的问题:使用 ...
- UCOS-II学习记录
本文主要记录使用UCOS II的相关内容.包括如何完成第一个UCOS II应用程序,和如何创建任务,如何获取系统时间,和利用i3086 驱动完成时间获取,屏幕显示,按键驱动,信号量等内容. UCOS- ...
- 【Beta】阶段 第四次Daily Scrum Meeting
每日任务 1.本次会议为第四次 Meeting会议: 2.本次会议在周四下午16:40,课间休息时间在陆大楼召开,召开本次会议为10分钟. 一.今日站立式会议照片 二.每个人的工作 (有work it ...
- 201521123081《Java程序设计》 第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- openfire:openfire单独编译指定插件的方法
方法一: openfire默认编译时,是同时编译主程序和所有在plugins目录中的插件.但进行插件开发时,这样编译就太费时费力.使用ant plugins可以只编译插件,能够节省部分时间.最节省时间 ...
- 史上最全CentOS安装教程,图文结合
这是我最近整理的一份最全的CentOS安装步骤,亲自测试步骤,步步都有截图,步骤清晰.按此教程可轻松装机,并且安装成功的主机能访问外部网络. 闲话不说,首先介绍一下本教程用到工具: VMware Wo ...
- JAVA多线程高并发学习笔记(三)——Callable、Future和FutureTask
为什么要是用Callable和Future Runnable的局限性 Executor采用Runnable作为基本的表达形式,虽然Runnable的run方法能够写入日志,写入文件,写入数据库等操作, ...
- PL/SQL客户端连接虚拟机(linux)下的oracle服务器配置
虚拟机上linux装了oracle数据库服务器,想通过windowspl/sql客户端连接到服务器上,虚拟机的网络连接方式我设置为host-only. 去oracle官方网站下载instant ...