基于GIS的城市道路网最短路径分析
基于GIS的城市道路网最短路径分析

基于GIS的城市道路网最短路径分析摘要运用GIS网络分析功能,针对城市道路网的特点,建立了基于路段连接的道路网络模型,并选择可达性作为道路权重对道路网进行了最短路径分析。
对经典的Dijkstra算法加以改进,提出了求解道路网任意两点间最短路径的算法,该算法搜索速度快,具有较强的适用性。
关键词最短路径;可达性;道路网0 引言随着计算机和地理信息科学的发展,地理信息系统因其强大的功能得到日益广泛和深入的应用。
网络分析作为GIS最主要的功能之一,在电子导航、交通旅游、城市规划以及电力、通讯等各种管网、管线的布局设计中发挥了重要的作用,通用的网络分析功能包括路径分析、资源分配、连通分析、流分析等。
网络分析中最基本和最关键的问题是最短路径问题,它作为许多领域中选择最优问题的基础,在交通网络分析系统中占有重要地位。
从道路网络模型的角度看,最短路径分析就是在指定道路网络的两节点间找出一条阻碍强度最小的路径。
根据阻碍强度的不同定义,最短路径不仅仅指一般地理意义上的距离最短,还可以引申到其它的度量,如时间、费用、线路容量等。
相应地,最短路径问题就成为最快路径问题、最低费用问题等。
因此,城市道路网作为一种大型网络设施有其本身的特征。
它一方面包含网络本身的拓扑特征;另一方面还包含了大量反应地理位置特征的几何数据。
本文根据道路网的特点,运用GIS网络分析功能对道路网络模型、道路的权重选择以及快速寻求路网中两节点间的最短路径算法分别进行了研究。
1 道路网模型及权重设置1.1 道路网模型建立城市道路网主要由众多道路相交、相连构成。
在纵横交织、错综复杂的道路网络中,道路间的地理位置关系相当复杂,一条道路可能与若干条道路相交相连,且其相交相连的模式复杂。
为了避免过多地考虑道路间的拓扑关系,抽取道路网中道路交叉路口作为分析对象,并对道路以交叉路口为结点进行分割,成为路段。
这样,整个网络图将由交叉路口点和路段组成,并定义交叉路口点为网络的结点,路段为网络的弧。
GIS中最短路径问题的研究与实现

辽宁师范大学硕士学位论文GIS中最短路径问题的研究与实现姓名:***申请学位级别:硕士专业:地图学与地理信息系统指导教师:***20070602愿始数据扩展后的数据图4一I道路网数据原始的道路网数据大约有5000个路口,6700条道路,为了更好地体现本文中算法实现的效率,本文将原始数据扩大了9倍,最终参与运算的数据中约有42000多个路口和62000多条道路。
扩大后的数据虽然并不能直接模拟某一具体城市或地区的道路网数据,但是由于本文主要研究最短路径算法在具体平台上的实现,所实现的程序也是一种算法验证程序,并不是实用系统,因此扩大后的道路网数据完全可以满足计算要求,并且这一数据量也代表了现代大城市的道路网真实数据量。
可以较好的模拟出真实的算法实现效率。
计算最短路径应当以道路权值为标准,本程序中已经将道路的权值与路径长度相乘并存入道路的weight字段中,因此在程序运行中不需要同时取道路长度和权值,只需要取weight字段值进行计算。
4.2.2软硬件平台本研究基于ArcGISEngine平台,实现语言为|ISc#语言,编程环境为MsVisualStudio.Net2005。
GIS中最短路径问题的研究与实现路数据包括点和线两类,因此就有两种附带拓扑关系的方法,一是在每个点元素的属性中附带与其相接的线元素的D,或直接附带与其相邻的点元素的D:二是在每个线元素的属性中附带两端的点元素的D。
相比较而言,第二中方法更为可行,原因如下:(1)点元素和线元素的关系为hn,也就是说一个点元素可能会找到多个线与其相连,如果按最大值为点元素增加属性,则肯定会浪费太量窑间,如果按平均数来增加属性,又会损失大量拓扑信息。
”’‘(2)线元素和点元素的关系始终为1:2,每个线元素有且仅有一个首点和一个尾点,只需要为线元素增加首节点D和尾节点m两个属性就可以实现,并且既不丢失拓扑关系,也不会浪费空间。
(3)按照第一种方式,则需要使用循环遍历与点相接的线元素,时间开销无法确定。
基于arcgis最短路径分析

✓ 网络组成要素
结点(Node):网络中任意两条线段的交点,属性如资源数 量等
链(Link):连接两个结点的弧段。供物体运营的通道,链间 的连接关系由弧段-结点拓扑数据结构来表达。属性如资源 流动的时间、速度等
中心(Center):网络中位于结点处,具有沿着链收集和发 放资源能力的设施,如邮局、电站、水库等
要素,如果代表天桥的两条弧段相交于一个
节点(高程为0),那么代表天桥下面的街
道的两条弧段就相交于另一节点(高程为1
)
29
(1)网络数据集的连通性---(Connectivity)
连通性可在参与网络的要素类中定义
也可以在要素类子类(subtype)中定义
可以使用高程字段判断连通性
30
连通组和连通策略
几何网络(Geometric networks)
用于定向网络分析 (如: 水流、电流等) 线 & 点 -> Geometric network ArcMap中使用 Utility Network Analyst 工具条
网络数据集(Network datasets)
用于非定向网络分析 (如:交通问题) 线,点&转弯( turns)-> Network dataset 使用 ArcGIS Network Analyst扩展模块
为了实现供需关系,在网络中必然存在资源的运 输和流动。资源要么由供方送到需方,要么由需 需方到供方索取。
15
关于Allocate的两个例子
Supply-To-Demand的例子:负荷设 计、时间与距离损耗估算
电能从电站产生,并通过电网传送到客户那 里去。在这里,电站就是网络模型中的 “Center”,因为它可以提供电力供应。电能的 客户沿电网的线路(网络模型中的Link)分布, 他们产生了“Demand”。在这种情况下,资源 是通过网络由供方传输到需方来实现资源分配 。可用来分析输电系统是否超载;停电的社会 、经济影响估计等。
基于GIS的城市道路网最短路径算法探讨

基于GIS的城市道路网最短路径算法探讨
严寒冰;刘迎春
【期刊名称】《计算机学报》
【年(卷),期】2000(023)002
【摘要】文中从城市道路网络的特点出发,分析了道路路段间的连通关系,得出一种求城市道路网络两节点间的最短路径的算法.算法的复杂度与网络节点数N成线性关系,即O(N).最后通过在GIS软件MapInfo中编制的算法程序实例,验证了算法的实用性和可靠性.
【总页数】6页(P210-215)
【作者】严寒冰;刘迎春
【作者单位】浙江工程学院电子与自动化系,杭州,310033;浙江工程学院电子与自动化系,杭州,310033
【正文语种】中文
【中图分类】TP391
【相关文献】
1.浅析城市道路网中的最短路径算法 [J], 陈献辉
2.基于GIS的城市道路网可达性评价 [J], 郑晓蕾
3.基于RS与GIS的城市道路网密度计算 [J], 任慧;周振红;周鑫鑫
4.基于GIS的城市道路网最短路径分析 [J], 韩俊卿
5.基于ArcGIS的城市道路网最优路径探讨 [J], 孙晓莉;钟亮;田淑静;和万荣;郭朝元;景志雄
因版权原因,仅展示原文概要,查看原文内容请购买。
ArcGIS网络分析[2.1]最短路径
![ArcGIS网络分析[2.1]最短路径](https://img.taocdn.com/s3/m/034262c8cf2f0066f5335a8102d276a200296001.png)
ArcGIS ⽹络分析[2.1]最短路径最短路径求解【如果看到此博客还没有⽹络数据集的,请参考第⼀章的内容,,看⽬录】最短路径,是什么最短?时间最短?距离最短?什么距离?路程距离?考虑到拥堵问题,限速问题,换乘问题,在现实的最短路径远远⽐计算机中的最短路径要复杂,因为要考虑的因素太多了。
这些因素就叫作最短路径求解过程中的“阻抗”,和电阻阻碍电流类似。
最短路径是后⾯⼏个分析类型的基础,只有求得了最短路径,才知道能覆盖多⼤地⽅(服务区)、事故点与最近设施的路径怎么⾛(最近设施)等。
在上⼀章,就已经有了最简单的路径分析:单⼀的道路⽹,阻抗仅仅为公路⽹的长度。
在这⾥不讨论最短路径的内部算法,似乎有⼤佛说过,ESRI是⽤的Dijkstra算法的变种算法。
最短路径中有什么元素呢?换句话说,最短路径要什么东西才能分析?途径点、障碍。
最短路径输出了什么?当然就是最短路径的那条线啊!换成图的形式,就是这样⼦。
输⼊必选参数[途径点],可选参数:充当障碍的[点线⾯],基于连通策略和阻抗,就能计算出最短路径。
什么是障碍呢?例如,某条路正在封闭施⼯,那施⼯的那个地⽅就是障碍,这⾥是不能通⾏的,就代表最短路径是不会⾛过障碍的。
路径分析常⽤设置在这⾥打开⽹络分析图层的属性窗⼝找到分析设置选项卡,就会有如下图:输⼊元素输出元素途径点障碍最短路径经常会使⽤到的设置是:阻抗、限制、⽅向、交汇点的U形转弯、这⼏个。
阻抗很简单,分析的时候经过这条路的花费成本,可以这么简单的理解。
可以是时间、平均消耗体⼒、道路长度等。
限制限制主要有两种:转弯限制和单⾏线限制。
有的⼗字路⼝会有禁⽌转向左边或者右边,或者⼗字路⼝等红绿灯的时间⽐较长的情况,这个就是转弯限制。
转弯限制怎么来的呢?当⽹络数据集中加⼊了转弯要素类的时候,这个复选列表就可以选择了。
有关如何制作转弯要素类,请跳到第四章。
单⾏线,有的道路只能⼀个⽅向⾛,不能来回⾛,这也是很常见的。
⽅向这个是导航设置。
基于GIS的城市交通网络可达性分析

基于GIS的城市交通网络可达性分析随着城市化进程的加快和人口的不断增长,城市交通问题日益突出。
为了解决交通拥堵、优化交通路线规划等问题,基于GIS的城市交通网络可达性分析成为了研究的热点。
本文将从交通网络的建立、可达性分析方法以及可达性分析结果的应用三个方面,进行讨论和探索。
一、交通网络的建立城市交通网络是可达性分析的基础。
建立一个准确、完整的城市交通网络模型对于分析交通可达性至关重要。
以某市为例,可以通过收集交通路网数据、公共交通站点数据以及交通流量数据来搭建城市交通网络模型。
利用GIS软件,将这些数据进行整合和处理,建立出一个真实、精确的城市交通网络模型。
二、可达性分析方法在城市交通网络模型建立完成后,可以采用多种方法进行交通网络可达性分析。
其中常用的方法包括:最短路径分析、可达度分析和权重距离分析等。
最短路径分析是计算两点之间最短路径的方法,适用于短途出行的可达性分析。
可通过计算两个点之间的距离或时间来评估出行的便捷程度。
可达度分析是根据交通网络模型计算出各区域的总可到达性,常用指标是可达性指数。
可通过计算每个节点到其他节点的最短路径长度,再统计可到达其他节点的个数,得出可达度指标。
权重距离分析考虑了不同交通路段的阻抗系数,可以更加准确地评估交通网络的可达性。
通过设定不同的权重,可以得出更接近实际情况的结果。
例如,道路拥堵程度高的路段可以设置较大的阻抗系数,从而在计算中反映出拥堵对可达性的影响。
三、可达性分析结果的应用交通可达性分析结果可以为城市交通规划、交通拥堵疏导、公共交通站点布局等提供科学依据和参考。
通过研究交通网络中不同节点的可达性情况,可以找出交通瓶颈区域,并进行相应的优化规划,以提升交通效率。
此外,可达性分析结果还可用于公共交通站点布局。
通过分析各个区域的可达性指数,可以确定哪些区域需要新建或调整公交站点,以提供更便捷的公交服务。
另外,可达性分析结果还可以为交通拥堵疏导提供参考。
ArcGIS网络分析(最短路径问题分析)

ArcGIS⽹络分析(最短路径问题分析)⽹络分析(最短路径问题分析)⼀、实验⽬的:理解最短路径分析的基本原理,学习利⽤arcgis软件进⾏各种类型的最短路径分析的操作。
⼆、实验准备1、实验背景:最短路径分析是空间⽹络分析中最基本的应⽤,⽽交通⽹络中要素的设置对最短路径的选择有着很⼤的影响。
实验要求根据不同的权重,给出到达指定⽬的地的路径选择⽅案,并给出路径长度。
在⽹络中指定⼀个超市,要求分别求出在距离、时间限制上从家到超市的最佳路径。
给定访问顺序,按要求找出从家经逐个地点达到⽬的地的最佳路径。
2、实验材料:软件:ArcGIS Desktop 9.x ,实验数据:⽂件夹ex6中,⼀个GeoDatabase地理数据库:City.mdb,内含有城市交通⽹、超市分布图,家庭住址以及⽹络关系。
三、实验内容及步骤⾸先启动ArcMap,选择ex6\city.mdb,再双击后选择将整个要素数据集“city”加载进来,然后将“place”点状要素以“HOME”字段属性值进⾏符号化,1值是家,0值是超市。
第1步⽆权重最佳路径的选择加载“设施⽹络分析”⼯具条(“视图”>>“⼯具条”,勾选“设施⽹络分析”),点选旗标和障碍⼯具板下拉箭头,将旗标放在家和想要去的超市点上。
第2步加权最佳路径选择在设施⽹络分析⼯具条上,点选旗标和障碍⼯具板下拉箭头,将旗标放在家和想去的某个超市点上。
选择“分析”下拉菜单,选择“选项”按钮,打开“分析选项”对话框,选择“权重”标签页,在“边权重”上,全部选择长度“length”权重属性。
点选“追踪任务”下拉菜单选择“查找路径”。
单击“执⾏”键,则以长度为⽐重为基础的最短路径将显⽰出来,这条路径的总成本将显⽰在状态列。
上述是通过距离的远近选择⽽得到的最佳路径,⽽不同类型的道路由于道路车流量的问题,有时候要选择时间较短的路径,同样可以利⽤⽹络分析进⾏获得最佳路径。
第3步按要求和顺序逐个对⽬的点的路径的实现在设施⽹络分析⼯具条上,点选旗标和障碍⼯具板下拉箭头,将旗标按照车辆访问的顺序逐个放在点上。
ArcGIS交通路网分析

ArcGIS交通路网分析简介ArcGIS是一套由Esri公司开发的地理信息系统软件,用于地图制作、数据分析和地理信息可视化等任务。
而交通路网分析是ArcGIS中的一个重要功能,它可以帮助我们对交通网络进行分析和优化,从而提高交通运输的效率和安全。
本文将介绍ArcGIS中的交通路网分析功能以及如何使用它来进行实际的交通路网分析。
功能介绍ArcGIS中的交通路网分析功能主要包括以下几个方面:1.路径分析:可以帮助我们找到两个地点之间的最短路径或最佳路径。
路径分析可以应用于各种场景,比如寻找最佳驾驶路线、计算货物运输的最短路径等。
2.服务区分析:可以根据给定的设施点和服务范围,计算出这些设施点的服务区域。
服务区分析可以帮助我们确定服务设施的合理位置以及设施的服务范围。
3.最近设施分析:可以找到离给定地点最近的设施点。
最近设施分析可以应用于各种场景,比如找到离用户当前位置最近的餐馆、找到离目标地点最近的公交站等。
4.网络分析:可以进行高级的网络分析,比如计算路径的行驶时间、计算路径的行驶成本等。
网络分析可以帮助我们对交通路网进行更加详细和深入的分析。
使用方法下面我们将介绍如何使用ArcGIS进行交通路网分析。
1.准备数据:首先,我们需要准备交通路网的数据。
这些数据通常包括路段的几何形状、路段的属性信息以及设施点的位置信息等。
可以通过导入现有数据或在ArcGIS中手动绘制路网数据来准备数据。
2.创建网络数据集:在ArcGIS中,我们需要将准备好的路网数据转换为网络数据集。
网络数据集是一种特殊的数据结构,可以支持网络分析所需的功能。
通过ArcGIS中的工具可以方便地将路网数据转换为网络数据集。
3.设置网络属性:在网络数据集中,我们需要设置各个路段的属性信息,比如速度限制、是否允许左转、是否允许掉头等。
这些属性信息将影响路径分析、服务区分析等功能的结果。
4.进行交通路网分析:在网络数据集准备好之后,我们可以使用ArcGIS中的交通路网分析工具进行具体的分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于GIS的城市道路网最短路径分析摘要运用gis网络分析功能,针对城市道路网的特点,建立了基于路段连接的道路网络模型,并选择可达性作为道路权重对道路网进行了最短路径分析。
对经典的dijkstra算法加以改进,提出了求解道路网任意两点间最短路径的算法,该算法搜索速度快,具有较强的适用性。
关键词最短路径;可达性;道路网中图分类号 tp393 文献标识码 a 文章编号1674-6708(2010)17-0092-020 引言随着计算机和地理信息科学的发展,地理信息系统因其强大的功能得到日益广泛和深入的应用。
网络分析作为gis最主要的功能之一,在电子导航、交通旅游、城市规划以及电力、通讯等各种管网、管线的布局设计中发挥了重要的作用,通用的网络分析功能包括路径分析、资源分配、连通分析、流分析等。
网络分析中最基本和最关键的问题是最短路径问题,它作为许多领域中选择最优问题的基础,在交通网络分析系统中占有重要地位。
从道路网络模型的角度看,最短路径分析就是在指定道路网络的两节点间找出一条阻碍强度最小的路径。
根据阻碍强度的不同定义,最短路径不仅仅指一般地理意义上的距离最短,还可以引申到其它的度量,如时间、费用、线路容量等。
相应地,最短路径问题就成为最快路径问题、最低费用问题等。
因此,城市道路网作为一种大型网络设施有其本身的特征。
它一方面包含网络本身的拓扑特征;另一方面还包含了大量反应地理位置特征的几何数据。
本文根据道路网的特点,运用gis网络分析功能对道路网络模型、道路的权重选择以及快速寻求路网中两节点间的最短路径算法分别进行了研究。
1 道路网模型及权重设置1.1 道路网模型建立城市道路网主要由众多道路相交、相连构成。
在纵横交织、错综复杂的道路网络中,道路间的地理位置关系相当复杂,一条道路可能与若干条道路相交相连,且其相交相连的模式复杂。
为了避免过多地考虑道路间的拓扑关系,抽取道路网中道路交叉路口作为分析对象,并对道路以交叉路口为结点进行分割,成为路段。
这样,整个网络图将由交叉路口点和路段组成,并定义交叉路口点为网络的结点,路段为网络的弧。
从而建立基于路段连接的网络模型,其模型形式表述为:式中,rw代表道路网络;n代表结点集;r代表路段集合,其元素为有序对,表示由结点x到结点y存在一条有向通路;lr代表路段长度集合,其元素表示有向路段的加权长度。
其中,路段的加权长度是指根据目标函数要求,综合各种动态实时信息和静态属性信息后所得的路段参数,而并非真实意义下的长度。
1.2 道路网权重选择在交通路网中,两点间最优路径算法的优劣主要受到2个因素的影响,即所使用的最短路径算法和所选择的道路权重。
最短路径算法是路径选择的搜索工具,决定了如何在庞大的路网数据库中找到最佳的可行路径。
道路权重则是路径选择的搜索指标,是最短路径算法的依据。
因此,道路权重的选择直接影响到最优路径算法的合理性。
一个城市的道路网络由不同等级的道路组成,不同等级的道路的通行能力和功能要求均不相同。
只有整个城市的交通负载根据出行者目的的不同,均衡分布在不同等级的道路上,城市的路网才能得到最有效的利用。
因此单纯的选择距离、时间或道路的通行能力作为道路权重都不太客观,需要选择一种比较综合的指标作为道路权重。
可达性是hansen于1959年首次提出的概念,用于定义交通网络中各结点间相互作用机会的大小。
其表述的是路网中任意点之间通达的可能性及难易程度,数学上指单位时间内可实现通达的直线距离[1],即为可达能力(km/m),是可达性的量度。
可达性同时考虑了时间和距离的因素,把道路交通的固定设施和移动工具有机结合起来,而且避免了以道路通行能力作为权重可能造成的城市路网全局负载问题。
因此以可达性为道路权重是一个比较综合的指标,具有更大的合理性。
2 最短路径算法最短路径问题的算法有很多种,包括基于限制条件的深度优先搜索算法、dijkstra算法、floyd算法、a*算法等,各种算法在空间复杂度、时间复杂度、易实现性等方面各具特色。
其中,采用启发式策略的dijkstra算法是目前公认的求解最短路问题的经典算法。
但dijkstra算法在基于网络的权矩阵求解最短路问题的计算机算法和程序中,运用了关联矩阵、邻接矩阵和距离矩阵的概念。
在存储图形数据和运算时,需要定义n×n的数组(其中n为网络的结点数),当网络的结点数较大时,将占有大量的计算机内存。
如果不对dijkstra算法进行优化,该算法很难在实际中得到应用。
在原始的dijkstra算法中,每次在临时标记点中搜索路径最短的结点时都要遍历所有的临时标记结点。
解决办法就是将临时标记结点按照最短路径排序,每个搜索过程不必全部遍历或者较少地遍历临时标记点。
或者尽量减少最短路径分析过程中搜索的临时结点数量。
基于此思想,提出了以下优化算法。
2.1 算法原理利用两点之间直线最短的原理,在道路网中,如果两结点间存在一条边,则该边为两结点间的最短路径。
若不存在一条边,则连接起、止点的直线段代表了一个路线的趋势,顺着连线方向的某条边是最短路径的可能性最大。
依据此思想,可以构造2个矢量,矢量一以当前结点为起点,目标点为终点;矢量二以当前结点为起点,当前结点的邻接点为终点。
将矢量二的方向值与矢量一的方向值相减得到两矢量间的夹角。
由夹角最小的边组成的路径最接近于最短路径。
由于只依据矢量夹角作为求解最短路径中路段集合的要素,可能造成求得的路径因左右方向的震荡而增加路径的总长度,使求得的解大于实际最短路经长,所以在每次搜索最短路径顶点时,将当前结点的邻接点按照矢量夹角大于零和小于零分为两组,分别在两组中选取矢量夹角绝对值的最小值对应的结点。
算法采用双向搜索,从起点s开始进行正向搜索,同时从终点t进行逆向搜索。
两个方向每一步都要搜索与指定直线段左右两侧各一条夹角最小的边,直到二者会合或直到目标点,最后取两个方向搜索到的距离最短的路径为所求解。
2.2 算法具体步骤假设需要求解最短路径的两个结点分别为s点和t点,其中起点为s、终点为t。
定义ds(i)表示源结点s到结点i的加权距离;dt(j)表示目标点t到结点j的加权距离; ps(m)、pt(m)表示结点m的状态,分为未标记结点(0)和标记结点(1)两种,其中ps表示正向搜索(从s出发)过程中的状态,pt表示逆向搜索(从t出发)过程中的状态。
第一步:初始化:对所有结点i,若i=s,则ds(i)=0, ps(i)=1;若i=t,则dt(i)=0, pt(i)=1;否则ds(i)→∞, dt(i)→∞,ps(i)=0, pt(i)=0。
并定义一个数变量k作为循环变量,初始化为k=0。
第二步:判断s与t之间是否邻接,若邻接,则连接两端点的边即为所求最短路径。
否则,转第三步。
第三步:令s、t分别为两棵二叉树的根节点,分别从s、t出发,在直线段st、ts左右两侧各寻找一条与、夹角最小的边,把搜索到的边加入对应的二叉树。
设从s点出发搜寻到的两条边的另一端点分别为a1、a1’,计算sa1、sa1’的加权距离,分别记为ds(a1)、ds(a1’);从t点出发搜寻到的两条边的另一端点分别为b1、b1’,记tb1、tb1’的加权距离分别为dt(b1)、dt(b1’)。
第四步:将ds(a1)、ds(a1’)作为当前点a1、a1’的标记值,d t(b1)、dt(b1’) 作为当前点b1、b1’的标记值。
也就是将起点或终点至该临时标记点子路径上所有边的权值之和作为当前点的标记值。
同时ps(a1)、ps(a1’)、 pt(b1)、pt(b1’)均变为1。
第五步:用a1、a1’分别代替s,b1、b1’分别代替t,然后变量k 自增k=k+1,重复第二、三、四步,但第三步中是从a1(a1’)、b1(b1’)出发,在直线段a1t(a1’t)、tb1(tb1’)左右两侧各寻找一条与夹角绝对值最小的边。
把搜索到的边加入对应的二叉树,对二叉树的当前点分别计算标记值并作标记。
以此类推,直至an,bn会合于一点,即正向和逆向搜索都对同一点进行了标记,则点列s,a1,…,an(bn),…,b1,t组成可能最短路径,路径长度为ds(an)+ dt(bn)。
若二者没有会合,也即双向搜索都未对同一点进行标记,则正向搜索到终点t,逆向搜索到起点s,生成两棵特殊的二叉树。
相应方向已标记过的点不在搜索范围之内。
第六步:搜索结束后,若会合于一点,则取会合点处的标记值之和ds(an)+ dt(bn)作为可能最短路径长度;若没有会合,则取终点t(正向搜索)或起点s(逆向搜索)处的标记值ds(t)、dt(s)作为可能最短路径长度。
取其中最小值min{ ds(an)+ dt(bn), ds(t), dt(s)}即为所求最短路径长度。
如果所求最短路径中包含会合点,则最短路径由会合点开始沿与之相关联的两条边依次寻找求解的最短路径的标记结点,加入路径队列,直至s、t。
若没有会合点,则从起点s或终点t开始,在二叉树中顺次寻找所求最短路径的相关结点,直至达到t或s,便得到最短路径序列。
搜索流程如图1。
3 结论本文根据城市交通道路网的特点,建立了道路网数据模型,并在综合考虑人们出行时的时间消耗和能量消耗的情况下,选择可达性作为道路权重,以此为搜索指标进行最短路径分析。
本文所用最短路径算法对经典的dijkstra算法进行了改进,在每次搜索过程中,不必遍历图中所有未标记的结点,只搜索当前结点的邻接结点。
对于实际的道路网,每个结点的邻接点个数一般为2—5个,较之dijkstra算法大大减少了搜索范围。
而且求解的只是源点到终点间的最短路径,搜索的速度快,也增加了适用性。
参考文献[1]白尘.交通路网中最优路径算法的道路权重选择.中国管理信息化,2009,12(15):54-56.[2]鲍培明.距离寻优中dijkstra算法的优化.计算机研究与发展,2001,38(3):307-311.[3]王行风,贾凌.gis支持下的城市交通网络最短路径研究. 计算机与现代化,2005,115(3):9-12.[4]刘云翔,陈荦,李军,陈宏盛.基于城市道路网的最短路径分析解决方案.小型微型计算机系统,2003,24(7):1390-1393.[5]赵春燕,王国华,周军.支持城市多种交通方式的最佳路径分析.测绘信息与工程,2009,34(4):8-10.。