ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:678.52KB ,
资源ID:5244407      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5244407.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(导航与定位实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

导航与定位实验报告.docx

1、导航与定位实验报告导航与定位上机实习报告学生姓名: 孔 令 周 班 学 号: 20101002021/11610211 指导教师: 黄鹰 、 徐战亚 中国地质大学(武汉)信息工程学院 2011年 7月实习一 GPS设备使用【实验目的】(1)熟悉GPS设备的使用(2)熟悉GPS绝对静态定位和绝对动态定位(3)使用GPS设备得出某一点、某一线、某一面的相关数据【实验设备】动态GPS接收机、静态GPS接收机、天线、GPS定位设备由于设别数目的限制,这次实习改用一个google的软件,获得GPS数据,此图为软件中的一张截图,上面显示了精准度157feet,卫星数目,每颗卫星的信号强度,这张图则显示了所

2、在地的经度和纬度分别为东经114度23分30.013秒北纬30度31分19。809秒。【实验步骤】时间:2012年9月2日中午12点30开始,下午三点中结束。 内容: 1、测量点:测量点在北区,从艺术与传媒学院开始,经过北宗,北区食堂,北门,北区体育馆直到图书馆这一段路程,整个路线成G字型(如下图)。2、测量线:线的话主要是艺术与传媒学院到北宗与隧道口延伸的路相交的 丁字路口,然后从该路口一直到北区食堂下面,在就走向北区校门,进而转向体育馆侧边的路,绕过体育馆到达图书馆正门这样一个路线(如下图)。3、测量面:该路线主要包括了图书馆,北区篮球场,排球场,北一楼,北 区图书馆,经管院楼还有外国语学

3、院楼。 【实验结果】部分数据(全部数据在GPS_DATA。xls中):实习二 GPS定位接口解析与开发【实验题目】GPS信号解析编写小程序读取GPS信号并进行解析,将解析结果以一定形式展现出来. 根据老师用GPS导航仪测量得到的测量数据进行解析,将track.txt中的数据进行解析,根据不同的格式按照NMEA-0183协议对导航电文进行GPS信息的解析:1、使用语言不限:C , C+ ,C ,JAVA2、对于获取信号可采用以一定时间间隔读取文件中GPS信号的形式代替从串口中读取信号.3、该实验基本要求能解析出空间信息(即解析GPRMC格式的GPS信号),其他信号格式的解析以及星历图的绘制可在完

4、成基本要求之后进行扩展。 4、对解析出来的数据进行画图处理,得到真正的轨迹。【实验原理】GPS设备通过对接收到的导航电文进行分析处理,计算出设备所在的经纬度、海拔、航速、航向等空间信息,并按照规定的协议将空间信息以及卫星信息进行组织,将有组织的数据解析出来然后做应用。 是 否 【实验设计】1、设计思想根据提供的txt文档,实现程序与文件之间的通信,读取txt中的内容,然后根据GPS解析协议将其进行解析。得到经纬度坐标,然后将经纬度坐标进行操作得到真实的轨迹路线图做出显示。2、详细设计 声明对文件的关联对象Fielstream对象,声明对文件进行读取的对象Streamreader,然后对文件关联

5、对象进行关联本地文件,然后用此关联对象初始化文件读取对象,然后对文件进行一步步的读取,对读取之后的数据进行立刻解析,根据解析协议的种类不同对不同类型的GPS数据进行解析,然后做输出处理。根据文件的头部信息我们可以知道经纬度在那些地方,由于我们只需要解析GPRMC数据,所以经纬度是很容易得到的数据,得到经纬度字符串之后就可以通过函数转换成可操作的经纬度数据,得到经纬度数据之后就转换成为屏幕坐标,然后就可以划线了。经过划线处理连续的划线就成就了轨迹。关于平滑的问题:由于画出来的线可能会有一些点的问题会出现断线的可能和不连续,所以要做平滑处理,记录多个点,每两个点之间都划线一条就能满足平滑的要求。

6、否 是【成果展示】【实验心得】【调试报告】1.第一个遇到的问题是读文件的问题:因为要解析数据就必须要对文本进行解析,以前写的C程序都是比较简单的程序,所有的操作都在内存中进行,只需要输入输出就够了,但是大型的问题光靠内存是远远不够的,数据量一大就不可能把所有的数据放在内存中,GPS这种数据大多来遥感数据和测绘数据,这些数据量都是几何倍数的增长,要在内存中进行处理根本不可能,所以这个问题也是学习GPS所必须面临的问题,我第一次实习课基本就花在C#文件读取上面了。一旦文件可以读取其他的就好办,主要是声明一个文件流对象,然后将此文件流对象关联文件,在用这个文件流对象初始化一个读取流对象,然后调用读取

7、流对象的读取方法。这样就可以实现读取了.2.tablecontrol控件:这是我第一次使用这个控件,真的挺好用的,效果也不错。考虑到要对不同类型的GPS数据进行显示,如果全部放在一个界面中就显得非常臃肿,所以我将他们分开在几个页面中,这几个页面通过tablecontrol控件进行管理,这样就显得比较有组织.3.string的分段:因为要对不同数据进行判断,第一件事就是对数据集的头进行判断跟分类,可能是考虑到这一点,所有的GPS数据都是非常规矩的,头的长度都是一样长的,这样判断起来也比较方便,而且组织的时候都是用“,”做分段,这样就比较容易对数据进行切割,然后处理。4.经纬度坐标转化成为屏幕坐标

8、的方法:这是我早google上搜到的方法,首先把控制的警卫框架找到,最大经度减去最小经度,得到经度差.最大纬度减去最小纬度,得到纬度差。然后将经度差乘以3600除以面板宽度,纬度差乘以3600除以面板宽度得到每秒经纬度代表的屏幕像素坐标。最后为了让图像分布均匀.将实际的经纬度转化成秒,然后减去最小经度,然后除以每秒经度代表的屏幕像素坐标。同理做纬度均匀。最后将坐标点得到然后划线.【心得体会】 GPS是一个非常重要的技术,精确的GPS数据时一把双刃剑。在好的一面他可以方便人们做很多东西,在今后的时代找东西将离不开地图,而地图如果要做到精确的话就不得不用到GPS数据。所以GPS数据是定量解析的基础

9、数据.所有的定量分析都需要解析并且处理这些数据,这在生活上会给我们很大的方便,不仅在查找,交通导航等等方面都会有重要的用途。所以这次实习对我们帮助很大,他让我们了解到生活中的GPS数据的结构,让我们学以致用,了解熟悉GPS并且爱上GPS,我们熟悉他,解析他,应用它。可以创造出许多方便的应用于社会价值。在医疗,规划,建设等方方面面都是重要的. 坏的一方面是过于精确的GPS数据让我们变得不安全,不仅是数据被盗窃之后可能造成国家的安全问题,对方的导弹什么的可以精确打击。对我们的危险太大了。错误的解析也会造成许多社会问题,比如修的地铁因为数据的偏差或解析的错误会造成重大的事故.所以我们处理GPS数据肩

10、负十分重要的使命。我们会好好处理这些数据的. 然后对于做这样一次实习我学到很多东西:认识到生活中真真正正的GPS数据的样子和解析过程。他所遵循的结构规范,还有认识到公共接口的重要性,他 让数据变得有规矩。让我树立了做好一名程序员的信心.让我们知道了做好一个GPS解析与应用的重要性与基本方法.实习让我们有了一些经验与许多信心。 最后做完期待已久的GPS室外实习以后,我感觉现在的卫星技术已经非常发达了。在看不见的天上居然有至少7颗卫星在飞着,想想都觉得不可思议。更不可思议的是我们可以与他对话,获得他得到的信息。这更让我感到GPS技术室一门很有前途很有魅力的技术!代码:第一题:string fore

11、six;FileStream sFile;StreamReader sReader;public int NextPage(string str) int flag = 1;for (int i = 0; i str.Length; i+) if (i 6) foresix += stri;textBox1.Text += stri;if (foresix = ”GPGSA”) tabctl。SelectedTab = GPGSA;flag = 3;else if (foresix = ”$GPGGA”) tabctl。SelectedTab = GPGGA;flag = 2;else if

12、(foresix = $GPRMC) tabctl.SelectedTab = GPRMC;flag = 1;else if (foresix = ”GPGSV) tabctl.SelectedTab = GPGSV;flag = 4;else MessageBox.Show(”不?存?在此?种?格?式?!?);foresix = ”;return flag;/显示:public void ShowPage(int flag,string str) if (flag = 1) textBox2.Text = ”;textBox3。Text = ;textBox4.Text = ”;textBo

13、x5.Text = ”;textBox6.Text = ”;textBox7。Text = ”;textBox8.Text = ”;textBox9。Text = ”;textBox10.Text = ”;textBox11.Text = ”;textBox12。Text = ”;textBox13.Text = ”;textBox14.Text = ”;for (int i = 7; i = 8; i+) textBox7。Text += stri;for (int i = 9; i = 10; i+) textBox6。Text += stri;for (int i = 11; i = 1

14、6; i+) textBox5。Text += stri;if (str18 = A) textBox12。Text = ”有D效;else textBox12。Text = ”无T效”;for (int i = 20; i = 21; i+)textBox11。Text += stri;for (int i = 22; i = 28; i+) textBox10。Text += stri;for (int i = 32; i = 34; i+) textBox9.Text += stri;for (int i = 35; i = 41; i+) textBox8。Text += stri;f

15、or (int i = 45; i = 49; i+) textBox13。Text += stri;for (int i = 51; i = 56; i+) textBox14.Text += stri;for (int i = 58; i = 59; i+) textBox4。Text += stri;for (int i = 60; i = 61; i+) textBox3。Text += stri; for (int i = 62; i 30) clin(); string tempstr1, tempstr2; string data; string str_time = new s

16、tring4; string str_avaliable = new string4; string str_jd = new string4; string str_wd = new string4; int x = new int4; int y = new int4; double screenX = new double4; double screenY = new double4; while (i 0 ) string str = sReader.ReadLine(); lines-; data = str.Split(,); str_avaliablej = data2;/有D效

17、位? if (str3 = R & str4 = M & str5 = C & str_avaliablej = ”A) i-; tempstr1 = data3; tempstr2 = data5; screenXj = double.Parse(tempstr2) * 3600 / scaleX - minX; screenYj = maxY - double。Parse(tempstr1) 3600 / scaleY; xj = (int)screenXj; yj = (int)screenYj; str_timej = data1;/时间? str_jdj = data5; str_w

18、dj = data3; j+; if (double。Parse(str_time0) = 075245。000) pen = new Pen(new SolidBrush(Color.Red), 2。0f); for (int a = 0; a 4; a+) pointa。X = xa; pointa。Y = ya; for (int a = 0; a = 1; a+) textBox3。Text += str_time0a; for (int a = 2; a = 3; a+) textBox4。Text += str_time0a; for (int a = 4; a = 9; a+)

19、textBox5.Text += str_time0a; textBox1。Text = str_jd0; textBox2.Text = str_wd0; if (str_avaliable0 = A) textBox6。Text = 有D效”; else textBox6.Text = 无T效”; clin(); g.DrawLine(pen, point0, point1); /this。panel1。BackgroundImage = bitM; /panel1。Refresh(); for (int a = 0; a = 1; a+) textBox3。Text += str_tim

20、e1a; for (int a = 2; a = 3; a+) textBox4.Text += str_time1a; for (int a = 4; a = 9; a+) textBox5。Text += str_time1a; textBox1.Text = str_jd1; textBox2。Text = str_wd1; if (str_avaliable1 = ”A”) textBox6.Text = ”有D效; else textBox6.Text = ”无T效”; clin(); g。DrawLine(pen, point1, point2); /this.panel1。Bac

21、kgroundImage = bitM; /panel1。Refresh(); for (int a = 0; a = 1; a+) textBox3.Text += str_time2a; for (int a = 2; a = 3; a+) textBox4。Text += str_time2a; for (int a = 4; a = 9; a+) textBox5.Text += str_time2a; textBox1。Text = str_jd2; textBox2。Text = str_wd2; if (str_avaliable2 = ”A) textBox6.Text = ”有D效; else textBox6。Text = ”无T效; clin(); /this.panel1。BackgroundImage = bitM; /panel1。Refresh(); g.DrawLine(pen, point2, point3); for (int a = 0; a = 1; a+) textBox3。Text += str_time3a; for (int a = 2; a = 3; a+) textBox4。Text += str_time3a; for (int a = 4; a = 9; a+) textBox5。Text += str_t

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1