欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 通讯论文 > Dijkstra算法在GIS实际应用中的优化

Dijkstra算法在GIS实际应用中的优化

日期:2023-01-24 阅读量:0 所属栏目:通讯论文


摘 要:地理信息系统(GIS)的实际应用中,对城市道路最短路径的搜索一直是人们研究的重点。Dijkstra算法是最适合拓扑网络中两点间最短路径搜索的算法之一,但由于在城市里对道路最短路径搜索受到道路的畅通等原因所影响,故单纯利用Dijkstra算法并不能很好解决人们的实际需求。本文通过在GIS系统中增加一个设置、查询路障功能来解决以上提到的问题。

关键词:Dijkstra;算法;优化
1.引言
  近年来,GIS被广泛的应用在城市管理等方面上,GIS最主要、最具体的任务是负责管理大型网状设施(如城市中的各类地下管线、交通线、通讯线路等),使得其对网络最短路径分析功能的需求日益增长。在对最短路径搜索的问题上,Dijkstra算法是综合各方面性能较好的算法之一。可在实际道路搜索中,最短路径的意义不仅是指地理上的最短距离,还应包括时间上的,即能用最短的时间到达目的路,这对安排抢险救援的路线尤其重要。本文针对城市应急中的最短路径分析进行了深入的研究,并提出了相应的解决办法。  
ra算法的应用与实现
  传统的Dijkstra算法将网络节点分为未标记结点、临时结点和永久标记结点三种类型。网络中所有结点首先初始化为未标记结点,在搜索过程中和最短路径结点相连通的节点为临时标记结点,每一次循环都是从临时标记结点中搜索距离源点路径长度最短的结点作为永久标记结点,直至找到目标结点或者所有结点都成为永久标记结点才结束算法。该算法能有效解决有向图中单个源点到其他顶点的最短路径问题。
  在本文讨论的GIS中,用MapObjects实现的具体思路为:
(1) 在地图上获取一点,作为起点,并获取到该点的点对象FMoPoint。
(2) 以FMoPoint作为源点调用MO的方法对指定的单位图层搜索该点附近很小范围内的图元元素,搜索到的第一个图元元素作为起点的起始地址;若搜索不到,则把步骤(3)得到的道路名称作为起始地址。
(3) 以FMoPoint作为源点调用MO的方法搜索最短路径图层,找到距离原点最近的一条道路作为开始的道路。
  具体的搜索的方法为:
①以某一指定的步长作为搜索范围的半径,搜索FMoPoint作为圆点的圆形范围;搜索的结果若为空,则增加步长的值,再重新开始搜索,直到搜索结果不为空。
②将搜索到的结果作为一个线段的集合,计算源点到每条线段的最短距离,距离源点最近的一条线段作为开始的线段(道路),并记录下该线段到源点距离最短的点作为FNode(开始结点)。
(4) 同理,在地图上获取第二点TMoPoint作为终点,并得到终点的地址,和终点(结束)的线段(道路)及TNode(结束结点)。
(5) 得到开始线段和结束线段后,计算出FNode到开始线段的两个端点的距离,TNode到结束线段两个端点的距离;因为FNode和TNode是作为临时创建的点,故要计算出所需的距离,用于最短距离计算。
(6) 以FNode作为起点,TNode作为终点,用Dijkstra算法对最短路径图层计算出最短路径来。
(7) 判断FMoPoint是否在开始线段上,如果不在则计算FMoPoint到FNode的距离;如果在,则计算实际的最短路径由FMoPoint经过开始线段的端点的距离。
(8) 同理,判断TMoPoint是否在结束线段上,并进行相应的处理。最后调整最短路径的实际距离。
最短路径计算结束。
3.改进的设计与实现
  由于上述算法中得到只是行驶长度的最短路径,但在实际情况中,这个长度并不真正就意味着是救援者到现场的最优路径,因这其中还涉及到道路等级、路面状况等因素。为此本系统还增加了一个设置路障、查询路障的功能,使查找最短路径时能避开这些无效路径,从而得到实际中的最优路径。
  实现的具体思路为:
(1) 首先得到要设置的道路,方法有两个:
①通过MO的方法用SQL语句来查询所要设置的道路。
②通过点取地图上的道路线段来获得所要设置的线段。实现为在地图上点一点,然后调用MO的搜索方法搜索该点附近的线段来获取要设置的线段。
(2) 得到要设置的道路线段后,通过MO的方法获得该线段两个端点的经纬度。计算这两点的经度值之差的绝对值(LongV)和纬度值之差的绝对值(LatV)。比较LongV和LatV的大小,如果LongV>LatV,那么认为该道路线段是沿着经度方向的,反之,则认为该道路线段是沿着纬度方向的。
(3) MO的每条线段都是点的集合,假定对应数组PointAry[i](i=0,1,2,……, PointCount-1),并且把PointAry[0]当作该线段的起点,把PointAry[PointCount-1]当作终点。如果起点的纬度值大于终点的纬度值,则该线段默认的纬度方向是从东向西,反之,则是从西向东。同理,如果起点的经度值大于终点的经度值,则该线段默认的经度方向是从北朝南,反之,则是从南朝北。
  最短路径操作可分两步:
(1) 初始化最短路径的信息。
(2) 查找最短路径。
在步骤(1)中,初始化每条线段时,若在数据表里面有这条线段的路段信息,则开始判断路段类型的值;若是“路障道路”,则设置该线段的两个端点之间的双向距离都是无穷大。如果是“双行道”,则设置该线段的两个端点之间的双向距离为线段的实际的距离。如果是“单行道”,则再根据默认的线段方向的值,若是“经度方向”,则用默认的经度方向和路段设置的方向的值做比较;若是“纬度方向”,则用默认的纬度方向和路段设置的方向做比较。然后根据比较的结果,设置线段的两个端点之间的双向距离。
4.结论
  本文探讨的最短路径问题,是依赖于一个具体的实际应用,针对采用单纯最短路径算法得到的只是理论上的距离最短,与现实应用中的需求有一定的差距,从而提出了一个新的观点,即在运用算法之前,先对实际路面情况进行查询,从而避免将一些无效道路作为节点插入其中,这样既可以有效的提高了算法的效率,所得结果也能更满足人们的实际需求。
  
参考文献:
[1]王一军,罗大庸,张航.城市应急最优路径算法.系统工程,2008,26(7)
[2]邬伦,张晶,刘瑜.地理信息系统:原理、方法和应用.科学出版社,2005,1
[3]陆峰.最短路径算法.分类体系与研究进展.测绘学报,2001,30(3)
本文链接:http://www.qk112.com/lwfw/jsjlw/txlw/261197.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学