GPS定位导航系统Word文档格式.docx
- 文档编号:16390597
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:31
- 大小:668.91KB
GPS定位导航系统Word文档格式.docx
《GPS定位导航系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《GPS定位导航系统Word文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
GPS;
location;
navigation
1项目背景
1.1项目背景及目的
GPS是一个使用GPS定位卫星,能够在全球范围内进行定位、导航等多种功能的系统,生活中常见的应用有运输物品的追踪、交通工具行驶路线的监控、对指定设备进行远程的指挥操作等。
作为一种新的生产力、新的管理方式和先进的测量工具,GPS相关产品已经融入社会发展的各应用领域。
目前,社会经济正稳健发展,中国国内企业的管理意识也正逐步不断在加强,通过运用GPS平台来实现对管理目标的有效管理的趋势也开始成为主流。
例如大部分地方客运,物流等行业都配备了GPS定位系统来实现有序管理、提高工作效率和生产效益。
本文所提出的GPS定位导航系统正是基于这样的项目背景和社会需求而研制开发的,并且该GPS定位导航系统能够被进一步移植到多种平台设备上,成为人们工作、出行的有益工具。
1.2GPS定位导航系统的现状
在中国,GPS定位导航系统的相关设备产品经过了多年时间的市场培育,相关技术的研发和实现已经接近成熟,并不断完善,其相关产业正稳健发展和壮大。
如今,社会经济的发展已经进入了道路交通运输行业应用的一个快速发展时期,同时,由中国自助研制、发射、建立的北斗卫星导航定位系统等技术和产品也为我国的GPS定位导航产业的发展提供了一个良好的基础条件以及更加广阔的市场空间。
现在,市场上的绝大多数GPS定位导航系统都已能够为用户提供地图查询、路线查询及导航、多媒体娱乐等多项人性化的功能和服务。
1.3项目研究的目的和方法
1.3.1项目的研究目的
本课题的GPS定位导航系统的设计和开发,通过对MIF文件所提供的地图信息数据的分析、转换等,实现对大量经纬度数值的访问和地图界面的绘制[1],并采用RS232串口外接LEA-5的GPS模块作为通讯模块,对通讯模块的数据进行解析和处理,实现定位和导航功能。
GPS定位导航系统能够在不同的平台上运行,可用于进一步学习研究,或移植到移动设备上,其丰富的功能和简易的操作方式,能够成为人们出行时的贴身实用帮手。
同时,该系统的设计和开发要求自己能够对专业整体知识的系统化应用,比如对数据库的大量地图数据进行访问读取,需要分析设计出合理的系统框架和可行的优化算法;
为实现系统多任务处理,需要采用多线程开发技术等,相关软件开发技术的应用有助于让自身的能力与企业的实际需求更加接近。
1.3.2开发方法及步骤
1.3.2.1需求分析
功能需求:
GPS定位导航系统的主要核心功能是地图的显示、常用浏览操作,为用户提供实时定位显示信息,并且能够安照用户设定的始发点和终点来查询出一条行驶线路。
此外,为进一步完善和丰富系统的功能,可以增加一些娱乐休闲功能,如阅读功能、相册功能等,从而使用户获得更好地使用体验,和接近用户的实际需求。
性能需求:
为实现定位导航功能,需要系统在运行时能够显示地图信息,而地图由大量的经纬度等原始数据组成,原始数据在界面上的显示需要经过读取、坐标转换、图元绘制[2]等一些复杂的过程,因此,为了使用户能够正常、流畅的浏览地图信息,在系统的开发时,需要分析和实现一定的地图优化算法,提高地图显示的效率。
另外,在实时定位时,GPS设备会不停地返回卫星定位数据,如何对这些数据进行解析以及读取的速度也将影响到系统运行的稳定性[3]。
1.3.2.2可行性分析
经济可行性分析:
如今,经济全球化正不断深入、扩大,中国的社会处于和谐阶段,国民经济也处于稳健发展的时期,人们的生活质量正在不断地提高,物质生活和精神生活也不断地丰富着。
GPS相关产品在车辆、物流、交通等行业的应用越来越多,因此,在中国,GPS定位导航产品有着巨大的市场潜力。
本课题所开发的GPS导航系统,可移植到ARM开发板,进一步实现为可移动的GPS导航设备,具备一定的市场价值和经济效益。
技术可行性分析:
该项目在Linux系统的Qt4.7.0上开发,采用Sqlite3数据库技术[4]、RS232串口通讯编程[5]、MIF地图信息分析等,本人已具备相关知识的掌握和一定的项目开发经验,通过对功能需求的正确分析、设计系统架构、系统关键类类图、系统关键时序图、导航时序图等,做好项目开发各阶段的工作,并努力解决所遇到的问题和总结经验。
法律可行性分析:
该项目的相关设计、编码工作由本人独立实现、完成,保证做到不抄袭、不拷贝、不造成侵权。
1.3.2.3数据库设计与实现
根据业务功能需求、信息需求、和处理需求,确定该系统所采用的数据结构、相关数据操作。
建立E—R图,进行数据库设计,采用Sqlite3数据库技术,建立本系统使用的数据库。
1.3.2.4系统实现
本课题的GPS定位导航系统是基于Linux下的Qt环境,采用C++编程语言所开发实现的。
采用Qt的视图框架来实现界面的显示、操作事件响应和处理,MIF文件来提供原始的地图经纬度数据信息,为提高系统的显示、操作性能和运行时的稳定性,采用SQLite3数据库来存储经过转换处理后的地图数据信息。
另外,在定位功能中,需要借助GPS设备来为系统提供用户的所处地点的经纬度信息,并结合Qt的视图框架技术,在实现该功能。
为丰富和完善系统功能,需要使用Qt库所提供的类或函数,例如电子图书的实现。
为在满足功能性需求的基础上,达到一定的性能需求,要求系统采用多线程开发技术来实现。
1.3.2.5测试与维护
对GPS定位导航系统的功能进行测试、维护,从而保证系统的可用性、可靠性、安全性等。
2开发平台介绍
2.1系统平台环境
2.1.1硬件平台
该GPS定位导航系统的开发硬件平台为Intel(R)Core(TM)i5-2450MCPU@2.50GHz处理器、4.00GB的RAM内存、500GB硬盘。
通讯模块为RS232串口外接LEA-5的GPS模块。
2.1.2软件平台
软件平台,指的是信息系统开发、系统运行时所需要的一个集成软件环境,设计和选择高效率、实用性好、简便操作的软件平台,对于一个信息系统的开发来说,有着重要的作用。
本系统的开发的软件平台具体为Fedora9(内核版本2.6.25-14.fc9.i686)操作系统、GCC-4.3.0-8.i386编译环境[6]、Qt4.7.0开发平台、SQLite33.5.6数据库。
2.2相关技术
2.2.1Qt的GraphicsView架构
GraphicsView框架为开发人员提供了模型——视图结构的图形管理方法,它能够简单、高效地对大量的图元进行管理。
支持碰撞检测、坐标转换和图元组等多种方便的功能。
GraphicsView框架可以很好地支持事件传播的处理操作,其图元可以处理的事件有鼠标操作产生的事件、键盘输入产生的事件等,使得图元在其对应的场景中有着良好、精准的交互能力。
另外,采用BSP实现了快速查找图元的方式,使得应用程序在运行时可以实时、流畅地显示出大场景的界面信息。
GraphicsView框架主要有以下主要组成部分:
一、场景,作为图元对象的一个容器,它提供了一个快速的函数接口来管理大量的图元,包括传播事件到每个图元、管理图元的当前状态等。
开发人员可以通过调用QgraphicsScene:
:
addItem()这个接口函数将所需要的图元添加到一个指定的场景中,另外,也可以调用相关Find()函数来快速获取所需要的一个指定图元。
二、视图,主要作用是用来显示一定范围的场景上的图元信息,也称为视口。
开发人员可以将多个视口连接到同一个场景,实现更丰富的显示功能。
另外,视口部件也提供了滚动条的浏览功能来显示一个大场景的内容。
三、图元,是场景中图形Items的一个基类。
GraphicsView框架提供了的一写常见的形状的Items有矩形、椭圆、文本等。
同时,图元也支持鼠标点击事件、滚轮事件、碰撞检测等。
2.2.2RS232串口外接LEA-5的GPS模块
RS-232[7]被广泛地运用在计算机的串行接口外设的连接上,它是一种关于串行数据通信的接口标准之一。
常见的串行通信设置主要有波特率、奇偶校验和停止位等。
波特率,指每秒钟发送多少比特的数据。
奇偶校验,可以用来检查数据的正确性,包括奇校验和偶校验。
没有使用奇偶校验的时候,被发送的数据不会被修改,而使用奇偶校验时,是通过改变每一发送字节来实现校验的。
停止位,这一个数据位可以帮助接收信号端的硬件重同步,发送过程中,是在每个字节传输后被发送出去的。
流量控制,指的是进行数据通信的双方,需要相互发送的一个握手信号,或者是进行数据的完整性检测时所需要制定一些设置信息。
3系统需求分析
3.1功能需求概述
功能需求主要定义了一个软件系统或组件的功能,同时,也指一个系统所需要向用户提供的哪些功能和服务。
为了方便设计、开发,以及让整个系统有一个较为清晰、合理的框架,经验逐步的分析,设计,将该系统分为以下几个主要模块:
系统开机模块、定位导航模块、电子图书模块、电子相册模块、系统设置模块。
各个模块的详细功能介绍在以下几个图表中列出并做一个简要、具体的描述。
3.1.1系统开机模块
表3.1.1-1系统开机模块的功能需求概要
模块名
功能类别
子功能
开机
系统开机
系统开机过程中显示运行环境的硬件基本信息,显示GPS模块串口初始化的基本信息。
3.1.2定位导航模块
表3.1.2-1定位导航模块的功能需求概要
定位导航
界面
正确加载地图信息并在界面上显示,用户可以对地图进行放大、缩小、平移、查找等操作。
定位
点击定位按钮,能够在地图上显示当前的位置,且初始显示在界面中心。
在地图上选择一个起始位置点和结束位置点,能够正确计算出起始点和结束点之间的最短行走路径,并用不同的颜色在显示界面上标示出来。
3.1.3电子图书模块
表3.1.3-1电子图书模块的功能需求概要
电子书
打开/关闭文件
能够查看并打开本地文件,在界面上显示文件内容。
关闭被打开的文件后,自动清空缓存数据,并且界面显示为初始状态。
打开/关闭书签
能够为最近打开的本地文件创建一个书签,通过打开书签快捷查看文件。
关闭书签后,界面恢复初始状态。
字体
能够支持显示字体的更改,包括字体类型、字体大小。
颜色
能够支持字体和背景颜色的更改,更换后实时更新界面显示。
3.1.4电子相册模块
表3.1.4-1电子相册模块的功能需求概要
电子相册
打开图片
能够查看并打开本地图片文件,在界面上显示并添加到相册。
删除图片
能够实现图片的删除。
自动播放
实现相册内的图片按一定时间进行自动播放显示。
浏览
下一张、上一张的浏览查看,同时能够循环查看。
3.1.5系统设置模块
表3.1.5-1设置模块的功能需求概要
系统设置
设置串口
设置GPS模块使用的串口的具体配置,包括串口号、波特率、停止位、数据位等。
关机
关闭GPS定位导航系统,系统正常退出。
返回
返回系统主界面。
3.2系统数据流图
3.2.1分层数据流图
图3.2.1-1GPS定位导航系统顶层数据流图
图3.2.1-2GPS定位导航系统0层数据流图
图3.2.1-3GPS定位导航系统1层数据流图
图3.2.1-4GPS定位导航系统2层数据流图
4系统功能设计
4.1概述
通过对GPS定位导航基本业务流程的调查了解,以及对系统的功能需求的分析后,接下来所需要做的就是本系统概要设计。
4.2系统框架
系统构架,指的是对软件开发过程中,已经分析好的哪些需求的技术实现架构、作好规划等的一个工具,之后,开发人员在所规划好的步骤下去完成指定的系统开发任务。
图4.2-1GPS定位导航系统的系统框架图
4.3系统功能结构
图4.3-1GPS定位导航系统的系统功能结构图
5数据库的分析设计
5.1系统E—R图
概念模型的设计,指是将现实世界当中的和系统开发相关的一些信息进行一定的抽象后,对信息进行建模,它是开发人员在设计数据库时可以使用的一个有效工具。
本系统的E-R图表现了系统中各个实体之间的联系:
图5.1-1GPS定位导航系统E-R图
5.2实体属性图
图5.2-1实体属性图
5.3数据库逻辑结构设计
表5.3-1地图地点表
序号
字段名
数据类型
是否主键
是否外键
描述
1
id
INTEGER
是
否
编号,唯一标识
2
x
NUMERIC(9)
X坐标
3
y
Y坐标
4
name
VARCHAR(100)
名称
5
kind
VARCHAR(4)
类型
6
addr
地址
7
tel
VARCHAR(15)
电话
表5.3-2河流表
vertex
顶点个数
mapID
VARCHAR(6)
地图ID
表5.3-3市区道路表
VARCHAR(40)
VARCHAR(23)
width
宽度
表5.3-4电子相册图片表
filepath
VARCHAR(64)
图片路径
6系统详细设计
6.1模块设计实现
6.1.1系统关键类的类图设计
图6.1.1-1系统关键类类图
6.1.2GPS数据流向的时序图设计
图6.1.2-1GPS数据流向时序图
6.1.3定位数据的解析
该系统所采用的RS232串口外接LEA-5的GPS设备在接通电源,配置正确,并且能够正常接受卫星信息后,会按照一定的时间间隔返回卫星定位数据。
系统读取到数据后,对原始数据进行解析,主要解析得到定位点的经纬度坐标,然后转换为场景坐标系上的坐标,最后将坐标值赋给定位图元,在界面上更新图元的显示,经过这样的处理过程来实现基本的GPS定位功能。
GPS数据格式为:
$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x,以$作为数据开头,紧接着信息类型,后面是数据,以逗号分隔开。
数据的信息类型主要有以下几种:
可见卫星的信息、地理定位的信息、推荐最小定位的信息、地面速度的信息、GPS定位的信息、当前卫星的信息。
本系统主要解析和使用的信息类型是GPS定位的信息。
6.1.3.1GPGGAGPS定位数据
数据各字段含义为:
$GPGGA[8],<
UTC时间>
<
纬度值>
南北半球>
经度值>
东西半球>
定位的质量指示>
使用卫星的个数>
水平的精确度大小>
天线离海平面的高度值>
M,<
大地水准面的高度值>
差分GPS数据的期限>
差分参考基站的标号值>
*xx<
CR>
<
LF>
6.1.3.2主要解析内容
1.时间,该时间是世界时间,需要把它转换成北京时间,转换方法是在这个时间基础上加8个小时;
2.定位状态,GPS设备在接收到有效的数据之前,这个字段取值为‘V’,其后的其他数据的值都为空;
设备接收到有效的数据之后,这个字段的取值变成‘A’,其后字段也有各自对应的数据值;
3.纬度,系统要将这个数据值进一步转换为用度分秒所表示的格式;
4.南北纬,取值‘N’(北纬)或‘S’(南纬);
5.经度,解析方式和纬度一样;
6.东西经,取值‘E’(东经)或‘W’(西经);
7.速率,数据要转换成千米/时的表示格式;
8.航向,偏离正北的一个角度;
9.日期,可直接使用;
6.1.4地图数据显示的设计
在系统的设计实现过程中,为了提高MIF数据的读取效率,采用SQLite3数据库技术建立地图数据库,数据库存储的是从MIF文件读取到的经纬度等信息,并将原始的经纬度数值进一步转换为场景坐标系上的坐标值信息,从而可使系统在运行时加载地图数据后,即可用于界面的绘制。
另外,由于地图数据量大,通过分次按一定范围读取数据的方式,来减少每次读取时所需要处理的数据量,以便进一步提高地图界面的绘制效率。
地图数据显示的流程图如图6.1.4-1所示。
图6.1.4-1地图数据显示的流程图
6.1.5定位功能的设计
本系统在开启定位功能后,会按一定的时间间隔对从GPS设备读取到原始定位数据进行解析和转换,并结合图元的绘制和更新等操作来完成基本定位功能。
实时定位功能中,需要系统按一定的时间间隔对数据进行解析,同时需要系统进行界面的正常绘制以及进行其他操作,即系统需要同时处理不同的任务,所以在GPS设备原始数据的解析中,采用线程来实现,而主线程用于界面的绘制和一些正常的界面操作等,从而避免在定位时出现界面绘制产生停顿或死机的现象。
定位功能的实现的流程图如图6.1.5-1所示。
图6.1.5-1定位流程图
6.1.5导航路径的设计
GPS定位导航系统的定位导航模块中的导航路径的实现主要采用迪杰斯特拉算法,算法的主要思想如下:
一个向量D,这个向量的每个分量D[i]用来表示从起始点S到每个终点E的长度大小。
例如D[i]等于2,则2是从点S到点i的路径的相对最小长度值。
向量D的初始状态为,如果从S到Ei有弧,则D[i]为此条弧的一个权值,反之D为∞。
因此,长度为D[j]等于min{D|Ei∈V}的路径是从点S出发的一条最短路径(S,Ej)。
如果下一条弧的权值是次小的最短路径的终点是点Ek,则路径是(S,Sk),或(S,Sj,Sk),长度是从S到Sk的弧上的权值大小,或者是D[j]和从Sj到Sk的弧上的所有权值之和。
算法描述见附录2,导航路径的绘制流程如图6.1.5-1所示。
图6.1.5-1导航路线流程图
主要实现算法步骤描述为:
1、假设起点A(x1,y1),终点B(x2,y2),根据坐标系,可以得到max_X=x2,min_X=x1,max_Y=y2,min_Y=y1。
2、根据max_X,min_X,max_Y,min_Y去查询数据库,将该范围内的道路图元添加进容器。
3、起点到容器中第i条道路的两个端点的距离分别为min0和min1,设置最小的值min为min0,min1中较小的,一直遍历,找出最小的第i条道路。
4、同理,找出离终点最近的第i条道路。
5、根据容器中的道路,创建图。
最大顶点数等于容器的大小。
将道路i放入数组ary[],并算出顶点间的权值,这里的权值为道路L1的端点1,到道路L2的端点2的长度。
6、用迪杰斯特拉算法,计算出最短距离
7、设F[i]=1表示求得顶点pos至i的最短路径。
8、F[j]初始化为未知最短路径状态。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GPS 定位 导航系统
![提示](https://static.bdocx.com/images/bang_tan.gif)