基于mapx控件的gps导航系统的开发

上传人:E**** 文档编号:118150559 上传时间:2019-12-11 格式:PDF 页数:92 大小:4.66MB
返回 下载 相关 举报
基于mapx控件的gps导航系统的开发_第1页
第1页 / 共92页
基于mapx控件的gps导航系统的开发_第2页
第2页 / 共92页
基于mapx控件的gps导航系统的开发_第3页
第3页 / 共92页
基于mapx控件的gps导航系统的开发_第4页
第4页 / 共92页
基于mapx控件的gps导航系统的开发_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《基于mapx控件的gps导航系统的开发》由会员分享,可在线阅读,更多相关《基于mapx控件的gps导航系统的开发(92页珍藏版)》请在金锄头文库上搜索。

1、上海交通大学 硕士学位论文 基于MapX控件的GPS导航系统的开发 姓名:叶俊 申请学位级别:硕士 专业:电工理论与新技术 指导教师:张峰 20080101 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外, 本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体, 均已在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:叶俊 日期:2008 年 3 月 7 日 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解

2、学校有关保留、使用学位论文的规 定,同意学校保留并向国家有关部门或机构送交论文的复印件和电 子版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学 位论文的全部或部分内容编入有关数据库进行检索,可以采用影 印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在 年解密后适用本授权书。 本学位论文属于 不保密。 (请在以上方框内打“” ) 学位论文作者签名:叶俊 指导教师签名:张峰 日期:2008 年 3 月 7 日 日期:2008 年 3 月 7 日 上海交通大学硕士学位论文 1 基于M a p X 控件的G P S 导航系统的开发 摘 要 G P S 技术己经广泛地应用于家庭和工业的各

3、个领域, 随着汽车数量的 不断增加,车载G P S 导航系统越来越受到人们的关注。汽车导航系统接 收G P S 所传送的卫星信号,即可得到车辆的即时位置,然后通过G P S 信号 处理,再配合电子地图,就可以实现实时显示了。 本文提出并研究设计了一种基于A R M 7 T D M I 微处理器的G P S 导航系统, 以及在上位机中导航软件的开发。整个系统由 PC机,GPS信号接收器 等硬件组成,在Windows XP 工作平台上开发,具有GPS定位、导游、 道路查询、编辑、距离测量等功能。 文章主要包含了两大部分:一是详尽地描述了系统的设计思想,着 重介绍了接收器的组成,工作原理以及定位算法

4、,同时还详细介 绍了硬件设计的过程,包括芯片的选择和原理图的设计等;二是介绍了 在VC+6.0环境下基于MapX控件的GPS导航系统软件的研发, 包括串口 模块的设计,串口数据的接收和处理,地图数据的处理(地图的编辑、 存储、显示、缩放、移动) ,目标位置的实时显示,人机界面的设计以 及在导航系统中常用的路径优化的算法研究和模拟等, 同时还可以创新 的实现两点之间距离的测量(短距离创建点”自动绘出。 (2) 线对象: 线是具有相同属性点的轨迹,在图层中用坐标集合的数据链来表示,它具有一定的走向和 长度,表示线状地物或点之间的地理联系。建立线对象的方法是:以配准过的栅格图像为基图, 利用数字化仪

5、器和人工手动鼠标跟踪,选择相应的线型和颜色,便可以描绘。 (3) 区域对象: 区域对象也是具有相同属性点的轨迹,不同与线对象的是,它具有确定的范围和状态,表 示空间连续分布的地理景观或作用范围。创建区域对象用区域对象工具,由数字化仪器和人工 手动鼠标跟踪的方法绘制。 (4) 文本对象: 文本对象用来描述和说明地图的有关信息,或者以文本格式描述其他对象的属性。 4.4.3 电子地图的基本功能 如前所述,电子地图能够实现基本的地图放大、缩小、漫游、刷新、显示经纬度等功能。 1 ) 地图放大功能 点击“放大”按钮,光标会呈现放大镜状。此后,当鼠标在地图上某一点单击时,地图会 以该点为中心放大一倍比例

6、尺显示; 当鼠标在地图上成一矩形框放大时( 即按下鼠标左键并移动 上海交通大学硕士学位论文 43 光标到适当位置) ,屏幕将以无级缩放的形式显示矩形框指定范围内的地图。拉出的框长宽比可 能与显示屏长宽比不一致,但显示时可以自动调整到最佳状态。 随着地图不断放大,可显示的层数将逐渐增多,电子地图内容也会越来越丰富。这样,通 过调整放大的级别,达到在计算机屏幕上对大范围的纵观全局以及细查局部的效果;当然,地 图也不是越大越好的,为实现最佳显示效果,地图放大若干倍后就不宜再放大了。 2 ) 地图缩小功能 点击“缩小”按钮,光标将会呈现缩小镜状。在地图上任一位置单击鼠标左键,地图将以 该点为中心缩小一

7、倍比例尺显示。随着地图的不断缩小,可显示的图层数和地物内容也会相应 的减少,当地图缩小到比全图显示还要在小时就不会再缩小了。若地图偏离窗口中央,系统会 自动将地图拉回到窗口中央显示。 3 ) 地图漫游功能 点击“漫游”按钮,光标呈手状,将光标移至某一位置按下鼠标左键不放并移动,地图将 向拖动方向连续漫游,此时地图显示的比例尺和图层数将保持不变。当光标在地图上移动到显 示窗口的边界或四角时,光标会变成方向箭头状,此时应当点击光标地图向反方向移动。 4 ) 地图刷新功能 用户随时可以刷新显示电子地图。 5 ) 显示经纬度 可以直接显示当前鼠标所在点的经纬度大小。 6 ) 距离量测功能 跟踪用户当前

8、鼠标的拖动过程,得到两个结点的坐标之后可以方便的进行计算得出距离。 下图(图4 - 1 )是一张简单的上海市电子矢量地图: 上海交通大学硕士学位论文 44 图4 - 1 上海市简易电子地图 如前所述,电子地图的制作分为很多步骤,其中最难的就是矢量化和人工编辑这一步,这 对地理方面的专业知识具有非常高的要求,对于非地理专业的学生,我们只能制作比较简单的 电子地图,但是仅仅具有这些在复杂的导航系统应用中是远远不够的,所以为了满足设计的要 求,我们需要更专业,更复杂,更全面的电子地图,一般情况下,我们可以购买或者从网上下 载这类地图。下图4 - 2 即是本次设计中所用到的,从网上下载的电子地图: 上

9、海交通大学硕士学位论文 45 图4 - 2 电子地图 从图上我们可以看到,不仅每条路都标上了路名,不同的地方,不同的地理环境还用不同 的颜色标注,让人可以更加容易区分。从右上角的属性栏中,我们可以看到地图中心点的坐标, 这是一个经纬度的坐标,而这也正说明了这个矢量地图是带有经纬度信息的。至于一些其他的 电子地图所具备的特性,诸如放大,缩小,漫游等功能的实现,将在第五章中进行详细介绍。 上海交通大学硕士学位论文 46 第五章 V C 环境下基于 M a p X 控件的 G P S 导航系统开发 5 . 1 基于 M F C 的界面系统设计 5 . 1 . 1 V C 6 . 0 的特点 V C

10、+ + 6 . 0 2 6 是一种面向对象的程序设计语言,其中“对象”是指W i n d o w s 的规范部件,包括 各种窗口、菜单、按钮、对话框及程序模块等。这些多样化的“对象”能够充分满足构成应用 软件操作界面的需要。因此编写W i n d o w s 程序的相当一部分工作是创建对象和为对象属性赋值。 在用V C + + 开发面向对象应用程序时,主要有两种方法:一是使用W i n d o w s 提供的A P I 函数; 另一种方法是直接使用M i c r o s o f t 提供的M F C 2 7 类库。 A P I 为应用程序提供系统的各种特殊函数及 数据结构定义,W i n d

11、o w s 应用程序可以利用上千个标准A P I 函数来调用系统功能;M F C 类库则集成 了大量已经预先定义好的类,用户可以根据编程的需要调用相应的类,或者根据需要自定义有 关的类 3 5 。 M F C 2 8 是用来编写W i n d o w s 应用程序的C + + 类集,该类集以层次结构组织起来,其中封装了大 部分W i n d o w s A P I 函数和W i n d o w s 控件,它所包含的功能涉及到整个W i n d o w s 操作系统。 V C + + 的M F C 类库提供了两组重要的类应用结构类和可视对象类,以这些类为基础容易构造出一个 W i n d o w

12、 s 应用程序的主体框架和用户界面。 1 、应用结构类 应用结构类主要包括了如下几个部分: . W i n d o w s 应用程序类C W i n A p p 封装了初始化、运行和终止应用程序的那些部分代码。 . 命令相关类C C m d T a r g e t 是所有能够接收和响应消息的对象类的基类。 C C m d U I 提供一个管理 用户界面对象的可编程接口。 . 文档视窗类 C D o c T e m p l a t e 是文档模块的基类,文档模板协调文档、视窗和框架窗口三类对象的创建。 C S i n g l e D o c T e m p l a t e 用做单文档界面(S D

13、 I )的文档模板。 C M u l t i D o c T e m p l a t e 用作多文档界面(M D I )的文档模板。 C D o c u m e n t 是应用程序的文档基类,用户从C D o c u m e n t 派生出自己的文档类。 C V i e w 是应用程序文档的视窗的基类,用户从C V i e w 、C S c r o l l V i e w 、C F o r m V i e w 、 上海交通大学硕士学位论文 47 C E d i t V i e w 派生自己的视窗类,也可直接用C E d i t V i e w 。 2 、可视对象类 可视对象类主要用于构造应用程

14、序的应用界面, 它们分别封装了传统W i n d o w s 编程中的设备 描述表、绘画工具、菜单、窗口、对话框以及各种控制。它主要包括如下几个部分: . 窗口类C W n d 是所有窗口的基类,其派生类C F r a m e W n d 、C M D I F r a m e W n d C M D I C h i l d W N D 分别是 S D I 应用的主框架窗口、M S I 应用的主框架窗口和M D I 应用的文档框架窗口基类。 . 对话类C D i a l o g 是所有模式和无模式的对话框的基类。 . 控制类封装了按钮、滚动条、列表框、工具条等控件。 . 菜单类C M e n u

15、 封装了应用的菜单条和弹出式菜单的H M E N U 句柄。 . 设备描述表类C D C 是设备描述的基类。 . 绘画对象类C G d i O b j e c t 是G D I 绘画工具的基类, 其派生类C B i t m a p 等分别封装了位图、 刷子、 字体、调色板、笔、区域等绘画工具。 5 . 1 . 2 应用程序设计方法 V C + + 的W i n d o w s 应用程序的设计主要就是从M F C 类派生、直接引用M F C 类和构造用户自己的 类,应用程序即由这三种类组成:通过对M F C 类库中的应用结构类和可视对象类的直接或派生, 可以完成应用程序的主体部分和用户界面。一般

16、说来一个应用程序的主体部分由下列类组成: . 一个CWinApp类的派生类,这个派生类一般重载CWinApp的Init Instance()成员函数,用来 初始化数据、创建应用的主框架窗口及完成其他的准备工作。 . CDocument类的派生类,这个派生类描述了应用程序的数据结构。 . CView类或其子类的派生来, 程序员一般要编写自己的视窗类的ONDraw()成员函数以按照 自己所需要的形式绘出文档数据和ONUpdate()成员函数以优化文档数据显示;此外程序员还要 编写响应或处理用户编辑操作和命令的成员函数和视窗初始化函数。 . 自己的文档框架窗口类,从CFrameWnd或CMDIChil

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号