导航与定位实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
导航与定位上机实习报告
学生姓名:***
班学号:20101002021/11610211
指导教师:黄鹰、徐战亚
中国地质大学(武汉)信息工程学院
2011年7月
实习一 GPS设备使用
【实验目的】
(1)熟悉GPS设备的使用
(2)熟悉GPS绝对静态定位和绝对动态定位
(3)使用GPS设备得出某一点、某一线、某一面的相关数据
【实验设备】
动态GPS接收机、静态GPS接收机、天线、GPS定位设备
由于设别数目的限制,这次实习改用一个google的软件,获得GPS数据,此图为软件中的一张截图,上面显示了精准度157feet,卫星数目,每颗卫星的信号强度,
这张图则显示了所在地的经度和纬度分别为东经114度23分30.013秒北纬30度31分19.809秒。
【实验步骤】
时间:2012年9月2日中午12点30开始,下午三点中结束。
内容:
1、测量点:测量点在北区,从艺术与传媒学院开始,经过北宗,北区食堂,
北门,北区体育馆直到图书馆这一段路程,整个路线成G字型(如下图)。
2、测量线:线的话主要是艺术与传媒学院到北宗与隧道口延伸的路相交的
丁字路口,然后从该路口一直到北区食堂下面,在就走向北区校门,进
而转向体育馆侧边的路,绕过体育馆到达图书馆正门这样一个路线(如
下图)。
3、测量面:该路线主要包括了图书馆,北区篮球场,排球场,北一楼,北
区图书馆,经管院楼还有外国语学院楼。
【实验结果】
部分数据(全部数据在GPS_DATA.xls中):
实习二GPS定位接口解析与开发
【实验题目】
GPS信号解析
编写小程序读取GPS信号并进行解析,将解析结果以一定形式展现出来。
根据老师用GPS导航仪测量得到的测量数据进行解析,将track.txt中的数据进行解析,根据不同的格式按照NMEA-0183协议对导航电文进行GPS信息的解析:
1、使用语言不限:C ,C++ ,C# ,JA V A
2、对于获取信号可采用以一定时间间隔读取文件中GPS信号的形式代替从串口中读取
信号。
3、该实验基本要求能解析出空间信息(即解析GPRMC格式的GPS信号),其他信号格
式的解析以及星历图的绘制可在完成基本要求之后进行扩展。
4、对解析出来的数据进行画图处理,得到真正的轨迹。
【实验原理】
GPS设备通过对接收到的导航电文进行分析处理,计算出设备所在的经纬度、海拔、航速、航向等空间信息,并按照规定的协议将空间信息以及卫星信息进行组织,将有组织的数据解析出来然后做应用。
【实验设计】
1、设计思想
根据提供的txt文档,实现程序与文件之间的通信,读取txt中的内容,然后根据GPS
解析协议将其进行解析。得到经纬度坐标,然后将经纬度坐标进行操作得到真实的轨迹路线图做出显示。
2、详细设计
声明对文件的关联对象Fielstream对象,声明对文件进行读取的对象Streamreader,然后对文件关联对象进行关联本地文件,然后用此关联对象初始化文件读取对象,然后对文件进行一步步的读取,对读取之后的数据进行立刻解析,根据解析协议的种类不同对不同类型的GPS数据进行解析,然后做输出处理。根据文件的头部信息我们可以知道经纬度在那些地方,由于我们只需要解析GPRMC数据,所以经纬度是很容易得到的数据,得到经纬度字符串之后就可以通过函数转换成可操作的经纬度数据,得到经纬度数据之后就转换成为屏幕坐标,然后就可以划线了。经过划线处理连续的划线就成就了轨迹。关于平滑的问题:由于画出来的线可能会有一些点的问题会出现断线的可能和不连续,所以要做平滑处理,记录多个点,每两个点之间都划线一条就能满足平滑的要求。
【成果展示】
【实验心得】
【调试报告】
1.第一个遇到的问题是读文件的问题:
因为要解析数据就必须要对文本进行解析,以前写的C#程序都是比较简单的程序,
所有的操作都在内存中进行,只需要输入输出就够了,但是大型的问题光靠内存
是远远不够的,数据量一大就不可能把所有的数据放在内存中,GPS这种数据大多
来遥感数据和测绘数据,这些数据量都是几何倍数的增长,要在内存中进行处理
根本不可能,所以这个问题也是学习GPS所必须面临的问题,我第一次实习课基
本就花在C#文件读取上面了。一旦文件可以读取其他的就好办,主要是声明一个
文件流对象,然后将此文件流对象关联文件,在用这个文件流对象初始化一个读
取流对象,然后调用读取流对象的读取方法。这样就可以实现读取了。
2.tablecontrol控件:
这是我第一次使用这个控件,真的挺好用的,效果也不错。考虑到要对不同类型的GPS数据进行显示,如果全部放在一个界面中就显得非常臃肿,所以我将他们分开在几个页面中,这几个页面通过tablecontrol控件进行管理,这样就显得比较有组织。
3.string的分段:
因为要对不同数据进行判断,第一件事就是对数据集的头进行判断跟分类,可能是考虑到这一点,所有的GPS数据都是非常规矩的,头的长度都是一样长的,这样判断起来也比较方便,而且组织的时候都是用“,”做分段,这样就比较容易对数据进行切割,然后处理。
4.经纬度坐标转化成为屏幕坐标的方法:
这是我早google上搜到的方法,首先把控制的警卫框架找到,最大经度减去最小经度,得到经度差。最大纬度减去最小纬度,得到纬度差。然后将经度差乘以3600除以面板宽度,纬度差乘以3600除以面板宽度得到每秒经纬度代表的屏幕像素坐标。最后为了让图像分布均匀。将实际的经纬度转化成秒,然后减去最小经度,然后除以每秒经度代表的屏幕像素坐标。同理做纬度均匀。最后将坐标点得到然后划线。
【心得体会】
GPS是一个非常重要的技术,精确的GPS数据时一把双刃剑。在好的一面他可以方便人们做很多东西,在今后的时代找东西将离不开地图,而地图如果要做到精确的话就不得不用到GPS数据。所以GPS数据是定量解析的基础数据。所有的定量分析都需要解析并且处理这些数据,这在生活上会给我们很大的方便,不仅在查找,交通导航等等方面都会有重要的用途。所以这次实习对我们帮助很大,他让我们了解到生活中的GPS数据的结构,让我们学以致用,了解熟悉GPS并且爱上GPS,我们熟悉他,解析他,应用它。可以创造出许多方便的应用于社会价值。在医疗,规划,建设等方方面面都是重要的。
坏的一方面是过于精确的GPS数据让我们变得不安全,不仅是数据被盗窃之后可能造成国家的安全问题,对方的导弹什么的可以精确打击。对我们的危险太大了。错误的解析也会造成许多社会问题,比如修的地铁因为数据的偏差或解析的错误会造成重大的事故。所以我们处理GPS数据肩负十分重要的使命。我们会好好处理这些数据的。
然后对于做这样一次实习我学到很多东西:认识到生活中真真正正的GPS 数据的样子和解析过程。他所遵循的结构规范,还有认识到公共接口的重要性,他让数据变得有规矩。让我树立了做好一名程序员的信心。让我们知道了做好一个GPS解析与应用的重要性与基本方法。实习让我们有了一些经验与许多信心。
最后做完期待已久的GPS室外实习以后,我感觉现在的卫星技术已经非常发达了。在看不见的天上居然有至少7颗卫星在飞着,想想都觉得不可思议。更不可思议的是我们可以与他对话,获得他得到的信息。这更让我感到GPS 技术室一门很有前途很有魅力的技术!