[发明专利]一种基于道路等级的最短路径规划算法有效

专利信息
申请号: 201410697096.1 申请日: 2014-11-26
公开(公告)号: CN104406590A 公开(公告)日: 2015-03-11
发明(设计)人: 赵阳阳;张福浩;石丽红;仇阿根;陶坤旺;胡璐锦;张章;张卫平 申请(专利权)人: 中国测绘科学研究院
主分类号: G01C21/20 分类号: G01C21/20
代理公司: 北京汇信合知识产权代理有限公司 11335 代理人: 吴甘棠
地址: 100830 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 本发明涉及一种基于道路等级的最短路径规划算法,包括如下步骤:步骤1,数据准备与数据预处理;步骤2,道路网层次化表达包括道路网级别划分和基于道路等级的层次化表达;步骤3,路网通行时间计算;步骤4,最短路径近似计算。本专利所提出的基于道路等级最短路径方法经过大量实验验证,充分考虑不同等级道路的通行能力,以通行时间为判断标准,计算方法比较通用,结果更精确,在应急救援中,如果通过道路检测信息能排除道路网中故障路段,通过获取交通流量计算实时通行速度,规划结果更准确。
搜索关键词: 一种 基于 道路 等级 路径 规划 算法
【主权项】:
一种基于道路等级的最短路径规划算法,其特征在于,包括如下步骤:步骤1,数据准备与数据预处理,所述数据准备是通过GPS导航获取道路网数据,通过交通部门获取道路单行线信息数据,以及通过网络查询获取每个道路等级的最大通行速度数据,其中,所述道路网数据包括道路名称、道路等级和道路节点坐标,将所述道路网数据以shape格式存储;所述道路单行线信息数据包括道路名称、道路起点、道路终点和道路单行方向,所述道路等级的最大通行速度数据包括道路名称、道路等级和最大通行车速,将所述道路单行线信息数据和道路等级的最大通行速度数据以dbf格式存储;所述数据预处理包括道路数据通行方向处理和道路数据节点信息处理,其中,所述道路数据通行方向处理是将道路单行方向分为正向和逆向两种,在道路网shape属性表中增加正向和逆向字段,用二值0和1分别表示道路在该方向不通行或通行,用所述0和1对所述道路单行方向进行赋值,得到处理后的道路单行方向数据;所述道路数据节点信息处理的方法为:当两条道路相交且通车时,在相交处增加节点,增加道路节点坐标,原来两条道路变成四条道路,当两条道路相交但不通车时,道路节点坐标保持不变,通过所述道路数据节点信息处理得到处理后的道路节点坐标;步骤2,对步骤1中获取的道路网数据中的道路等级进行划分,划分后的道路等级分为:公路、城市道路和乡村道路,其中,公路划分为高速公路、一级公路、二级公路、三级公路和四级公路,城市道路划分为快速路、主干路、次干路和支路,乡村道路划分为农村硬化道路、机耕路和乡村路;将所述划分后的道路等级进行层次化表达,将道路视为由连接边和节点组成的网状图形,如果每个节点与其联通的节点间的道路是通行的,那么记录所述每个节点和其联通的节点,同时记录所述每个节点与其联通的节点间的连接边,得到联通的两节点间的连接边数据;步骤3,基于步骤2中的节点及联通的两节点间的连接边数据,利用距离公式根据道路节点坐标计算每个道路段的距离,其中联通的两节点间通行的道路是一条以上的,计算不同道路段的距离,利用获得的所述距离、所述道路的最大通行车速求出两联通的节点间不同道路的通行时间,比较所述不同道路的通行时间得出联通的两节点间的最短通行时间;步骤4,基于步骤1‑3处理后得到的道路单行方向数据、道路节点坐标、联通的两节点间的连接边数据、联通的两节点间的最短通行时间,列出从起始节点到终点所有连接情况,规定时间最短的方案视为最短路径的方案,任意两节点间最短路径计算方法为:设道路网中存在节点集合S={o,S1,S2,S3,…Sn},从起始节点o到终点Si(i∈n)最短路径计算方法如下:4.1、找到起始节点o的联通的节点集合O={o1,o2,o3…oj…om},其中,4.2、判断集合O是否为空,若是,则结束,从起始节点o无法到达终点Si,若否,则执行步骤4.3;4.3、记录起始节点o到所有联通的节点的路径、时间、剩余联通的节点和总剩余节点,将结果记录到集合N中并执行步骤4.4,集合N结果如下:<mrow><mi>N</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>o</mi><mo>-</mo><msub><mi>o</mi><mn>1</mn></msub></mtd><mtd><msub><mi>t</mi><mn>1</mn></msub></mtd><mtd><msubsup><mi>O</mi><mn>1</mn><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><msub><mi>o</mi><mn>2</mn></msub><mo>,</mo><msub><mi>o</mi><mn>3</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>o</mi><mi>m</mi></msub><mo>}</mo></mtd><mtd><msubsup><mi>S</mi><mn>1</mn><mo>&prime;</mo></msubsup><mo>=</mo><mi>S</mi><mo>-</mo><mi>o</mi><mo>-</mo><msub><mi>o</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>2</mn></mtd><mtd><mi>o</mi><mo>-</mo><msub><mi>o</mi><mn>2</mn></msub></mtd><mtd><msub><mi>t</mi><mn>2</mn></msub></mtd><mtd><msubsup><mi>O</mi><mn>2</mn><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><msub><mi>o</mi><mn>1</mn></msub><mo>,</mo><msub><mi>o</mi><mn>3</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>o</mi><mi>m</mi></msub><mo>}</mo></mtd><mtd><msubsup><mi>S</mi><mn>2</mn><mo>&prime;</mo></msubsup><mo>=</mo><mi>S</mi><mo>-</mo><mi>o</mi><mo>-</mo><msub><mi>o</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><mi>j</mi></mtd><mtd><mi>o</mi><mo>-</mo><msub><mi>o</mi><mi>j</mi></msub></mtd><mtd><msub><mi>t</mi><mi>j</mi></msub></mtd><mtd><msubsup><mi>O</mi><mi>j</mi><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><msub><mi>o</mi><mn>1</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>i</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>o</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>o</mi><mi>m</mi></msub><mo>}</mo></mtd><mtd><msubsup><mi>S</mi><mi>j</mi><mo>&prime;</mo></msubsup><mo>=</mo><mi>S</mi><mo>-</mo><mi>o</mi><mo>-</mo><msub><mi>o</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><mi>m</mi></mtd><mtd><mi>o</mi><mo>-</mo><msub><mi>o</mi><mi>m</mi></msub></mtd><mtd><msub><mi>t</mi><mi>m</mi></msub></mtd><mtd><msubsup><mi>O</mi><mi>m</mi><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><msub><mi>o</mi><mn>1</mn></msub><mo>,</mo><msub><mi>o</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>o</mi><mi>m</mi></msub><mo>}</mo></mtd><mtd><msubsup><mi>S</mi><mi>m</mi><mo>&prime;</mo></msubsup><mo>=</mo><mi>S</mi><mo>-</mo><mi>o</mi><mo>-</mo><msub><mi>o</mi><mi>m</mi></msub></mtd></mtr></mtable></mfenced></mrow>其中,j代表记录ID号;o‑oj代表通行路径;oj代表该条路径的结束节点;tj代表该条路径的最短通行时间,该条路径为两个以上节点组成的通行路径;表示起始节点o的剩余联通的节点;表示集合S中除起始节点o和结束节点oj外的剩余节点;4.4、判断上述集合N中的结束节点oj是否为终点Si,如果结束节点oj为终点Si,则将所述通行路径和该路径的通行时间记录到路径集合M中,并在集合N中删除该条记录,如果结束节点oj不为终点Si,则集合N保持不变,判断结束后执行步骤4.5;4.5、判断步骤4.4中得到的集合N是否为空,若集合N不为空,则将记录的结束节点oj赋值给步骤1中的起始节点o,剩余节点集合赋值给集合S,找出与赋值后的起始节点oj联通的节点集合O',执行步骤4.6;若集合N为空,执行步骤4.7;4.6、判断集合O'是否为空,若集合O'为空,则在集合N中删除该条记录,并执行步骤4.5;若集合O'不为空,则执行步骤4.3;4.7、在路径集合M中,选出消耗时间最短的记录,则该条路径为最短路径。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国测绘科学研究院,未经中国测绘科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410697096.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top