车载导航之地图数据毕业设计Word格式文档下载.docx
- 文档编号:19224543
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:27
- 大小:766.71KB
车载导航之地图数据毕业设计Word格式文档下载.docx
《车载导航之地图数据毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《车载导航之地图数据毕业设计Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
中国的车载导航技术经过十年的市场培育,用户目标与需求已逐步明确,以及技术的研发、市场的培育的逐步完善,车载导航装置应用市场业已启动和日趋成熟,现在已逐步进入道路交通行业应用的高速发展时期。
随着城市交通系统的日趋复杂及车辆的增多,车载导航技术有着重要的应用前景,更大的方便人们日常生活。
随着生活的日益富裕,汽车进入寻常家,城际间的路网日趋复杂和大都市内部立体交通网络的建设,车载导航的应用是必不可少的,同时也会给行人带来更大的方便。
研究内容和意义
现阶段,导航产品的研究已经日趋成熟,导航产品的应用也已经普及,考虑更多的应该是客户的需求,尽可能的让客户感到舒适与满意。
城市的道路有很多很多,错综复杂,它们互相连通组成了我们的交通网络。
每条路都有自己的名字,通过这些道路的名字可以判定自己所在的具体方位或目的地的位置。
在导航仪上将路名显示在地图的道路上,会更加直观的展现出驾驶者所在的地点,使驾驶者感到更加的方便,快捷。
本文主要论述的是如何利用MicrosoftVisualStudio2005软件编程实现沿路标记文字,以及内部函数的分析和实现过程。
最后在显示数据的软件Mapdatashow上显示出沿路文字标记的具体画面,检测出软件编程方面是否有错误。
经过测试,运用预先处理地图数据计算并筛选出文字标注的方法,使地图显示软件动态显示地图中的元素的名字,大大提高了车载导航仪处理数据的效率,使导航仪地图信息显示速度加快,降低了导航仪由于处理速度不够而死机的概率,并且节省了导航仪内存空间,具有实际的应用价值。
汽车导航简介
汽车导航仪定义
因为对汽车导航不熟悉,很多人一听到汽车导航,想到的就是GPS全球定位;
其实这种认识是不全面的,完整的汽车导航系统应该包括两部分:
全球定位系统和车辆自动导航系统。
其一般是由GPS天线,集成了显示屏幕和功能按键的主机,以及语音输出设备(一般利用汽车音响系统输出语音提示信息)构成的。
受车内车导航设备和汽车音响集成在一起。
汽车导航仪是集导航,通讯与服务,智能控制,娱乐于一体的汽车专用设备。
图2.1汽车导航仪
图2.2汽车导航仪界面
汽车导航仪功能介绍
车载导航的主要功能有:
地图描画,路径计算,车辆定位,设施检索,驾驶引导等。
地图描画
地图描画是导航系统最直接的功能。
它是在导航终端的显示屏上描画和显示存储在煤质中的电子地图信息。
最基本的电子地图信息包括:
道路,建筑,山川,河流和桥梁等信息。
还可以根据用户设定的比例尺进行切换,目前更先进的导航系统可以根据2D3D显示切换,3D可以细致的显示出建筑物街道的特点,使分辨起来更加的方便快捷。
路径计算
用户通过查看地图或检索设施设定目的地位置,导航系统根据目的地来设定最优的路线。
用户可以根据自己的需求设定最优解决方案,如路线最短,路况最好,最省钱等。
在路线计算的过程中,导航仪根据实时的路况信息及自身存储的一些数据通过一系列的算法计算出最终结果,返回到客户端。
车辆定位
车载GPS导航系统,其内置的GPS天线会接收到来自环绕地球的24颗GPS卫星中的至少3颗所传递的数据信息,结合储存在车载导航仪内的电子地图,通过GPS卫星信号确定的位置坐标与此相匹配,进行确定汽车在电子地图中的准确位置,这就是平常所说的定位功能。
该功能可以给用户提供车辆所在的位置和方位。
车辆的位置通常由经纬度表示。
通过卫星定位及各种算法对车辆所在位置进行匹配和确定,最终返回到客户端。
设施检索
检索方式主要分为以下的四种方式:
1.设施名称检索:
知道设施名称的情况下可使用此检索方式,例如:
目的地为“天安门”,输入每个字拼音的首字母。
2.附近设施检索:
提供现在位置附近、路线附近和目的地附近等多种附近设施检索方式,极大的满足在驾驶过程中的各种需要。
3.路线附近设施检索:
行驶在设置的路线上,如果想寻找附近的加油站,以“路线附近”检索方式可查询从本车位置方圆30公里周围的区域,按离本车位置由近及远的顺序最多可显示20个查询结果。
4.快速的路线检索:
目的地设定后,通过具有高速运算能力的芯片,导航系统能在3秒内推荐5种路线方案,可以根据自身需求选择理想的行驶路线,最多可设置5个目的地,同时根据道路情况选择绕行路线,设定回避区域,大大提高了行车效率。
驾驶引导
用语音提前向驾驶者提供路口转向、导航系统状况等行车信息,就像一个懂路的向导告诉用户如何驾车去目的地一样。
导航中最重要的一个功能,使用户无需观看操作终端,通过语音提示就可以安全到达目的地。
画面导航:
在操作终端上,会显示地图,以及车子现在的位置,行车速度,目的地的距离,规划的路线提示,路口转向提示的行车信息。
重新规划线路:
当用户没有按规划的线路行驶,或者走错路口时候,GPS导航系统会根据你现在的位置,为你重新规划一条新的到达目的地的线路,引导驾驶者轻松的,方便的,快捷的驶向目的地。
期间,导航系统自动更新车况信息,会对路径做相应的改动。
车载导航工作原理
当前的汽车导航系统包括两部分:
全球定位系统和车辆自动导航系统。
汽车导航设备一般是由GPS天线,集成了显示屏幕和功能按键的主机,以及语音输出设备(一般利用汽车音响系统输出语音提示信息)构成的。
受车内安装位置的限制,一般汽车导航设备和汽车视像音响合成在一起,可以播放CD、VCD和DVD碟,其中DVD驱动器负责读取电子地图DVD光盘,因此,一些汽车导航系统又称为DVD导航系统。
内置的GPS天线会接收到来自环绕地球的24颗GPS卫星中的至少3颗所传递的数据信息,由此测定汽车当前所处的位置。
GPS接收了定位卫星信号,经过微处理器计算出汽车所在精确经度和纬度以及汽车速度和方向,并在显示器上显示出来。
它通过地面任意一点(如汽车)和上空四颗定位卫星的相对距离计算出汽车的准确位置。
如果用户知道某点距一颗卫星的距离,我们可以知道该点必然处于以第一颗卫星为球心,以距离为半径的球面上,如果再知道距第二颗已知卫星的距离,用户可以确认该点处于两个球面相交的圆形曲线上,有了第三颗卫星我们就可以将第三个球面和前一个圆形曲线相交于两点。
一般通过第四颗卫星的距离我们就可以唯一确定该点的经纬度了。
导航用电子地图在整个汽车导航应用体系中起到核心的作用,针对不同导航应用往往会采用不同规格的电子地图。
通常电子地图由记录实际地物的地理数据和与实际地物相关的标识信息以及各类附加信息组成。
现在汽车导航的特征之一的“电子地图”,定位功能正式投产的时间是1987年的皇冠,那时,推测航法已经作为定位技术被使用了。
是把通过地磁传感器得到的方位和通过车速传感器得到的距离,按照向量积分推算出车辆的行驶轨迹,求得从出发地的相对位置。
汽车导航工作过程
目前世界上应用较多的是自主导航,其主要特征是每套车载导航设备都自带电子地图,定位和导航功能全部由车载设备完成。
它的工作过程主要有以下几个步骤。
用户输入目的地
在出发前,用户通过系统提供的输入方法将目的地输入到导航设备中。
除了在系统显示的电子地图上直接点击选取地点外,更多时候是借助某种输入方法,将目的地名称(如路名、维修站、机场、火车站、码头、停车场、加油站、酒店、餐厅、医院、邮局及其它公共服务单位等)输入到系统中。
根据输入设备的不同,可以有不同的地名输入方法。
比较常见的是类似目前手机的输入方法,利用显示屏幕周围的旋钮和按键,在屏幕上出现的字母表中选取字母,组成地名,确认后将这个地名输入到系统中。
但是国内市场上的汽车自主导航系统很少采用这种输入方法,因为中文字的数量数以千计,不可能全部列在屏幕上供用户选择,而且国内汽车自主导航产品基本都是基于PC结构。
因此,或者借助外接键盘(从使用和存放的便利性出发,多数采用无线键盘)以类似PC机的中文输入法作为地名输入方法的汽车导航系统,或者利用触摸屏借助日益成熟的手写识别技术进行中文输入。
依靠键盘或触摸屏,同时也可以实现几乎所有的功能按键的功能。
基于“以人为本”的设计思想,特别是考虑到安全性的要求,目前人们也在开发基于语音识别技术的产品。
行驶路线的计算
汽车导航系统中至关重要的一部分是存储在光盘或内置存储器(如硬盘)中的电子地图。
电子地图中存储了一定范围内的地理与道路和交通管制信息,与地点对应存储了相关的经纬度信息。
汽车导航主机从GPS接收机得到经过计算确定的当前点经纬度,通过与电子地图数据的对比,就可以随时确定车辆当前所在的地点。
一般汽车导航系统将车辆当前位置默认为出发点,在用户输入了目的地之后,导航系统根据电子地图上存储的地图信息,就可以自动计算出一条最合适的推荐路线。
在有的系统中,用户还可以指定途中希望经过的途径点,或者指定一定的路线选择规则(如不允许经过高速公路、按照行驶路线最短的原则等)。
推荐的路线将以特殊的方式显示在屏幕上的地图中,同时屏幕上也时刻显示出车辆的当前位置,以提供参考。
如果行驶过程中车辆偏离了推荐的路线,系统会自动删除原有路线并以车辆当前点为出发点重新计算路线,并将修正后的路线作为新的推荐路线。
行驶中的导航
如果导航系统的处理结果不能以合适的方式表现出来,那么汽车导航也就只是一个有趣而无用的摆设而已。
汽车自动导航系统的输出设备包括显示屏幕和语音输出设备。
显示屏幕一般是个10~15cm(4~6英寸)的LCD液晶显示屏(如果需要手写识别作为输入,液晶显示屏表面还有一张透明的触摸屏),主要显示内容包括:
可变比例的地图(包括相应的路名、公路编号、重要地点名称等)、车辆的当前位置、推荐路线等,根据用户的设定还可以显示如附近的维修站、加油站、停车场及其他上面提到的如机场、酒店、医院等公共服务单位的名称及地理位置等信息,以方便用户需要。
在车辆行驶过程中,驾驶员必须全神贯注于驾驶,而不能经常去查看显示屏幕,因此,一个实用而人性化的车辆自动导航系统应该利用语音输出,在必要的时刻向驾驶员提供提示信息。
比如,车辆按照系统推荐路线行驶到应该转弯的路口前,语音输出设备会提示驾驶员:
300m后请向左转。
这样,驾驶员根本不必关注屏幕的显示,也可以按照推荐路线正确快捷地到达目的地。
地图数据
地图数据的格式
汽车导航仪的核心部分即地图数据,主要包含GDF数据,MDB数据,RDB数据,PDB数据,LDB数据四种格式。
下面将对这几种数据格式进行介绍。
本文主要采用的是PDB数据格式,PDB数据能对数据进行描画并图像化显示数据,可以显示出地图数据的点,线,面,极大地方便了后续的测试工作。
GDF数据
地理数据文件(GeographicalDataFile,GDF)是一种保存地理数据的文件格式,用于描述和传输道路网络和道路相关数据。
原始的地图数据由地图测绘公司通过实地勘察测绘而成,地图的原始格式有很多种,如GDF、KIVI等,本文只介绍欧洲通行的交通网络空间数据标准GDF。
“要素”(Feature)是现实世界地理对象在数据库中的表达,GDF数据文件中的要素分三个层次:
Level2:
复合要素(ComplexFeature)多个市、区组成。
GDF中用Complex表示。
Level1:
单一要素(SingleFeature)像道路、建筑物、海洋等规定了属性的要素,GDF中用点(Point)、线(Line)、面(Area)表示。
Level0:
形状要素(Geometry)组成点、线、面的几何元素,GDF中用坐标(XYZ)、节点(Node)、边(Edge)、面(Face)表示。
图3.1各层要素之间的关系
MDB数据
由于GDF格式是纯文本格式,不能被导航仪直接识别应用,所以先将其转换为计算机应用的中间格式——MDB(二进制数据)。
原始数据只是单纯的地图数据,所以要根据客户需求对其做一些添加,压缩和删减,于是将原始数据转换为导航仪应用的数据格式:
RDB,VDB,SDB格式。
RDB数据
RDB数据存储的只有点和线,主要应用于算路,路径诱导,定位等功能。
图3.2RDB数据
PDB数据
PDB数据存储的是所有Map可视化的需要的图形元素——点、线和面,主要应用于地图的描画和显示。
图3.3PDB数据
LDB数据
LDB数据主要存储的是国家,城市,POI(PointofInterest)和声音信息等,主要应用于检索功能,极大地满足在驾驶中的需求。
地图数据的主要元素
地图中的主要元素是点,线,面。
在导航仪上,点主要表示建筑,交叉点,交通灯,POI等。
线主要表示道路,铁路,航道等。
面主要表示海洋,陆地,建筑,绿地等。
如图3.4所示,为汽车导航仪上显示的各种地图数据元素。
在导航的电子数据中,通常用点和线表现一条道路,每条道路都有各自的属性,唯一的ID。
由于每条道路都不是直的,所以在每条道路上,有一个个的形状点。
在地图描画时,通过一定的平滑处理算法连接相邻的形状点,就可以将道路描画出来。
如图3.5所示,为道路的形状点。
图3.4地图数据的主要元素
图3.5道路的形状点
地图数据的比例尺
地图数据另外一个重要的组成部分就是比例尺,比例尺表示图上距离和实地距离缩小的程度。
在不同比例尺下所看到的地图数据是不同的。
比例尺越大显示的范围越大,比例尺越小,地图越精细,显示的东西越多。
(注:
为了说明方便,本文提到的比例尺的大小均是对于比例尺的分母来说的,分母越大,比例尺越大,例如1:
50000的比例尺大于1:
5的比例尺)
图3.6较低的比例尺图3.7较高的比例尺
地图数据的分层与分块存储
为了满足不同比例尺条件下,数据存储与检索的需要,需要将地图数据进行分层存储,并根据每个层数据量的不同,进而对数据进行分块存储,高层的数据量少,划分的块数较少,低层的数据量较多,划分的块数较多。
地图数据的分层存储
地图的分层存储可以理解为分不同比例尺的存储。
比如说:
实地25平方公里在1:
10万,1:
25万和1:
50万比例尺地图上,分别为25平方厘米,4平方厘米,1平方厘米。
很明显,欲在上述各种比例尺地图上以相同的详细程度显示实地25平方公里范围内的制图物体和现象是不可能的。
这样一来,地图比例尺标志着地图对地面的缩小程度,直接影响着地图内容表示的可能性,即选取、化简和概括地图内容的详细程度。
将地图分层(Level)存储,一般在最底层存储最详细的数据,而上层逐渐进行数据的抽取。
目前中国地图数据分为7层,Level0到Level6。
最高层Level6可能就只描画整个中国的版图,仅标注主要的都市,而到了Level0层就有可能详细到某个市镇的道路。
比例缩尺(scale):
每个Level的数据显示的都是一个scale的数据,比如Level0的比例尺是1/25000,实际上在每层又分了多个比例尺,这样的比例尺称为缩尺scale,每层最多允许有5个scale.每层的数据只有一份,可以通过缩尺scale的控制描画在不同的比例尺下。
地图数据的分块存储
分层存储能够将地图数据划分为很小的单元,但是即使这样取得每层的数据也是比较困难,因此在分层存储的基础上对每层的数据分块进行存储,这样为数据的取得和管理也提供了很大的便利条件,因为每层的数据量不同,因此不同层的数据块的个数也是不相同的,低层的数据量较大,划分的数据块较多,高层的数据量小,划分的数据块也少。
在下面章节提到的地图数据的描画就是利用地图数据的分块存储,将整个地图划分成大的矩形Block,再将Block分成许多的小Patch。
图3.8地图数据的分层与分块存储
地图数据沿路文字的标记
地图标记概述
地图中的路是由直线组成的,组成路的直线又由很多的形状点构成。
在路上显示文字就是要让用户知道所见路的名称,使其能更好的了解其所在位置。
由于路形状的不确定性,为文字在路上的显示增加了很多困难。
如,路过长,文字的显示位置如何确定;
路有转弯,并且转弯角度很小,文字显示位置的确定等。
这都表示了为道路添加文字需要非常严谨的算法。
图4.1地图标记
一些术语的定义
标记提示(MarkHints,后简称MH):
被用来在地图上适当的地方标记名字,是MapViewer的一个功能,为了更快速的为一个适合的地方命名。
线状特征(LineFeature,后简称LF):
由一连串的点及连接点的线组成,这些点也可以指形状点。
如:
路,河,铁轨,国家边界等。
区域特征(AreaFeature,后简称AF):
是一个面,由一些由直线连接起来的点组成,并且第一个点和最后一个点重合。
例如,建筑物,森林,海洋等。
最高可见层(HighestVisibilityLevel):
为了给选择最适合的MH提供一个标准,附加的输入是必要的。
HVL定义了详细的MH已包含的最小能见度图层。
使用了这个信息,MapViewer可以在放大缩小时阻止文字跳跃。
标记提示(MH)分析
1.一个MH必须指派给每个LF,即每条路上都必须显示其名字。
2.对于每个LF,所有的形状点必须被当作输入数据。
3.一个MH包含两个信息:
大量的形状点(最少三个),最高可见层。
4.如果一个LF仅包含两个形状点,则在两个形状点的中间增加一个新的形状点。
5.如果三个形状点形成的夹角小于规定的最小角度,则不在这个部分上添加MH,从中间点切断,再重新判断前后是否满足条件,创建MH。
6.如果一个MH的形状点过多,则在其上限点处切断,建立MH,接下来建立新的MH。
7.通过路的长度来计算MH的最高显示层,在不同比例尺下,道路的长度等问题会影响到MH的显示。
8.在边界处的相同名字的路分开计算考虑。
图4.2标记提示(MH)的组成
功能实现
概述
主要研究的是将二进制数据D转换为在Mapdatashow上显示的数据G的过程中为线属性添加MarkHints的过程。
显示数据中有三种元素类型:
点、线、面。
点主要代表的是建筑物、POI等,线主要代表的是道路、航道、桥等,面主要代表的是湖、公园、广场等。
显示数据会被划分为几层,在不同的层中,不同的比例尺下,显示的点、线、面的大小和数量会有所不同。
因为随着比例尺的增大,某些元素会缩小到没有必要显示出来。
MarkHints是显示地图时用来建议地图显示软件应该在何处显示该元素的名称。
导航仪的内存有限,如果没有MarkHints而单靠导航仪中的地图显示软件直接计算后显示名称,所耗费的时间很长,并且占用大量内存,效率会很低。
MarkHints是先进行筛选过的少量的数据,在地图显示软件需要显示某一元素的名称时,只需要在少量的hints中选择合适的显示即可。
线属性主要应用的是CurvedMarkHints,面属性主要应用的是HorizontalMarkHints。
本文只研究针对线属性的CMH。
图4.3线上文字的显示
函数功能简介
该功能主要包含两个函数,主函数调用另外一个函数的功能,即为添加文字标记的函数调用划分数据段得函数。
gdblib:
:
linienzug_c:
set_CurvedMarkHints_LF()的主要功能是对路的形状点进行切割分类,将每一段符合条件的MH存储。
并计算其显示的最大比例。
calc_MH()遍历所有的线的名字,并根据名字的属性分不同情况进行计算。
将名字与上面函数算出的MH进行配对存储,并在相应的坐标点上添加名字。
选取名字和LH的最小显示比例存储。
函数流程
图4.4制作沿路文字标记流程图
图4.4为制作沿路文字标记流程图:
calc_MH函数
功能:
为线元素坐标命名,包括道路,河流,航道,海峡。
主要调用的函数:
1)addNaming(intcat,inticon,intprio,intsubPrio,constchar*name,intnameNum,intscale,intminscale,element_c*ele,std:
vector<
koord_c>
&
HintCoordlist,intradius)
2)set_CurvedMarkHints_LF(std:
InformationForMH_c>
Infomationlist_CMH,log_c&
log)
函数具体流程介绍:
首先从二进制数据文件中取得所有的直线的名字,对所有的名字进行遍历,判断当前的名字的类型,如果是河流或海峡的名字,读取名字的最大显示比例,再判断此比例是否大于当前层的比例,若大于,则继续,小于则跳出继续遍历。
接下来要判断当前软件的版本,若为较低版本则不用做沿路文字标记,只设置显示比例等属性。
如果为高版本则调用set_CurvedMarkHints_LF函数,将得到的标准点依次加到当前名字上。
如果是道路的名字,则调用set_CurvedMarkHints_LF函数,将得到的标准点依次加到当前的名字上。
如果是标号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车载 导航 地图 数据 毕业设计