CN107092978A - 一种面向虚拟地球的最短路径分层规划方法 - Google Patents
一种面向虚拟地球的最短路径分层规划方法 Download PDFInfo
- Publication number
- CN107092978A CN107092978A CN201710218708.8A CN201710218708A CN107092978A CN 107092978 A CN107092978 A CN 107092978A CN 201710218708 A CN201710218708 A CN 201710218708A CN 107092978 A CN107092978 A CN 107092978A
- Authority
- CN
- China
- Prior art keywords
- point
- shortest path
- grid
- road network
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
Abstract
本发明提供一种面向虚拟地球的最短路径分层规划方法,包括面向虚拟地球的数据预处理过程和最短路径分层规划过程,所述面向虚拟地球的数据预处理过程,包括路网数据分层分块组织,记录格网点,上层瓦片局部最短路径预存;所述最短路径分层规划过程,包括在分层路网的上层确定入点和出点,在上层路网中获取入点和出点之间的最短路径,在下层中确定入点和出点对应的格网点,在下层路网中获取起点和入点之间、出点和终点之间的最短路径,将上下两层中的最短路径连接起来,作为最终的最优路径输出。本发明在虚拟地球中运用最优路径分层规划方法,实现了大规模路网的最短路径分析,同能够实现大规模路网和最短路径的高效可视化。
Description
技术领域
本发明涉及三维地理信息路径规划应用领域,特别是涉及一种虚拟地球中基于多尺度路网数据的最短路径规划。
背景技术
在三维虚拟地球中,基于矢量空间数据,可以展开各种空间分析,最优路径分析作为GIS的一个应用,在交通规划,物流管理中发挥着关键的作用。随着社会的进步,针对大规模复杂道路网的高效最优路径规划算法成为近几年的一个研究热点,其中面向虚拟地球采用分层技术处理大规模路网中的路径规划方面的研究较少。
在最短路径的研究方面,目前较多的研究都是以DIJKSTRA算法为核心,在此基础上结合不断发展完善的数据结构、算法以及图形学的相关理论,涌现出了Dijkstra算法改进的最短路径算法。Sommer C.Shortest-path queries in static networks[J].ACMComputing Surveys(CSUR),2014,46(4):45;Rice M N.Algorithms for constrainedroute planning in road networks[J].2013;王少华,钟耳顺,张小虎等.最短路径算法加速技术及其搜索空间分析[J].地理空间信息,2013,(6);Delling D,Sanders P,SchultesD,et al.Engineering route planning algorithms[M].Algorithms of large andcomplex networks.Springer Berlin Heidelberg,2009:117-139;刘刚,李永树.一种面向城市复杂路网最短路径提取的定向收敛算法[J].计算机应用研究,2011,(6):2082-2084。以上这些文献中对对最短路径算法的改进主要集中在优化存储结构以及排序算法、限制搜索空间等方面。
这些改进后的最短路径算法在其适用条件下提高了路径规划的效率,但是Dijkstra算法自身的缺陷决定了它仅在小范围的路径规划中有着广泛的应用,而在处理海量大规模网络数据时,计算过程复杂,内存消耗过大,因此不能应用于大范围大尺度路网中的路径规划。
在国内外的研究中,大规模路网最优路径的分层规划方法的研究在下述文献中有所体现:Geisberger R,Sanders P,Schultes D,et al.Contraction hierarchies:Fasterand simpler hierarchical routing in road networks[M].Experimental Algorithms,Springer Berlin Heidelberg,2008:319-333;汪永红.多尺度道路网路径规划关键技术及应用研究[D].解放军信息工程大学,2011;Mainali M K,Mabu S,HirasawaK.Hierarchical efficient route planning in road networks[C].Systems,Man,andCybernetics(SMC),2011IEEE International Conference on.IEEE,2011: 2779-2784;罗亚男,付永庆.基于分层路网的路径规划算法[J].计算机应用,2013,(6)。这些研究主要集中在两个方面,分别是道路网的分层方法和基于分层模型的规划方法。一方面,目前路网的分层方法主要有以下两种方法。第一种是对网络进行聚类分割分层;第二种基于道路网的本身的特征来分层。另一方面,分层路径规划涉及到不同层次之间的切换,上下层之间的切换借助于出入点来实现,入点为从下层进入上层中的切换点,出点为从上层降至下层中的切换点,目前的研究中存在入点、出点的选取和错失最优路径等问题。
针对上述分层规划路径中的不足,文献Shapiro J,Waxman J,Nir D.Levelgraphs and approximate shortest path algorithms[J].Networks,1992,22(7):691–717中采用最近入点、出点的切换方式,在下层网络中选择距离起止点最近的上层点作为出入点,但是基于距离最近法选择出入点的方式,在很多情况下会出现绕弯路的现象;文献Liu B.Route finding by using knowledge about the road network[J].Systems,Manand Cybernetics,Part A:Systems and Humans,IEEE Transactions on,1997,27(4):436-448中将起点和终点在下层中所在的子网络插入到上层网络中,然后在上层中使用最短路径算法计算最短路径;文献Jagadeesh G R,Srikanthan T,Quek K H.Heuristictechniques for accelerating hierarchical routing on road networks[J].Intelligent Transportation Systems,IEEE Transactions on,2002,3(4):301-309中在起点(或终点)和上层格网的入点(或出点)之间构建虚拟的弧段,该弧段的长度为起点(或终点)与入点(或出点)在下层网络中计算出的最短距离,从而化繁为简,将该问题转变成在上层网络中计算最短路径,但是这类方法在解决起止点位于相邻子网并且内部有次干道相连时,有可能错失最优路径,因为这种情况下最优路径不包含入点。
三维虚拟地球是当前GIS技术发展重要标志,它采用瓦片金字塔的数据组织和管理模式,并基于四叉树的瓦片调度机制,实现全球多层次,多分辨率地形、影像等多源数据的调度。基于虚拟地球的这些特点,在虚拟地球中应用最短路径分层规划方法能够解决大规模复杂道路网的路径规划问题,同时还能结合地形等因素,分析路径的合理性。然而目前的研究中适用于虚拟地球中的最短路径分层规划方法较少。
发明内容
本发明的目的是针对现有分层规划最短路径方法的不足,同时考虑虚拟地球多尺度,多分辨率海量数据管理和维护的优势,以及虚拟地球多源数据一体可视化的特点,提出一种面向虚拟地球来分层规划最短路径的方法。
本发明的技术方案是一种面向虚拟地球的最短路径分层规划方法,包括面向虚拟地球的 数据预处理过程和最短路径分层规划过程,
所述面向虚拟地球的数据预处理过程包括以下步骤,
步骤1.1,路网数据分层分块组织,包括基于比例尺的方式,将大比例尺路网放置在金字塔的上层,小比例尺路网放置在金字塔的下层;采用等经纬度格网进行路网的分块划分,首先获取整个矢量道路网数据的经纬度范围,然后计算出在全球经纬度格网中的行列号范围,如果道路要素跨越多个格网,则记录与格网边界的交点,将交点称为格网点,并按上下左右分为四类;
步骤1.2,上层瓦片局部最短路径预存,包括计算上层瓦片中各个格网点之间的最短路径,形成一条新的格网点之间的弧段,称为格网弧段,然后存储格网弧段的起止格网点、长度和坐标点数据;
所述最短路径分层规划过程包括以下步骤,
步骤2.1,在分层路网的上层确定入点和出点,实现方式如下,
首先确定路径规划中起止点对的分布情况,如果起止点的经度差大于纬度差,则为横向分布;如果起止点的纬度差大于经度差,则为纵向分布;
如果起止点为横向分布,则在起止点邻列格网的左格网点集合或者右格网点集合中选取出入点,邻列的行范围由起止点所在行确定;如果起止点为纵向分布,则在起止点邻行格网的上格网点集合或者下格网点集合中选取出入点,邻行的列范围由起止点所在列确定;
确定出入点的选择范围之后,分别比较起点与入点选择范围中的点的连线与直线的夹角,终点与出点选择范围中点的连线与直线的夹角,选择构成夹角最小的点作为出入点;
步骤2.2,在上层路网中获取入点和出点之间的最短路径;
步骤2.3,在下层中确定入点和出点对应的格网点;
步骤2.4,在下层路网中获取起点和入点之间、出点和终点之间的最短路径,将上下两层中的最短路径连接起来,作为最终的最优路径输出。
而且,步骤2.2中,入点和出点之间最短路径的计算采用改进的Dijkstra算法实现,包括节点分区时采用一维线性数组存储所有的结点,数组的长度根据结点的个数确定,数组中分别开辟三个连续的存储空间分别存储O集合、U集合以及S集合中的结点,O、U、S集合分别代表未标记、标记和选中点集;三个集合的排列顺序为O集合在最前面,U集合在最中间,S集合在最后,保证结点在两个集合之间的移动只涉及两个结点,而其他的结点保持不变。
而且,步骤2.3中,根据入点或出点的坐标计算出在下层中的瓦片编码,得到在下层中的瓦片位置和瓦片中的格网点集合,然后分别从上、下、左、右四个格网点集合中选取对应的集合进行比较,选取坐标偏差最小的格网点作为入点和出点在下层中的对应点。
本发明创造性地提出面向虚拟地球的分层规划路径方法中上层入点和出点的选取方法,并改进Dijkstra基础算法,实现了大规模、大范围、多尺度路网数据中最短路径规划,解决了出入点的选取问题和错失最短路径问题。本发明能够支持虚拟地球中,分层路网数据的最短路径计算,适用于导航、无人自动驾驶等,具有重要的市场价值。
附图说明
图1为本发明实施例的路网数据分块组织示意图。
图2为本发明实施例的局部最短路径预存示意图。
图3为本发明实施例的出入点选取示意图。
图4为本发明实施例的Dijkstra无向图。
图5为本发明实施例的结点存储结构图。
图6为本发明实施例的分层路径规划示意图。
具体实施方式
以下结合附图和实施例详细说明本发明的技术方案。
本发明提出一种面向虚拟地球的最短路径分层规划方法,虚拟地球中使用瓦片金字塔模型分层分块组织瓦片,为大规模路网数据分层问题提供了解决思路。基于四叉树的瓦片调度机制,降低了路网以及最短路径可视化的负担,同时虚拟地球集多源数据一体可视化的特点能够帮助分析最短路径的合理性。这种方法的基本思路是将道路网数据组织成多尺度数据集,在单层路径分析的基础上,进行层次切换,大尺度下采用上层次的路径搜索,在接近起点和终点处采用下层次的搜索,同一层次之间使用单层次最短路径分析算法。
为了适应虚拟地球的数据模型,发挥其在海量数据组织和维护中的优势,同时考虑分层最短路径算法本身需要对路网分层的需要,在最短路径分层规划算法正式执行之前,对路网数据按照虚拟地球球面剖分的规则分层分块组织,为了减少在最短路径计算过程中参与计算的弧段数量,提高算法的执行效率,在路网分层分块后采用单个瓦片范围中格网点之间的最短路预存的策略。在出入点的选取过程中,首先确定路径起点和终点的分布属于横行分布还是纵向分布,根据分布情况确定入点和出点格网点集合,然后计算起点与格网点,终点与格网点之间的连线与起止点之间连线构成的夹角,选择构成夹角最小的格网点作为入点和出点; 在顶层计算入点和出点之间的最短路径,以及在底层计算起点和入点,出点和终点之间最短路径时根据需要改进了Dijkstra算法,提高了最短路径计算的效率。最后起点与终点之间最短路径为顶层和底层最短路径连接得到。本发明在虚拟地球中运用最优路径分层规划方法,实现了大规模路网的最短路径分析,相比普通的最短路径规划方法,提高了路径规划的效率,同时虚拟地球本身的特点决定了本发明能够实现大规模路网和最短路径的高效可视化。
实施例采用本发明的方法,使用C++语言编写最短路径分层规划方法,通过选取两个比例尺级别的矢量数据,分别为全国1:400万矢量道路数据和1:50万矢量道路数据,数据格式为shapefile格式。
第一部分,面向虚拟地球的数据预处理过程
步骤1.1,路网数据分层分块组织。
由于计算机内存有限,海量的道路网数据不能一次读取到内存中,在三维虚拟地球中矢量浏览时,视域之外的矢量数据不参与可视化,只需要加载可视范围之内的道路数据。因此,矢量道路网数据的灵活高效的调度方法离不开分块数据组织方式。本发明最短路径分层计算面向虚拟地球,后续的正式实施建立在数据分层分块的基础上。实施例数据分层分块的具体实现方法如下:
路网分层的方法采用基于比例尺分层,将大比例尺路网放置在金字塔的上层,小比例尺放置在下层,不同比例尺的道路数据具有不同的细节信息,起到自然分层的作用,没有额外的计算量,直接获取不同比例尺的道路网数据进行分层组织。本发明实施例针对两种比例尺路网采用两层的金字塔,将大比例尺路网放置高层,小比例尺放置在低层,具体实施如果有更多种比例尺路网,实现原理相同。
路网的分块采用等经纬度格网进行划分,首先获取整个矢量道路网数据的经纬度范围,然后根据该此地理范围计算出在全球经纬度格网中的行列号范围,如果道路要素跨越多个格网,则记录其与格网边界的交点,将这样的点称为格网点,并将这些点分为上下左右四类
如图1所示,以地球表面经度范围为东经40°-80°,纬度范围为北纬0°-80°的一片区域G为例,在等经纬度格网剖分中,按照瓦片跨度为20°进行分割,其内部区域被分割成四个相同跨度范围的格网子图,即G1、G2、G3和G4,将每个格网中的数据块一起称之为瓦片。图1中(a)中表示初始格网未进行分割时其内部的道路网数据,图1中(b)表示在进行等经纬度分割成四个子图之后,每个瓦片中的道路数据以及格网边界上的格网点,从图1中(b)中可以看到,跨越多个格网的线要素之间原有的交点为N1-N8,与格网相交生成格网点I1-I14,格网点按照 上下左右四类划分,例如格网G1的下格网点为I1、I2,右格网点为I3、I4.。
步骤1.2,上层瓦片局部最短路径预存
通过上述方法,将同一层次的路网数据分割成多个空间跨度相同的格网,不同层次的格网具有不同的空间跨度,相邻格网之间通过格网点相连接,此时对上层格网中的局部最短路径进行预存储,即采取空间换时间的策略,在实时计算时,节省大量的计算时间,从而提高最优路径规划的效率。实施例中局部最短路径计算和预存的方式如下:
通过对路网数据分层分块,得到多层次的道路块,称之为瓦片,不同层次的瓦片具有不同的尺度,同一尺度的瓦片之间通过格网点相连接,瓦片内部相互独立。在数据预处理时计算上层瓦片中各个格网点之间的最短路径,形成一条新的格网点之间的弧段,称为格网弧段,然后将格网弧段的起止格网点,长度,坐标点数据存储到对应的拓扑文件中。
如图2所示,瓦片的上格网点为L、M、N,下格网点为E、F、G,左格网点为A、B、C、D,右格网点为K、J、I、H,采用Dijkstra算法计算出这些格网点对之间的最短路径,形成一条新的格网点之间的弧段,称为格网弧段,然后将格网弧段的起止格网点,长度,坐标点数据存储到单独的文件,存储坐标点数据时,按照弧段ID依次增加顺序存储。图2中格网点A和格网点J之间的最短路径的弧段序列是a、b、c、d,在存储弧段点列时,注意弧段的起点和终点,确保存储的点列前后依次连续,如果弧段a的起点是格网点A,直接提取a的点列数据,如果a的终点是格网点A,则逆序提取a的点列数据。同理在提取后续弧段时,进行类似的判断。实施例采用这种方法,在数据显示时,从文件中快速提取目标弧段的坐标数据,不需要逐个匹配弧段ID。
第二部分:最短路径分层规划过程
步骤2.1,在分层路网的上层确定入点和出点。利用虚拟地球多尺度的特点,将路网数据采用基于比例尺的方式分层,大比例尺路网放置在金字塔的上层,小比例尺放置在下层,分层路径规划需要在两个层次的路网中分段求取最短路径,最后将其连接起来形成完整的路径。在大尺度下采用上层次的路径搜索,在接近起点和终点处采用下层次的搜索,上层路网稀疏,适合长距离的路径规划,路径组成基本为主干道;下层路网密集,适合短距离的路径规划,其路径组成基本为次干道,这种方式将长距离和短距离的路径规划分别在不同比例尺的路网中进行,缩短了计算时间,提高路径规划效率,且长距离出行选择主干道,短距离选择次干道,符合人们出行的习惯。
根据以上描述,分层路径规划涉及不同层次之间的切换,上下层之间的切换借助出入点 实现,入点为从下层进入上层中的切换点,出点为从上层降至下层中的切换点,出入点必须在上下两层中同时存在,如果只存在于下层中,在上层中将无法找到对应的点完成层次的切换。实施例采用等经纬度瓦片分块的方式,相邻瓦片之间通过格网点连接,且下层数据包含上层的数据,为确保选择的出入点在上下两层中都存在,在上层格网点中确定出入点。具体实施中出入点的选取的方法如下:
首先确定起止点对(起止点分别代表路径规划中选择的出发点和目的地,分别称为起点和终点)的分布情况,分为横向和纵向两种;
如果起止点的经度差大于纬度差,则为横向分布;
如果起止点的纬度差大于经度差,则为纵向分布。
如果起止点为横向分布,则在起止点邻列格网的左格网点集合或者右格网点集合中选取出入点,邻列的行范围由起止点所在行确定;
如果起止点为纵向分布,则在起止点邻行格网的上格网点集合或者下格网点集合中选取出入点,邻行的列范围由起止点所在列确定。
确定出入点的选择范围之后分别比较起点与入点选择范围中的点的连线与直线的夹角,终点与出点选择范围中点的连线与直线的夹角,选择构成夹角最小的点作为出入点。即比较起点与入点选择范围中的点的连线与直线的夹角,选择构成夹角最小的点作为入点;比较止点与出点选择范围中点的连线与直线的夹角,选择构成夹角最小的点作为出点。
如图3,具体阐述了按照上述方法在实施例中选择出入点的过程。图中点对S1、E1为横向分布,所在的行范围为2-5,所在的列范围为0-8,起点S1在左,则入点从右边邻列即第1列中2-5行格网的右格网点中选取,比较后,格网点A与S1E1连线的夹角最小,选定格网点A为入点;终点E1在右,出点从左边邻列即第7列中2-5行格网的左格网点中选取,比较后,格网点B与S1E1连线的夹角最小,选定格网点B为出点。类似,点对S2、E2为纵向分布,所在的行范围为0-6,所在的列范围为3-5,起点S2在下,则入点从上边邻列即第1行中3-5列格网的上格网点中选取,比较后,格网点C与S2E2连线的夹角最小,选定格网点C为入点;终点E2在上,出点从下边邻列即第5行中3-5列格网的下格网点中选取,比较后,格网点D与S2E2连线的夹角最小,选定格网点D为出点。
常用的出入点的选取方法是距离最近法,即在上层中选取距离起点或终点距离最近的点作为出入点。实施例中对比了这种方法与本发明的方法,距离最近法的优点是方便快捷,不需要过多的计算,缺点是如果距离最近的点的方向与起止点的方向偏差较大,会导致走弯路 或者回路现象,不能获得较好的效果。使用本发明的方法选择出入点可以解决绕弯路的问题。
步骤2.2,在上层路网中获取入点和出点之间的最短路径,
确定入点和出点之后,他们之间的最短路径计算采用改进的Dijkstra算法作为基础算法。
Dijkstra算法是具有代表性的最短路径算法,它按路径长度递增的次序产生最短路径,被认为是解决单源点间最短路径问题经典而有效的算法。Dijkstra算法借助于顶点标记法确定最短路径,在整个算法过程中,除了源点外,所有的结点依次经历了未标记、标记和选中三个状态。未标记状态表示当前尚未找到源点到该结点的路径;标记状态说明已经找到该结点的路径,但不一定是最短路径;选中状态表示已经确定到此结点的最短路径。算法开始时,设置源点S为标记状态,其他所有节点的状态为未标记,如果存在已标记节点,从已标记结点中选择距离最短的结点,将其状态修改为选中,并添加到最短路径中。
以图4的为例,计算A点到各个点之间最短路径算法的执行步骤如下表所列,其中S集合为选中点集,U集合为标记点集,O集合为未标记点集
从以上Dijkstra算法的执行过程可以看出,提高算法的效率需要解决参与计算的结点的存储问题,结点之间路径排序问题,以及结点在集合中的移动问题。针对上述问题实施例中改进Dijkstra算法时使用邻接表作为存储结构,使用二叉堆排序方法对节点排序,同时结合分区技术对节点分区。节点分区时采用一维线性数组存储所有的结点,数组的长度根据结点的个数确定,数组中分别开辟三个连续的存储空间分别存储O集合、U集合以及S集合中的结点(O、U、S集合分别代表未标记、标记和选中点集)。
三个集合的排列位置如图5所示,算法执行过程中,集合之间的相对位置不会改变,即O集合在最前,U集合在最中间,S集合在最后。算法开始时,所有的结点都在O集合中,随着算法的进行,逐渐产生U集合和S集合。图5中变量sPos记录U集合的第一个结点在数组中的位置,ePos记录U集合的最后一个结点在数组中的位置。如果有结点从O集合中移动到U集合中,将该结点与O集合中的最后一个结点交换位置,图5中斜条纹所示的两个结点交换位置,然后将U集合的起始位置向前移动一位,即将sPos的值减1;类似,如果有结点从U集合移动到S集合,将该结点与U集合中最后一个结点交换位置,图5中竖条纹所示的两个结点交换位置,然后将U集合的终止位置向前移动一位,即将ePos的值减1。通过这样的方法,保证了结点在两个集合之间的移动只涉及两个结点,而其他的结点保持不变,从而提高最短路径算法的效率。
在实施例中上层使用中国1:400万矢量道路数据,下层使用1:50万矢量道路数据,相比于下层路网上层路网数据稀疏,且在上层结合了第一部分局部格网最短路径预存的策略,很大程度上减少了参与计算的弧段数,同时实施例结合改进的Dijkstra算法,使得两个出入点之间的最短路径计算速度较快。以图6为例,点G1,G2为按照步骤2.1的方法在上层路网中选择的入点和出点,路径G1G2为用改进的算法在上层计算得到的最短路径。
步骤2.3,在下层中确定入点和出点对应的格网点。
由于上层路网是下层路网的子集,因此在上层中选取的入点和出点在下层中一定存在。实施例中确定上层入点和出点对应的下层各网点的方法如下:
根据入点或出点的坐标计算出在下层中的瓦片编码,得到其在下层中的瓦片位置和瓦片中的格网点集合,然后分别从上、下、左、右四个格网点集合中选取对应的集合进行比较,选取坐标偏差最小的格网点作为入点和出点在下层中的对应点。
如图6所示上层路网中确定的入点G1和出点G2在下层路网中对应的格网点分别为G2'和G2'。上述坐标偏差是由于上下两层的道路网数据来源不同,同一个点在两层中所表达的位置有稍许偏差,不能做到完全的精确匹配。由入点或者出点的坐标计算出在下层中的瓦片编码方法如下:
Lonres表示下层经度方向瓦片的分辨率,Latres表示下层纬度方向瓦片的分辨率,实施例中经纬度方向采用一致的分辨率,根据下层瓦片的地理范围确定入点或者出点落入下层的哪个瓦片,设瓦片左下角的经度、纬度为Lon、Lat,-180≦Lon≦180°,-90°≦Lat≦90°,则瓦片行列号计算公式为:
RowNumber=INT[(Lat+90)/Latres]
ColNumber=INT[(Lon+180)/Lonres]
计算出其在下层中的行列号后,实施例根据下层在虚拟地球金字塔数据模型中的层级level计算该瓦片的唯一编码TileKey(level,RowNumber,ColNumber),TileKey()是计算瓦片编码的函数,具体计算实现为现有技术,本发明不予赘述。
这一步在实施例中由于下层出入点是与下层单个格网一条边中的格网点相比较,所以效率高,耗时较少。
步骤2.4,在下层路网中获取起点和入点之间、出点和终点之间的最短路径。
以起点和入点之间的最短路径为例,实施例中确定参与下层最短路径计算的是起点和入点所构成的格网范围中的弧段,最短路径计算的实现方式与步骤2.3一致,都采用实施例中编写的Dijkstra最短路径改进算法。
虽然下层路网数据量大,弧段密集,但由于格网范围有限,因此实施例中最短路径计算的效率较高。最后将上下两层中的最短路径连接起来,作为最终的最优路径输出,如图6中,起点S与终点E之间的最短路径为上层最短路径G1G2,与下层最短路径SG1′,G1′G2′,G2′E连接所得。
通过以上具体实施可以看出,在这种面向虚拟地球的分层最短路径规划方法中,等经纬度数据分块的组织方式,使得面向虚拟地球的海量路网数据可视化能够实现瓦片式的高效调度;单个瓦片格网点之间最短路径事先计算并预存,减少了参与计算的弧段数量,从而提高最短路径计算的效率;而采用本方法中选择出入点的方式,极大的避免了计算出的最短路径绕弯路现象的发生;在上层路网格网和下层路网格网间分别计算最短路径,最后连接起来的方式减少了上层和下层参与计算的格网数量,因此也提高了计算效率。实施例同时证明了基于 大规模的矢量数据作路径分析时,时间上要比普通Dijkstra算法快十几倍,并且距离越远,效率的提升幅度越大。虽然这种方法相比于直接在最下层寻找的最短路径,路径长度要长,但是超出距离百分比也控制在可接受范围之内。
具体实施时,可采用计算机软件方式实现以上方法的自动运行。
以上所述的实施例仅表达了本发明的某种实施方式,其描述较为具体和详细,对于本领域的普通技术人员来说,通读本说明书后,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (3)
1.一种面向虚拟地球的最短路径分层规划方法,其特征在于:包括面向虚拟地球的数据预处理过程和最短路径分层规划过程,
所述面向虚拟地球的数据预处理过程包括以下步骤,
步骤1.1,路网数据分层分块组织,包括基于比例尺的方式,将大比例尺路网放置在金字塔的上层,小比例尺路网放置在金字塔的下层;采用等经纬度格网进行路网的分块划分,首先获取整个矢量道路网数据的经纬度范围,然后计算出在全球经纬度格网中的行列号范围,如果道路要素跨越多个格网,则记录与格网边界的交点,将交点称为格网点,并按上下左右分为四类;
步骤1.2,上层瓦片局部最短路径预存,包括计算上层瓦片中各个格网点之间的最短路径,形成一条新的格网点之间的弧段,称为格网弧段,然后存储格网弧段的起止格网点、长度和坐标点数据;
所述最短路径分层规划过程包括以下步骤,
步骤2.1,在分层路网的上层确定入点和出点,实现方式如下,
首先确定路径规划中起止点对的分布情况,如果起止点的经度差大于纬度差,则为横向分布;如果起止点的纬度差大于经度差,则为纵向分布;
如果起止点为横向分布,则在起止点邻列格网的左格网点集合或者右格网点集合中选取出入点,邻列的行范围由起止点所在行确定;如果起止点为纵向分布,则在起止点邻行格网的上格网点集合或者下格网点集合中选取出入点,邻行的列范围由起止点所在列确定;
确定出入点的选择范围之后,分别比较起点与入点选择范围中的点的连线与直线的夹角,终点与出点选择范围中点的连线与直线的夹角,选择构成夹角最小的点作为出入点;
步骤2.2,在上层路网中获取入点和出点之间的最短路径;
步骤2.3,在下层中确定入点和出点对应的格网点;
步骤2.4,在下层路网中获取起点和入点之间、出点和终点之间的最短路径,将上下两层中的最短路径连接起来,作为最终的最优路径输出。
2.根据权利要求1所述面向虚拟地球的最短路径分层规划方法,其特征在于:步骤2.2中,入点和出点之间最短路径的计算采用改进的Dijkstra算法实现,包括节点分区时采用一维线性数组存储所有的结点,数组的长度根据结点的个数确定,数组中分别开辟三个连续的存储空间分别存储O集合、U集合以及S集合中的结点,O、U、S集合分别代表未标记、标记和选中点集;三个集合的排列顺序为O集合在最前面,U集合在最中间,S集合在最后,保证结点在两个集合之间的移动只涉及两个结点,而其他的结点保持不变。
3.根据权利要求1或2所述面向虚拟地球的最短路径分层规划方法,其特征在于:步骤2.3中,根据入点或出点的坐标计算出在下层中的瓦片编码,得到在下层中的瓦片位置和瓦片中的格网点集合,然后分别从上、下、左、右四个格网点集合中选取对应的集合进行比较,选取坐标偏差最小的格网点作为入点和出点在下层中的对应点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710218708.8A CN107092978B (zh) | 2017-04-05 | 2017-04-05 | 一种面向虚拟地球的最短路径分层规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710218708.8A CN107092978B (zh) | 2017-04-05 | 2017-04-05 | 一种面向虚拟地球的最短路径分层规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107092978A true CN107092978A (zh) | 2017-08-25 |
CN107092978B CN107092978B (zh) | 2020-11-03 |
Family
ID=59648949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710218708.8A Active CN107092978B (zh) | 2017-04-05 | 2017-04-05 | 一种面向虚拟地球的最短路径分层规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107092978B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519096A (zh) * | 2018-03-20 | 2018-09-11 | 武汉光庭信息技术股份有限公司 | 一种基于瓦片化的多路线道路筛选规划方法及系统 |
CN109506669A (zh) * | 2018-12-28 | 2019-03-22 | 斑马网络技术有限公司 | 动态路径规划方法、装置、系统以及存储介质 |
CN111174797A (zh) * | 2020-01-16 | 2020-05-19 | 湖南大学 | 一种封闭区域全局路径规划方法 |
CN112633592A (zh) * | 2020-12-30 | 2021-04-09 | 鱼快创领智能科技(南京)有限公司 | 基于机器学习聚类算法的车辆常跑路线计算方法及系统 |
CN112985443A (zh) * | 2021-03-19 | 2021-06-18 | 深圳依时货拉拉科技有限公司 | 路径规划方法、装置及终端设备 |
CN113204348A (zh) * | 2021-04-30 | 2021-08-03 | 北京连山科技股份有限公司 | 一种基于Contraction Hierarchies的国内路网数据编译方法 |
CN115437375A (zh) * | 2022-08-26 | 2022-12-06 | 上海海洋大学 | 一种基于大数据平台分布式瓦片金字塔的三维路径规划方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1948912A (zh) * | 2006-10-31 | 2007-04-18 | 中国电子科技集团公司第三十八研究所 | 基于分层的路线计算的交通控制方法 |
CN101358855A (zh) * | 2008-09-23 | 2009-02-04 | 光庭导航数据(武汉)有限公司 | 基于分层双向启发式路线规划方法的导航装置 |
EP2730891A2 (en) * | 2012-11-09 | 2014-05-14 | HERE Global B.V. | Navigation system and method |
-
2017
- 2017-04-05 CN CN201710218708.8A patent/CN107092978B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1948912A (zh) * | 2006-10-31 | 2007-04-18 | 中国电子科技集团公司第三十八研究所 | 基于分层的路线计算的交通控制方法 |
CN101358855A (zh) * | 2008-09-23 | 2009-02-04 | 光庭导航数据(武汉)有限公司 | 基于分层双向启发式路线规划方法的导航装置 |
EP2730891A2 (en) * | 2012-11-09 | 2014-05-14 | HERE Global B.V. | Navigation system and method |
Non-Patent Citations (2)
Title |
---|
刘惠民等: "图划分对Arc-flags算法的影响", 《地球信息科学学报》 * |
陈静等: "面向虚拟地球的多尺度矢量数据可视化方法", 《武汉大学学报(信息科学版)》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519096A (zh) * | 2018-03-20 | 2018-09-11 | 武汉光庭信息技术股份有限公司 | 一种基于瓦片化的多路线道路筛选规划方法及系统 |
CN108519096B (zh) * | 2018-03-20 | 2020-08-28 | 武汉光庭信息技术股份有限公司 | 一种基于瓦片化的多路线道路筛选规划方法及系统 |
CN109506669A (zh) * | 2018-12-28 | 2019-03-22 | 斑马网络技术有限公司 | 动态路径规划方法、装置、系统以及存储介质 |
CN111174797A (zh) * | 2020-01-16 | 2020-05-19 | 湖南大学 | 一种封闭区域全局路径规划方法 |
CN112633592A (zh) * | 2020-12-30 | 2021-04-09 | 鱼快创领智能科技(南京)有限公司 | 基于机器学习聚类算法的车辆常跑路线计算方法及系统 |
CN112633592B (zh) * | 2020-12-30 | 2023-07-18 | 鱼快创领智能科技(南京)有限公司 | 基于机器学习聚类算法的车辆常跑路线计算方法及系统 |
CN112985443A (zh) * | 2021-03-19 | 2021-06-18 | 深圳依时货拉拉科技有限公司 | 路径规划方法、装置及终端设备 |
CN113204348A (zh) * | 2021-04-30 | 2021-08-03 | 北京连山科技股份有限公司 | 一种基于Contraction Hierarchies的国内路网数据编译方法 |
CN115437375A (zh) * | 2022-08-26 | 2022-12-06 | 上海海洋大学 | 一种基于大数据平台分布式瓦片金字塔的三维路径规划方法 |
CN115437375B (zh) * | 2022-08-26 | 2024-05-24 | 上海海洋大学 | 一种基于大数据平台分布式瓦片金字塔的三维路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107092978B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092978A (zh) | 一种面向虚拟地球的最短路径分层规划方法 | |
CN109359350B (zh) | 一种优化精细施工成本的风电场道路智能设计方法 | |
CN108459503A (zh) | 一种基于量子蚁群算法的无人水面艇航迹规划方法 | |
CN109992923A (zh) | 一种基于变分辨率成本表面的分阶段输电线路路径规划方法 | |
CN110046213A (zh) | 一种顾及路径失真纠正与交叉跨越纠正的电力选线方法 | |
CN108053060B (zh) | 一种基于风电场场内道路自动选线的升压站选址系统及选址方法 | |
CN106874415B (zh) | 基于gis系统的环境敏感区数据库构建方法及服务器 | |
CN101900565A (zh) | 路径确定方法和装置 | |
CN106780739A (zh) | 一种变电站智能巡检三维gis系统建立方法 | |
CN113865589B (zh) | 一种基于地形坡度的长距离快速路径规划方法 | |
CN115713856A (zh) | 一种基于交通流预测与实际路况的车辆路径规划方法 | |
CN109374005B (zh) | 一种基于船舶vr模型的船舶内部路径规划方法 | |
CN102663028A (zh) | 一种适用于全球数字高程模型和遥感影像数据快速空间索引的方法 | |
CN109872390A (zh) | 一种海量三维模型的组织方法 | |
CN114217609A (zh) | 一种满足多约束条件的电网线路走廊带智能划分方法 | |
CN105335478B (zh) | 构建城市土地空间立体调查数据语义关联的方法和装置 | |
CN107818338A (zh) | 一种面向地图综合的建筑物群组模式识别的方法及系统 | |
US20210325196A1 (en) | Vector Tile Navigation | |
CN109798899A (zh) | 一种面向海底未知地形搜索的树扩散启发式路径规划方法 | |
CN108731688A (zh) | 导航方法和装置 | |
CN115329591A (zh) | 一种城市空间格局设计方法、系统及计算机存储介质 | |
CN106326492A (zh) | 空间矢量数据生成方法及装置 | |
CN109635912B (zh) | 一种基于双向蚁群与动态规划的管道布设方法及装置 | |
Liu et al. | Trip route simulation for pre-Qin settlements based on a gradient descent and variable-neighborhood ant colony optimization algorithm in the Linfen Basin, China | |
Dong et al. | A topographically preserved road‐network tile model and optimal routing method for virtual globes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |