GPS车载导航系统路径规划的研究(7)

2020-05-18 16:47

江苏大学 学士学位论文

MainMenu1 ToolBar1 ImageList1

MainMenu1 ToolBar1 ImageList1 主菜单 地图工具栏 工具栏图标 5.4 地图显示与浏览操作

1、打开工作空间

主要接口:SuperWorkspace1.open

系统程序运行后,首先应自动打开工作空间,故该功能应在FrmMain的OnCreate事件中实现,应用SuperWorkspace1的.open方法,程序代码为:

SuperWorkspace.Open('zjjtmap.smw',''); //打开工作空间 2、 关联工作空间与地图窗口

应用SuperWorkspace1的.handle和SuperMap Object1的.connect关联这两个控件,代码为:SuperMap.Connect(SuperWorkspace.Handle);

3、打开地图

SuperMap.OpenMap('xtpmap'); 4、设置地图可视大小状态

在完成打开数据源的工作后,要为程序添加对地图基本操作,包括放大、缩小、自由缩放、漫游、全幅显示、刷新。这些功能的实现代码非常简单,除了漫游和刷新需要分别调用SuperMap 控件的ViewEntire 方法和Refresh 方法,其他的一些功能只需设置SuperMap 控件的Action 属性如下:

SuperMap.Action := scaZoomIn //地图放大,可以单击地图进行放大。 SuperMap.Action := scaZoomOut //地图缩小,可以单击地图进行缩小。 SuperMap.Action := scaPan //地图漫游,地图窗口未锁定时可任意漫游。

5.5 路径规划程序设计

5.5.1 路径规划模块的实现

根据网络图要素的拓扑关系及属性进行规划,生成一条最满足用户要求的最优路径。步骤为:

21

江苏大学 学士学位论文

a) 获得拓扑道路网图层数据集,采用动态数组存储矢量化的道路网;

b) 获得距离用户在图中所选择的起始点为50个单位的点集,求出距离起始点最近的点s

的ID号,将其作为起始点的ID号; c) 同上得到终止点t的ID号;

d) 调用最短路径算法,求出s和t之间的最短路径,并将经过节点保存在数组s中; e) 获得s中节点记录集,将记录集转化为选择集,刷新当前记录集,即可将结果在图上

显示。

本设计使用的最短路径算法在原始 Dijkstra 算法的基础上,作了一定的改进,实现了用户输入起点、终点,规划出一条从起始点到达终点的最短路径。有关最短路径算法实现部分下面将进行详细的介绍。

5.5.2 最短路径算法实现

1. 矢量化道路网图的存储结构

图的存储方法是影响算法搜索速度和时间复杂度的一个重要因素,根据算法的特点,对道路网图中的每一个节点进行编号,采用了一个动态记录数组G存储信息。定义记录TArc如下:

type

TArc=Record

Fid: integer; //路段起点的编号 Tid: integer; //路段终点的编号 Lenth: real; //路段长度 end;

var

G: array of TArc; 2. 算法实现步骤

本设计中最短路径算法实现过程为:

a) 采用动态记录数组G存储矢量化的道路网;G.Lenth表示G.Fid与G.Tid之间的距离,G.Fid与G.Tid为扑道路网中节点的ID号。

b) mark用来标记已经找到最短路径的顶点,0表示已找到最短路径,1表示未找到。 c) 获得起始点的ID号s,s的mark=0,数组d记录从源点到其它各顶点当前的最短距离。 d) 从mark=1的顶点集合中选出一个顶点w,使d [w]的值最小。于是从源点到达w只通过mark=0的顶点,把w的mark标记为0,调整d中记录的从源点到mark=1的每一个顶点v的距离:从原来的d[v]和d[w]+L(L为w到v的距离)中选择较小的值作为新的d[v]。

e) 重复上述过程,直到求出所有顶点的最短路径。

22

江苏大学 学士学位论文

最终结果是:数组d记录了从源点到G中其余各节点之间的最短路径,path是最短路径的路径数组,其中path [i]表示从源点到节点i之间的最短路径的前驱顶点。

5.5.3 程序运行结果

图5.3为使用路径规划算法进行路径规划的实例,图中的地图为由426个节点和541条路段组成的镇江市市区交通网络地图。红色标记点为起始点,蓝色标记点为终止点,红色标记线为它们之间的最短路径。

图5.3 路径规划实例图

23

江苏大学 学士学位论文

第六章 结论与展望

6.1 设计小结

从研究和实验过程中,本人得出以下结论:

车载导航系统中的路径规划是其他功能的基础,是系统设计中的核心。本课题对GPS车载导航系统的总体结构进行了简单的研究,介绍了本设计所涉及的相关知识,如GPS、GIS、Supermap地理信息系统等,重点对路径规划算法进行了详细研究,综合考虑了多种最短路径选择算法。本设计以SuperMap地理信息系统为开发平台,利用Delphi7.0作为开发工具,通过调用SuperMap objects控件SuperMap和Superworkspace,来实现相应的功能,实现了Dijkstra算法,并作了一定的改进,用约有420个节点的镇江市区地图进行了测试, 并在数字地图上显示了最短路径的结果,设计基本达到预期目标。

6.2 路径规划系统的展望

鉴于个人能力有限,本课题所进行的路径规划研究并不能完全解决车载导航系统的需求,还存在以下问题和有待进一步研究的地方:

(1)显示地图上任意两点的最短距离

本设计中是将用户任意选择的点,与其最近的节点相匹配,求出的是匹配后两点的最短距离,这样显示的时候不能以用户所选点为起始点和终止点,甚至在有些情况下会出现错误。如何将用户选择的任意点匹配到道路上,还需要进一步的研究。

(2)最佳路径分析

与最短路径分析相比较,最佳路径分析要复杂的多。在实际应用中,要考虑到实际路况信息,例如路段的阻塞系数等。本设计规划出的仅仅是最短路径,没有与实际路况相联系。

(3)与路况监测系统的集成

车辆在交通网络中的运行过程是一个动态变化的过程,交通网络中的节点和路段的某些属性不是一成不变的,有些属性是随着时间不断变化的,并且可能影响到路径规划的准确性,有可能提供不正确的规划结果。因此仅使用静态网络中的静态信息进行路径规划结果不能满足实际的需要。在街道上行驶时,需要知道当前各路段交通的畅通情况,以便给用户真正的“最佳路径”。

(4)基础道路数据的更新

城市在不断地发展变化,城市路网也在变化,系统所用的数字地图需要实时更新,如何实时更新GIS 数据库需要进一步探讨。

(5)道路网数据模型的改进

本设计中没有考虑城市交通设施中存在的许多立交桥、单向车道等特殊道路,如何在基础路

24

江苏大学 学士学位论文

网数据中表达立交桥,需要进一步改进数据模型,完整地表达道路的拓扑关系。

(6)复杂地形上的路径规划

要进行路径规划的区域可能是一个复杂的地理区域,包括建筑物、丘陵、河流等。如果需要使路径规划系统适应这种复杂地形上的路径规划,就需要有能够适应三维图形上的路径规划算法加以辅助。

25


GPS车载导航系统路径规划的研究(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:必修五第一单元

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: