CN115272602A - 道路的虚拟高程生成方法、装置、设备和介质 - Google Patents
道路的虚拟高程生成方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN115272602A CN115272602A CN202211023785.5A CN202211023785A CN115272602A CN 115272602 A CN115272602 A CN 115272602A CN 202211023785 A CN202211023785 A CN 202211023785A CN 115272602 A CN115272602 A CN 115272602A
- Authority
- CN
- China
- Prior art keywords
- road
- group
- road group
- abnormal
- section
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请涉及地图技术领域,具体涉及一种道路的虚拟高程生成方法、装置、设备和介质,在未分组道路的坡度异常时,通过将异常道路段与相连的参考道路融合成融合道路组,使得在计算融合道路组中各道路段的虚拟高程时能够采用相同的基准高程,从而有效消除融合前异常道路段因参考道路组基准高程的差异产生的坡度异常。
Description
技术领域
本公开一般涉及地图技术领域,具体涉及一种道路的虚拟高程生成方法、装置、设备和介质。
背景技术
电子地图在以三维的方式进行显示的过程中,会显示建筑物和道路等元素,如图1所示。而对于道路的显示,需要获取道路相对于地面的高度,即虚拟高程。
在相关技术中,可以对道路通过分组,基于分组情况以组为单位进行虚拟高程运算,还可以基于虚拟高程渲染三维地图。但不同道路组间往往容易出现坡度异常的道路,如图2中所示出现道路陡降的现象,影响三维地图的准确度。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种道路的虚拟高程生成方法、装置、设备和介质,能够有效消除坡度异常的道路段,提高三维地图的准确度。
第一方面,本申请实施例提供了一种道路的虚拟高程生成方法,包括:
确定异常道路段的参考道路组;所述异常道路段为基于预设规则对目标区域内的道路段进行分组后,未分组道路段中坡度异常的道路段,所述参考道路组为基于所述预设规则对所述目标区域内的道路段进行分组获得的道路组中,与所述异常道路段存在连接关系的道路组;
对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组;
基于所述融合道路组的基准高程确定所述异常道路段的虚拟高程。
在一些实施例中,所述预设规则包括:将存在压盖关系的道路段划分为同一道路组。
在一些实施例中,所述基于预设规则对目标区域内的道路段进行分组,包括:
确定所述目标区域内的各道路段在平面地图上的道路中心线;
基于所述各道路段的道路中心线之间的相交关系,确定所述各道路段中存在压盖关系的道路段,将所述存在压盖关系的道路段划分至同一道路组
在一些实施例中,所述确定异常道路段的参考道路组,包括:
针对所述目标区域内的每个道路组,遍历所述道路组中的道路段,得到与所述异常道路段相连的至少一个相邻道路段;
根据所述至少一个相邻道路段确定所述参考道路组。
在一些实施例中,所述根据所述至少一个相邻道路段确定所述参考道路组,包括:
将所述相邻道路段所属的道路组作为所述参考道路组;
遍历所述参考道路组中每一参考道路段的次级参考道路段,将所述次级参考道路段所属的道路组作为新的参考道路组;所述次级参考道路段为与所述参考道路段相连且不属于同一道路组的道路段;
返回执行遍历所述参考道路组中每一参考道路段的次级参考道路段,直至不存在所述次级参考道路段。
在一些实施例中,所述确定异常道路段的参考道路组,包括:
基于所述异常道路段创建目标道路组;
遍历所述目标区域内的所有道路组,确定所述所有道路组中与所述目标道路组存在连接关系的道路组为所述参考道路组。
在一些实施例中,所述遍历所述目标区域内的所有道路组,确定所述所有道路组中与所述目标道路组存在连接关系的道路组为所述参考道路组,包括:
遍历所述所有道路组,确定相连且不属于同一道路组的道路段对;
将所述道路段对所属的两个道路组确定为存在连接关系的道路组对;
基于各所述道路组对的连接关系,确定与所述目标道路组存在连接关系的道路组为参考道路组。
在一些实施例中,所述基于所述道路组对的连接关系,确定与所述目标道路组存在连接关系的道路组为参考道路组包括:
建立遍历队列,将所述目标道路组添加至所述遍历队列;
对所述道路组对进行初始遍历,基于所述道路组对的连接关系,确定与所述目标道路组相连的第一参考道路组,将所述第一参考道路组添加至所述遍历队列,并从所述遍历队列中删除所述目标道路组;
对所述遍历队列中的第一参考道路组进行循环遍历,基于所述道路组对的连接关系,确定与所述编列队列中的第一参考道路组相连的第二参考道路组,删除所述遍历队列中的第一参考道路组,将所述第二参考道路组作为第一参考道路组添加至所述遍历队列;
返回执行对所述遍历队列中的第一参考道路组进行循环遍历,直至不存在所述第二道路组。
在一些实施例中,所述遍历所述道路组中各道路段的连接关系,得到相连且不属于同一道路组的道路段对,包括:
针对任一所述道路段,获取与所述道路段相连的至少一个连接道路段;
针对每个所述,若所述道路段与所述连接道路段不属于同一道路组,则确定所述道路段与所述连接道路段为相连且不属于同一道路组的道路段。
在一些实施例中,所述对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组,包括:
基于所述异常道路段创建融合道路组;
将所述遍历队列中的参考道路组添加至所述融合道路组。
在一些实施例中,所述对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组,包括:
基于所述异常道路段创建初始道路组;
将所述参考道路组中的所有道路段添加至所述初始道路组中,得到所述融合道路组。
在一些实施例中,所述基于所述融合道路组的基准高程确定所述异常道路段的虚拟高程,包括:
确定每个所述道路段对应的至少两个道路点;
针对每个所述道路点,获取所述道路点的海拔高度,将所述道路点的海拔高度与所述基准高程之间的差值,作为所述道路点的虚拟高程;
根据每个所述道路段对应的至少两个道路点的虚拟高程,确定各所述道路段的虚拟高程。
在一些实施例中,基于上述目标区域中各道路段构成所述目标区域中的道路;
基于所述道路中各道路段对应的虚拟高程,构建与所述目标区域对应的目标地图;
以空间维度的形式显示所述目标地图,且所述目标地图在显示的过程中,具有不同虚拟高程的道路段,以与所述不同虚拟高程相匹配的相对关系进行呈现,所述相对关系包括道路上下方位关系。
第二方面,本申请实施例提供了一种道路的虚拟高程生成装置,包括:
确定模块,用于确定异常道路段的参考道路组;所述异常道路段为基于预设规则对目标区域内的道路段进行分组后,未分组道路段中坡度异常的道路段,所述参考道路组为基于所述预设规则对所述目标区域内的道路段进行分组获得的道路组中,与所述异常道路段存在连接关系的道路组;
融合模块,用于对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组;
计算模块,用于基于所述融合道路的基准高程确定所述异常道路段的虚拟高程。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如本申请实施例描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例描述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如本申请实施例描述的方法。
本申请实施例提出的道路的虚拟高程生成方法、装置、设备和介质,能够在未分组道路的坡度异常时,通过将异常道路段与相连的参考道路融合成融合道路组,使得在计算融合道路组中各道路段的虚拟高程时能够采用相同的基准高程,从而有效消除融合前异常道路段因参考道路组基准高程的差异产生的坡度异常,基于融合道路组的基准高程进行三维渲染,能够有效提高三维地图的准确性,使得渲染后的三维地图中的道路段更符合路建设规范的坡度。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了三维显示的地图;
图2示出了在三维显示的地图中出现道路陡降的现象;
图3示出了本申请实施例提供的道路的虚拟高程生成方法的实施环境架构图;
图4示出了本申请一实施例提供的道路的虚拟高程生成方法的流程示意图;
图5示出了本申请一实施例提供的道路划分的原理示意图;
图6示出了本申请一实施例提供的道路分组的原理示意图;
图7示出了本申请对图4进行融合得到融合道路组的原理示意图;
图8示出了本申请一实施例提供的参考道路组的原理示意图;
图9示出了本申请一实施例提供的连续参考道路组的原理示意图;
图10示出了本申请对图4建立目标道路组的原理示意图;
图11示出了本申请一实施例提供的多异常道路段建立道路组的原理示意图;
图12示出了本申请一实施例提供的道路组连接关系的原始示意图;
图13示出了本申请一实施例提供的确定道路段对的流程示意图;
图14示出了本申请一实施例提供的对任一道路组的相邻道路组进行聚类的流程示意图;
图15示出了本申请一实施例提供的确定参考道路组的流程示意图;
图16示出了本申请一实施例提供的迭代过程的流程示意图;
图17示出了本申请一实施例提供的道路的虚拟高程生成装置的示例性结构框图;
图18示出了本申请另一实施例提供的道路的虚拟高程生成装置的示例性结构框图;
图19示出了适于用来实现本申请实施例的电子设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
首先,对本申请实施例中涉及到的名词进行简要解释说明:
绝对高程,是指道路上某点沿铅垂线方向到绝对基面的距离。例如,在三维地图领域,绝对基面可为海平面高度,道路上某点的绝对高程可以是该点沿铅垂线方向到海平面的高度。
虚拟高程,是指平面地图中三维显示的道路相对于地面的高度。
道路段,是指将平面地图中道路的分段表示,每一道路分段即为道路段。
道路中心线,是指道路段延伸方向上的对称轴。
道路点,是指道路段通过道路中心线进行表示后,道路中心线上的一系列点,其数量可以提前设定。
连接关系,是指不同道路段之间的连接关系。例如,对于存在前驱道路段或后继道路段的道路段,该道路段与前驱道路段或后继道路段之间的关系即为连接关系。连接关系还可包括分流关系和交汇关系。
压盖关系,是指对于两条道路段不属于同一道路平面,且在空间上存在间隔。例如,若一条道路段在另一条道路段的上方,则称两条道路段存在压盖关系,处于上方的道路段压盖处于下方的道路段。
分流关系,是指两个道路段具有相同的前驱道路段,则两个道路段之间具有分流关系。
交汇关系,是指两个道路段具有相同的后继道路段,则两个道路段之间具有交汇关系。
基准高程,是指根据道路段的道路属性,所确定的道路段相对于地面的高度。例如,普通道路的基准高程通常为0米,而立交桥道路的基准高程通常为3.5米。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请提出的道路的虚拟高程生成方法具体实施环境参见图1。图1示出了本申请实施例提供的道路的虚拟高程生成方法的实施环境架构图。
如图3所示,该实施环境架构包括:终端设备101和服务器102。终端设备101和服务器102可分别单独用于执行本申请实施例中的道路的虚拟高程生成方法,也可以协同用于执行本申请实施例中道路的虚拟高程生成方法。以协同执行为例。
服务器102用于根据收集到的道路数据,计算道路的各种虚拟数据,其中,道路的虚拟数据用于实现道路在三维地图中的渲染效果。例如,可以计算各道路的虚拟高程数据。终端设备101用于从服务器102获取各道路的虚拟数据,并基于道路的虚拟数据进行渲染,以向用户进行三维地图信息的展示。
终端设备101可以是台式电脑、笔记本电脑、智能手机、平板电脑、电子书阅读器、智能眼镜、智能手表、车载终端、飞行器等设备,但并不局限于此。
服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备101与服务器102之间通过有线或无线通信方式进行直接或间接地连接。可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网,也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(MetropolitanArea Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或无线网络、专用网络或者虚拟专用网络的任何组合。
本申请提出的道路的虚拟高程生成方法可以由终端界面识别装置来实施,道路的虚拟高程生成装置可以安装在终端设备或服务器上。
为了进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下实施例或附图所示的方法操作指令步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作指令步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
请参考图4,图4示出了本申请一实施例提供的道路的虚拟高程生成方法的流程示意图。如图4所示,该方法包括:
步骤201,确定异常道路段的参考道路组,异常道路段为基于预设规则对目标区域内的道路段进行分组后,未分组道路段中坡度异常的道路段,参考道路组为基于预设规则对目标区域内的道路段进行分组获得的道路组中,与异常道路段存在连接关系道路组。
需要说明的是,由于道路通常较长,将道路划分为道路段便于处理与存储,同时也能够有效降低处理粒度,提高数据处理的精度,本申请是基于对道路切分后的道路段进行数据处理的。举例来说,如图5所示,现实中的道路被切分成很多段,也即形成多个道路段,如图示中A~G均为道路段。其中,A分流出B、C、D三条道路,B的后继道路为E,C的后继道路为F,D的后继道路为G。应当理解的是,实际应用中,将道路划分为道路段的划分方式可以是人工标注划分,也可以是基于道路段的长度区间进行划分。
进一步地,在将道路划分成道路段后,为了避免将大量道路段同时运算产生的运算压力,通常将道路段划分为道路组,通过对道路组内的多个道路段进行数据处理,以实现对道路段进行处理的目的,同时多个道路组还可并行运算,以提高整体运算的效率。
还需要说明的是,坡度异常为道路段的坡度大于或等于预设坡度阈值,预设坡度阈值可为符合道路建设规范的坡度,例如3°。
具体而言,在对目标区域内的道路划分道路段,并对道路段按照预设规则进行分组得到多个道路组后,确定各道路组对应的基准高程,然后利用基准高程计算道路组内各道路段的虚拟高程。此时,容易出现因不满足预设规则对应的分组条件而未分组的道路段,该道路组的两个顶点分别属于不同的两个道路组,而两个道路组中各道路段的虚拟高程已计算完毕,即,该道路段的两个顶点的虚拟高程已通过道路组的计算获得。基于两个顶点的虚拟高程和该道路的长度,可以确定出该道路段的坡度。然后,根据判断该道路的坡度是否大于或等于预设坡度阈值,如果是,则确定该道路段为异常道路段,如果否,则确定该道路段为正常道路段。
在确定出未分组的道路段为异常道路段时,可以确定异常道路段的两个顶点因道路组不同导致计算出的虚拟高程不同,即,因两个道路组选取的基准高程不同导致计算出的虚拟高程差异较大,因此,可以将与异常道路段直接相连的两个道路组作为异常道路段的参考道路组,以便于为异常道路段重新计算虚拟高程。
在一个或多个实施例中,由于道路连接关系通常是错综复杂的,容易使得一个道路组可能同时影响两个异常道路段,此时,还可以将与参考道路组相关的其他道路组作为异常道路段的参考道路组,即,将与异常道路段通过参考道路组间接相连的道路组也作为参考道路组,从而有效降低运算量的同时,能够避免一个道路组因相连的不同异常道路段而反复计算虚拟高程,或在后计算的虚拟高程再次影响在先计算的异常道路段等问题。
步骤202,对异常道路段和参考道路组进行融合处理,获得融合道路组。
在本申请实施例中,通过将异常道路段和参考道路组中的各道路段作为融合道路组的元素,实现融合操作,换言之,融合道路组中包括异常道路段和参考道路组中的各道路段。示例性的,可构建融合道路组对应的集合,然后将异常道路段添加至融合道路组对应的集合中成为融合道路组中的元素,同时将参考道路组中的每个道路段也都添加到融合道路组对应的集合中成为融合道路组中的元素。或者,生成与融合道路组对应的融合道路组标识,构建融合道路组标识与异常道路段之间的映射关系,并构建融合道路组标识与参考道路组中的各道路段的映射关系,或者利用融合道路组标识替换参考道路组的标识,以通过设置与道路组标识之间的映射关系,将道路段添加至融合道路组中。
步骤203,基于融合道路组的基准高程确定异常道路段的虚拟高程。
由上述解释说明可知,道路段可以使用一系列道路点进行表示,其中,道路点为路面上的点,优选的,道路点可为道路段中心线上的点。由此,在本步骤中,可通过计算道路组内道路段中道路点的虚拟高程,得到道路段的虚拟高程。具体包括:获取道路组内的基准高程,即,道路组内“地面”的虚拟高程,其中,可将道路组内海拔最低的道路段的海拔高度作为该道路组的基准高程。然后将该道路点的海拔高度与基准高程的差值,作为该道路点的虚拟高程。通过上述计算,可以得到道路组内各道路段中每一个道路点的虚拟高程,并进一步可以计算得到道路组中各道路段的虚拟高程。
当然,实际实施过程中还可以采用别的方式计算道路组内道路段的虚拟高程,如可以采用下述过程:先通过上述过程计算得到道路组内海拔高度最高的道路点(如起点)的虚拟高程,再根据预设坡度、起点的虚拟高程以及该道路组内道路段中该道路点之后的道路点与该道路点之间的连接边长度(或者道路长度),依次计算得到该道路组内各道路段中其余道路点的虚拟高程。
其中,两个道路点之间的道路长度指的是两个道路点在所处路面上的直线距离。两个道路点之间的连接边长度指的是两个道路点在平面地图上的投影距离。之所以两者之间存在不同,是因为平面地图无法呈现坡度,在存在坡度的情况下,作为投影距离的连接边长度与作为斜坡距离的道路长度自然不同。
由此,本申请实施例提出的道路的虚拟高程生成方法,能够在未分组道路的坡度异常时,通过将异常道路段与相连的参考道路融合成融合道路组,使得在计算融合道路组中各道路段的虚拟高程时能够采用相同的基准高程,从而有效消除融合前异常道路段因参考道路组基准高程的差异产生的坡度异常。
在本申请的另一实施例中,还进一步基于融合道路组的基准高程进行三维渲染。示例性的,包括:基于上述目标区域中各道路段构成目标区域中的道路;基于道路中各道路段对应的虚拟高程,构建与目标区域对应的目标地图;以空间维度的形式显示目标地图,且目标地图在显示的过程中,具有不同虚拟高程的道路段,以与不同虚拟高程相匹配的相对关系进行呈现,相对关系包括道路上下方位关系。
也就是说,本申请基于融合道路组的基准高程进行三维渲染,能够有效提高三维地图的准确性,使得渲染后的三维地图中的道路段更符合路建设规范的坡度。
在本申请的另一实施例中,可以基于道路段之间的压盖关系对道路组进行分组,并基于分组情况对异常道路段进行处理。示例性的,前文涉及的预设规则包括:将存在压盖关系的道路段划分为同一道路组。
也就是说,在本申请实施例中,按照道路段之间是否存在压盖关系进行分组。换言之,参考道路组内的多个道路段之间具有压盖关系,未分组道路段与参考道路组内的多个道路段之间不具备压盖关系。示例性的,基于预设规则对目标区域内的道路段进行分组,包括:确定目标区域内的各道路段在平面地图上的道路中心线,基于各道路段的道路中心线之间的相交关系,确定各道路段中存在压盖关系的道路段,将存在压盖关系的道路段划分至同一道路组,
具体地,针对目标区域中的任一道路段,确定该道路段在平面地图上的道路中心线,将道路中心线与该道路段对应的道路中心线相交的道路段,作为与该道路段具有压盖关系的道路段,然后将与该道路段直接或间接具有压盖关系的道路段组成道路组。
举例来说,如图6所示,图中的直线代表道路段对应的道路中心线,圆点代表道路段的两个顶点,共用一个圆点的两个道路段具有相连关系,即,其中一条为另一条的前驱道路,另一条为其中一条的后继道路。在图6中,对于道路link1而言,道路link2和道路link3的道路中心线均与其的道路中心线相交,而道路组link4仅与道路link1共享圆点A,而没有直线相交,因此,道路link1、道路linke2和道路link3组成压盖组1。而道路link4因不与压盖组1中任一条道路段具有压盖关系,因此不属于压盖组1。同理,道路link4也不属于压盖组2。具体地,压盖组2中道路link5与道路link6具有直接压盖关系,道路link7与道路link6具有直接压盖关系,与道路link5具有间接压盖关系,即,道路link7通过道路link6与道路link5之间具有压盖关系。相同的原理,道路inke8与道路link7具有直接压盖关系,道路link8通过道路link7与道路link6具有间接压盖关系,通过link7和道路link6与道路link5具有间接压盖关系,道路link6、道路link7和道路link8基于与道路link5之间的直接或间接的压盖关系,与道路link5组成压盖组2。道路lin4为未分组道路段,与压盖组1中的道路link1相连于圆点A,与压盖组2中的道路link5相连于圆点B。
由此,本申请通过压盖关系对道路段进行分组,使得在计算虚拟高程时,道路组内的各道路段能够保持彼此之间的高程差,从而确保渲染后的三维地图中在地面具有相同投影点的多条道路段在高程上的不同。
在本申请的另一实施例中,可以通过遍历的方式查找满足相连条件的道路段,再根据道路段确定参考道路组。示例性的,前文涉及的确定异常道路段的参考道路组,包括:针对目标区域内的每个道路组,遍历道路组中的道路段,得到与异常道路段相连的至少一个相邻道路段;根据至少一个相邻道路段确定参考道路组。
其中,相邻道路段为与异常道路段为共用原点的连接关系,即,相邻道路段为与异常道路段基于连接关系的相邻道路段。示例性的,当异常道路段只有前驱道路或后继道路时,则确定该异常道路段只有一个相邻道路段,当异常道路段既有前驱道路也有后继道路时,则确定该异常道路段拥有两个相邻道路段,当异常道路段为交汇道路和/或分流道路时,则确定该异常道路段有多个相邻道路段,然后将每个相邻道路段所属的道路组确定为参考道路组。
应当理解的是,由于需要寻找的是道路组,而非道路段,即,即使存在一道路段与异常道路段相连,但由于其不属于任一道路组,也不能确定该道路为参考道路组。
一种可能的实现方式中,针对目标区域内的任一道路段,判断该道路段是否属于道路组,如果属于道路组,则进一步判断该道路是否与异常道路段相连,如果相连,则将该道路段所属的道路组作为参考道路组,如果不属于道路组或者不相连,则遍历目标区域内的下一道路段。
一种可能的实现方式中,目标区域内的道路信息包括道路段的分组情况,即,可先获取目标区域内的道路分组情况,确定已分组道路段和未分组道路段,遍历已分组道路段,判断每个已分组道路段是否与异常道路段相连,如果是,则确定该已分组道路段为异常道路段的相邻道路段,并将相邻道路段所属的道路组作为参考道路组,如果否,则确定该已分组道路段不为异常道路段的相邻道路段。
举例来说,以图6中道路link4为异常道路段为例,通过分组情况可确定需要遍历的道路段包括道路link1、道路link2、道路link3、道路link5、道路link6、道路link7和道路link8,通过对上述7条道路段的遍历可知,道路组1中的道路link3和道路组2中的道路link5为与异常道路段道路link4相连的两个相邻道路段,此时,可确定道路组1和道路组2为异常道路段道路link4的参考到道路组。应当理解的是,将异常道路段与参考道路组进行融合处理得到融合道路组时,则可得到如图7所示的融合道路组。
由此,本申请能够通过遍历的方式查找满足相连且属于道路组的道路段,进而再根据道路段确定参考道路组,有效实现了对参考道路组的确定,为构建融合道路组提供可靠的数据支持。
在本申请的另一实施例中,为了降低计算量,可以直接根据异常道路段的顶点确定与异常道路段共享顶点的至少一个道路段,然后将这些道路段所属的道路组作为参考道路组。
示例性的,获取异常道路段的两个顶点,分别获取与异常道路段共享两个顶点的至少一个道路段,这些道路段因与异常道路段共享顶点而与异常道路段具有连接关系,然后判断这些道路段是否属于道路组,如果任一道路段属于道路组,则确定该道路段所属的道路组为参考道路组,如果任一道路段不属于道路组,则执行对下一道路段的判断。
由此,本申请实施例能够根据异常道路段的顶点快速的获取与异常道路段相连的道路段,从而有效降低的查找的数据量,提高了确定参考道路组的运算速度。
在本申请的另一实施例中,参考道路组还可包括与异常道路段间接相连的道路组,即,通过参考道路组与异常道路段相连的道路组。示例性的,前文涉及的根据至少一个相邻道路段确定参考道路组,包括:将相邻道路段所属的道路组作为参考道路组,遍历参考道路组中每一参考道路段的次级参考道路段,将次级参考道路段所属的道路组作为新的参考道路组,次级参考道路段为与参考道路段相连且不属于同一道路组的道路段,返回执行遍历参考道路组中每一参考道路段的次级参考道路段,直至不存在次级参考道路段。
应当理解的是,由于参考道路组需要与异常道路段融合成融合道路组并更新虚拟高程,因此,参考道路组中的道路段的虚拟高程均有被修改的可能。也就是说,若存在与参考道路组中的参考道路段相连的道路段,则容易出现该道路段因参考道路段的虚拟高程改变而发生坡度异常。例如,如图8所示,压盖组2中道路link8的顶点C同时属于压盖组3中的道路link10,即,道路link8与道路link10为相连且不属于同一道路组的道路段。此时,压盖组2因与异常道路段道路link4融合重新计算虚拟高程,使得顶点C的虚拟高程受融合道路组的基准高程影响而改变,即,道路link10因顶点C的虚拟高程变化,容易发生坡度异常。基于此,为了避免反复更新同一道路组的虚拟高程,则根据参考道路组(压盖组2)确定次级参考道路段(道路link10),进而将次级参考道路段所属的道路组(压盖组3)作为新的参考道路组。具体地,在确定出与异常道路段直接相连的参考道路组之后,还可进一步对参考道路组中的参考道路段进行遍历,判断参考道路段是否具有相连道路段,如果有相连道路段,则进一步判断相连道路段是否与参考道路段属于同一道路组,如果属于同一道路组,则返回判断下一参考道路段,如果不属于同一道路组,则确定该道路段为次级参考道路段,从而寻找到与参考道路段相连的次级参考道路段,进而将次级参考道路段所属的道路组也作为参考道路组,以此类推,直至目标区域内没有与异常道路段间接相连的道路组。
应当理解的是,本申请实施例中,遍历的截至条件为不存在新的次级参考道路段,即,不限制与异常道路段间接相连的参考道路组的数量。
一种可能的实现方式中,若在遍历同一参考道路组中的参考道路段时,任一参考道路段连接有至少两条次级参考道路段时,可分别对两条次级参考道路段是否与参考道路段属于同一道路组进行判断,从而避免参考到道路段的遗漏。
一种可能的实现方式中,在判断次级参考道路段是否与参考道路段属于同一道路组时,不重复获取参考道路组。示例性的,若如图9所示,四个参考道路组分为别参考道路组a、参考道路组b、参考道路组c和参考道路组d,四个参考道路组之间的边用于表示两个参考道路组之间的连接关系。其中,参考道路组a为基于异常道路段得到参考道路组,参考道路组b为通过遍历参考道路组a中的参考道路段得到的参考道路组,参考道路组c为通过遍历参考道路组b中的参考道路段得到的参考道路组,参考道路组d为通过遍历参考道路组c中的参考道路段得到的参考道路组。当遍历参考道路组d中的参考道路段时,能够得到与参考道路组d中的参考道路段相连且属于参考道路组a中的道路段,此时,不再重复将参考道路组a作为新的参考道路组,从而有效节约遍历次数,避免陷入无限循环遍历。
由此,本申请能够通过对参考道路组遍历的方式,将可能受到异常道路段高程影响的多个道路组均作为参考道路组并进行融合,有效避免因部分共用顶点导致的道路高程异常问题。
在本申请的另一实施例中,当目标区域中存在至少一条异常道路段时,为了便于确定用于融合的参考道路组,还可针对异常道路段创建道路组,即,将异常道路段道路组化。示例性的,前文涉及的确定异常道路段的参考道路组,包括:基于异常道路段创建目标道路组,遍历目标区域内的所有道路组,确定所有道路组中与目标道路组存在连接关系的道路组为参考道路组。
需要说明的是,基于异常道路段创建目标道路组为创建一个道路组,该道路组中仅包含异常道路段一个道路段。
示例性的,以图6中的目标区域为例,针对异常道路段道路link4创建目标道路组(通过椭圆标识表示道路组),则有如图10所示的道路分组情况,即,在原始压盖组1和压盖组2之间增加了仅包含道路段link4的道路组。
应当理解的是,在本申请实施例中,在通过遍历得到异常道路段的参考道路组时,还能够将其他道路组化的异常道路段一同作为参考道路组,从而有效提高遍历的效率,降低反复计算虚拟高程的风险。
一种可能的实现方式中,在基于目标区域内的每个异常道路段均创建目标道路组后,更新目标区域内的分组情况,例如,将异常道路段与其对应的目标道路组标识进行绑定,以防止在遍历道路组时遗漏基于异常道路段创建的目标道路组。
示例性的,如图11所示,道路link4和道路link9均为异常道路段,基于道路link4创建了目标道路组AB,基于道路link9创建了目标道路组CD,遍历目标区域内的所有道路组时,道路link1-道路link12均会被作为道路组中的道路段所遍历。则有,基于压盖组1中道路link3与道路link4之间的连接关系和压盖组2中道路link5与道路link4之间的连接关系,将压盖组1和压盖组2确定为道路link4的参考道路组,然后,基于道路link9与压盖组2中道路link8之间的连接关系,确定目标道路组CD为道路link4的间接连接的参考道路组,之后,再基于道路link10与目标道路组CD中道路link9的连接关系,确定压盖组3也为道路link4的间接连接的参考道路组。
由此,通过针对异常道路段创建道路组。能够使未作为参考的异常道路段更快的参与融合,从而有效减少针对每个异常道路段的并行计算。
还应当理解的是,在本申请实施例中,由于针对异常道路段创建了目标道路组,使得目标区域中增加了可以用于融合的道路组,此时,确定异常道路段的参考道路组的问题抽象成一个图论问题,如图10所示,每个节点代表一个道路组,每条边表示其连接的两个节点(即道路组)是直接连接的关系。具体地,在图12中,道路组A和道路组B为直接相连的两个道路组,道路组A和道路组B之间的边表示它俩之间的连接关系,道路组B还与道路组C、道路组E和道路组F直接相连,并通过道路组C与道路组D间接相连。
基于此,将道路组按直接连接的关系进行聚类的问题本质是一个计算无向图的连通分量的问题,即,一个图遍历的问题。而实际上道路组的连通是通过道路段的连通,因此,可将问题转换为对道路段之间的连接关系进行遍历的问题。示例性的,图12中包含两个连通分量,其一为由道路组A、道路组B、道路组E、道路组C、道路组D和道路组F组成的连通子图,其二为由道路组G、道路组H和道路组I组成的连通子图。
在本申请的另一实施例中,可通过连通图中节点(道路组)中的道路段之间的连接关系(连通关系),确定节点间的连通关系。示例性的,前文描述的遍历目标区域内的所有道路组,确定所有道路组中与目标道路组存在连接关系的道路组为参考道路组,包括:遍历所有道路组,确定相连且不属于同一道路组的道路段对,将道路段对所属的两个道路组确定为存在连接关系的道路组对,基于各道路组对的连接关系,确定与目标道路组存在连接关系的道路组为参考道路组。
也就是说,为了获取道路组对应粒度的连通关系,需要先获取道路段对应粒度的连通关系,即,道路组的连通关系是通过道路段的连通关系实现的,然后再基于道路段的连接关系,得到道路组之间的连接关系。
由此,本申请通过将获取具有连接关系的道路组的问题转换为获取连接关系的道路段对的问题,有效将无法直接获取的信息转换为能够直接获取的信息,提高了方案的可实施性。
示例性的,前文描述的遍历道路组中各道路段的连接关系,得到连接且不属于同一道路组的道路段对,包括:针对任一道路段,获取与道路段相连的至少一个连接道路段,针对每个连接道路段,若道路段与连接道路段不属于同一道路组,则确定道路段与连接道路段为相连且不属于同一道路组的道路段。
具体地,如图13所示,通过遍历得到存在连接关系的道路段对的过程,包括:
步骤1101,遍历所有道路组中的各道路段。
其中,可获取目标区域内的道路分组情况,基于道路分组情况确定每个道路组中包含的道路段。
示例性的,以图6为例,将压盖组1中的道路link1、道路link2和道路link3为需要遍历的各道路段。
步骤1102,判断是否完成对道路段的遍历。
如果是,则结束遍历,如果否,则执行步骤1103。
一种可能的实施例中,可基于道路段生成用于遍历的遍历队列,在遍历时将当前遍历的道路段删除,从而使得在遍历队列为空时,确定完成遍历。
步骤1103,将当前遍历的道路段记为link,获取link的所有相邻道路段,记为集合S。其中,集合S中包括link的所有前驱道路段和所有后继道路段。
示例性的,以压盖组1中道路link3为例,当遍历到道路段道路link3时,将道路link3标记为link,道路link3对应的集合S包括道路link2和道路link4,当道路link2为道路link3的前驱道路时,道路link4为道路link3的后继道路,当道路link4为道路link3的前驱道路时,道路link4为道路link3的后继道路。
步骤1104,判断集合S是否为空集。
如果是,则返回步骤1102,如果否,则执行步骤1105。
应当理解的是,当集合S不为空集时,说明道路link具有尚未进行判断的相连道路,当集合S为空集时,说明道路link当前遍历循环不存在尚未进行判断的相连道路。示例性的,当道路link2和道路link4均为被遍历,或者只对道路link2或道路link4进行了遍历时,S为非空集合。
步骤1105,遍历S中的道路段。
步骤1106,将当前遍历的道路段记为otherlink,并从S中删除otherlink。
其中,将当前遍历的道路段记为otherlink,即为将当前遍历的道路段记为道路link的相邻道路段。
示例性的,当遍历道路link2时,将道路link2标记为otherlink,当遍历道路link4时,将道路link4标记为otherlink。
步骤1107,判断link与otherlink是否属于同一道路组。
如果是,则返回步骤1104,如果否,则执行步骤1108。
示例性的,道路link2与道路link3均为压盖组1中道路段,则属于同一道路组,则返回执行步骤1104,道路link4属于目标道路组AB,与道路link3不属于同一道路组,则执行步骤908。
步骤1108,将link和otherlink记为存在连接关系的道路组对,并返回步骤1104。
也就是说,本申请通过构造遍历集以及标记的方式,从遍历数据中能够准确寻找到相连且不属于同一道路组的道路段对。同时,通过提供计算机可执行的循环判断逻辑,进一步确保方案的可实施性。示例性的,将道路link3和道路link4记为存在连接关系的道路组对,例如(道路link3,道路link4)。应当理解的是,在得到相连且不属于同一道路组的道路段对(link和otherlink)之后,将道路段对中两个道路段所属的两个道路组作为存在连接关系的道路组,并将这两个存在连接关系的道路组作为参考道路组。
由此,本申请实施例通过建立相邻道路组集合的方式对相邻道路组进行遍历,有效避免了相连关系的遗漏,为确定参考道路组提供有力的数据保障。
在本申请的另一实施例中,在通过道路段得到各节点(道路组)的连通关系后,可以根据节点间的连通路径得到完整的连通图。示例性的,前文涉及的在确定出相连的道路组对后,基于道路组对的连接关系,确定与目标道路组存在连接关系的道路组为参考道路组包括:建立遍历队列,将目标道路组添加至遍历队列,对道路组对进行初始遍历,基于道路组对的连接关系,确定与目标道路组相连的第一参考道路组,将第一参考道路组添加至遍历队列,并从遍历队列中删除目标道路组,对遍历队列中的第一参考道路组进行循环遍历,基于道路组对的连接关系,确定与遍历队列中的第一参考道路组相连的第二参考道路组,删除遍历队列中的第一参考道路组,将第二参考道路组作为第一参考道路组添加至遍历队列,返回执行对遍历队列中的第一参考道路组进行循环遍历,直至不存在第二道路组。
也就是说,在确定出相连的道路组对后,可通过对道路组对的遍历查找到参考道路组。举例来说,以图12为例,通过道路段对的判断可以得到(道路组A、道路组B)、(道路组B、道路组C)、(道路组B、道路组E)、(道路组B、道路组F)、(道路组B、道路组D)等多个道路组对。此时,若道路组A为基于异常道路段创建的目标道路段时,可建立遍历队列,并将道路组A添加到遍历队列中,遍历道路组对,确定与道路组A相连的第一参考道路组B,将第一参考道路组B添加至遍历队列,然后再次遍历道路组对以查找与第一参考道路组B相连道路组,通过查找得到道路组C、道路组E和道路组F,其中,道路组C、道路组E和道路组F即为第二参考道路组,依次类推,可以确定在图10的网络中,不存在与道路组E和道路组F相连的其他道路组,道路组C还与道路组D相连,道路组D不再拥有其他相连的道路组。基于此,道路组A的参考道路组包括道路组B、道路组C、道路组D、道路组E和道路组F。
应当理解的是,通过对道路段对的筛选,实质上是计算出(图10中)每个节点的相邻节点,从计算效率出发,这一步骤也可多线程并行处理。因此,对多线程得到的相邻节点需要聚类处理,即,将每个节点的相邻节点合并到同一个数据集中。
具体地,如图14所示,包括:
步骤1201,获取存在连接关系的道路组对,记为集合P。
示例性的,集合P={(道路组A、道路组B)、(道路组B、道路组C)、(道路组B、道路组E)、(道路组B、道路组F)、(道路组B、道路组D)}
步骤1202,遍历集合P中的所有关系对中的道路组对,将当前遍历的道路组对中的两个道路组记为group和othergroup,并从集合P中删除当前遍历的道路组对。
示例性的,当遍历到道路段对(道路组A、道路组B)时,可将道路组A标记为group,道路组B标记为othergroup。同时,集合P中删除该对道路段,此时P={(道路组B、道路组C)、(道路组B、道路组E)、(道路组B、道路组F)、(道路组B、道路组D)}
其中,如果完成遍历,则输出最终的聚类结果,如果未完成遍历,则执行步骤1203。
应当理解的是,当P为空集时,确定完成遍历,输出最终的聚类结果,当P为非空集合时,则继续执行步骤1003。
步骤1203,将othergroup添加到group的相邻集合中,并将group添加到othergroup的相邻集合中,并返回步骤1002。
也就是说,本申请实施例还需要对道路段对中的每个道路段建立相邻结合,例如,道路段A的相邻集合可标记为A,遍历道路段对(道路组A、道路组B)时,将道路段A的othergroup添加到group(道路段A)的相邻集合中,即为,记A={道路段B}。
由此,通过对道路组对的遍历,能够确定出与任一道路组相连的全部道路组(为图12中道路组B寻找到道路组A、道路组C、道路组E和道路组F),为后续计算节约计算成本。
在本申请的另一实施例中,对异常道路段和参考道路组进行融合处理,获得融合道路组,包括:基于异常道路段创建融合道路组,将遍历队列中的参考道路组添加至融合道路组。
也就是说,根据前述方案确定的各道路组的连接关系,进一步确定完整的连通图。如图15所示,包括:
步骤1301,创建已遍历过的道路组集合visitedGroups。
应当理解的时,遍历过的道路组集合visitedGroups用于对已遍历的道路组进行标记,避免重复遍历。
步骤1302,遍历目标区域中的道路组,将当前遍历的道路组记为groupA。
示例性的,以将图12中的道路组A标记为groupA为例,即,获取包含道路组A的连通图。
步骤1303,判断visitedGroups中是否包含groupA。
如果是,则返回步骤1302,如果否,则执行步骤1304。
应当理解的是,由于尚在对groupA(道路组A)进行遍历,因此,此时,visitedGroups中尚不包含groupA(道路组A)。
步骤1304,将groupA添加至visitedGroups中。
groupA(道路组A)已被提取遍历,为了避免遍历其他道路组时对其进行重复遍历,将groupA(道路组A)添加至visitedGroups中。
步骤1305,创建groupA对应的遍历队列queue。
需要说明的是,队列queue是用于承装待遍历的道路组的,同时,通过队列queue能够有效的确定各道路组的遍历顺序,提高遍历效率。
步骤1306,创建遍历结果集合clusterResult。
与visitedGroups相似的,创建clusterResult是为了防止groupA对应的遍历队列queue中的元素被重复遍历。同时,遍历结果集合clusterResult也是融合道路组对应的集合,即,集合clusterResult中包含的道路组为确定的参考道路组。
步骤1307,将groupA添加至队列queue的队尾。
应当理解的是,通过将groupA添加至队列queue的队尾,以为实现对groupA的相邻道路组进行遍历提供基础。
步骤1308,取出队列queue的队首元素,记为currGroup。
当queue中只有groupA时,此时即为取出groupA(道路组A),并将道路组A标记为currGroup。
步骤1309,判断队列queue是否为非空。
如果是,则执行步骤1310,如果否,则执行步骤1315。
应当注意的是,在本过程中,判断队列queue是否为非空,当queue为非空时,说明尚有未被遍历的道路组,当queue不为非空时,说明queue为空,即,已经完成当前具有连通关系的道路组的遍历,可以输出道路组的连通关系。
步骤1310,将currGroup添加至clusterResult。即,将遍历队列queue中的参考道路组添加至融合道路组集合currGroup中,使得在确定异常道路段对应的参考道路组的过程中,能够同时得到融合道路组。
步骤1311,遍历与currGroup直接相连的道路组,将相邻道路组标记为otherGroup。
在未完成遍历时,执行步骤1312,在完成遍历时,返回步骤1309。
应当理解的是,与currGroup(道路组A)直接相连的道路组,即,遍历道路组A对应的相邻道路组集合A,在本申请实施例中,A={道路组B}。
步骤1312,判断visitedGroups中是否包含otherGroup。
如果包含,则返回步骤1311,如果不包含,则执行步骤1313。
即,判断otherGroup(道路组B)是否已经被遍历。示例性的,当groupA为道路组B时,则通过相邻关系确定出的集合B={道路组A、道路组C、道路组E、道路组F},当执行到当前步骤时,则可确定visitedGroups中包含道路组A,则无需再对道路组A进行遍历,返回步骤1311,而visitedGroups中不包含道路组C、道路组E和道路组F,则可继续执行将otherGroup添加至visitedGroups中。
步骤1313,将otherGroup添加至visitedGroups中。
步骤1314,将otherGroup添加至队列queue的队尾,并返回步骤1311。
应当理解的是,步骤1313和步骤1314能够确保otherGroup能够被遍历且不会被重复遍历。
步骤1315,将clusterResult中的每个道路组作为groupA的参考道路组。
应当理解的是,在图15所示的实施例中,可利用图14得到的相邻组执行步骤1311,即,利用图15得到的相邻组完成对currGroup直接相连的道路组的遍历,从而有效避免对目标区域内的道路组对进行遍历,有效降低计算量。
由此,本申请实施例通过建立遍历完成集合,能够有效避免道路组被重复遍历,有效提高确定参考道路组的效率。
在本申请的另一实施例中,还可通过迭代的方式逐次对当前目标区域中的异常道路段进行虚拟高程的修正,以使得目标区域内最终不存在坡度异常的道路段。
示例性的,如图16所示,包括如下过程:
步骤1401,基于压盖关系对目标区域内的道路段进行分组。
步骤1402,设置最大迭代次数MAX_TIME,标记初始迭代次数为t=0。
其中,最大迭代次数MAX_TIME可依据目标区域的大小进行设置,可以是根据目标区域通过有限次实验获取的阈值,也可以是根据目标区域通过有限次计算机仿真得到的阈值,例如,15次。
步骤1403,判断当前迭代次数是否尚未达到最大迭代次数(t≤MAX_TIME)?
如果是,则执行步骤1404,如果否,则结束迭代。
步骤1404,将相连的道路组进行融合,得到融合道路组。
其中,相连的道路组即为包含异常道路段以及与其存在连接关系的参考道路组,因此,本步骤相当于,将异常道路段和参考道路组进行融合,得到融合道路组。
步骤1405,基于融合道路组的基准高程确定融合道路组内各道路段的虚拟高程。
步骤1406,获取目标区域内的各未分组道路段的坡度,并将坡度异常的道路段添加至集合N。
在一个可能的实施例中,可通过获取目标区域内的分组情况,来获取未分组的道路段,然后再根据未分组道路段的长度和虚拟高程计算得到未分组道路段的坡度,如果未分组道路段的坡度小于预设坡度阈值,则不将该未分组道路段添加至集合N,如果未分组道路段的坡度大于或等于预设坡度阈值,则将该未分组道路段添加至集合N。
步骤1407,判断集合N是否为空。
如果集合N为空,则完成修正,如果集合N不为空,则执行步骤1408。
也就是说,通过集合N判断通过当前的修正操作,是否还有异常道路段。
步骤1408,针对集合N中的每个道路段创建目标道路组。
步骤1409,记t=t+1,并返回步骤1403。
由此,本申请能够通过循环迭代的方式对目标区域中的异常道路段进行修正,从而使得目标区域内的全部道路段的坡度都能够符合道路建设规范的坡度。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。
综上所述,本申请实施例提出的道路的虚拟高程生成方法,能够在未分组道路的坡度异常时,通过将异常道路段与相连的参考道路融合成融合道路组,使得在计算融合道路组中各道路段的虚拟高程时能够采用相同的基准高程,从而有效消除融合前异常道路段因参考道路组基准高程的差异产生的坡度异常,基于融合道路组的基准高程进行三维渲染,能够有效提高三维地图的准确性,使得渲染后的三维地图中的道路段更符合路建设规范的坡度。
图17示出了本申请实施例提供的道路的虚拟高程生成装置的示例性结构框图。
如图17所示,本申请实施例的道路的虚拟高程生成装置10,包括:
确定模块11,用于确定异常道路段的参考道路组;所述异常道路段为基于预设规则对目标区域内的道路段进行分组后,未分组道路段中坡度异常的道路段,所述参考道路组为基于所述预设规则对所述目标区域内的道路段进行分组获得的道路组中,与所述异常道路段存在连接关系的道路组;
融合模块12,用于对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组;
计算模块13,用于基于所述融合道路的基准高程确定所述异常道路段的虚拟高程。
在本申请的另一实施例中,所述预设规则包括:将存在压盖关系的道路段划分为同一道路组。
在本申请的另一实施例中,确定模块11,用于:确定所述目标区域内的各道路段在平面地图上的道路中心线;
基于所述各道路段的道路中心线之间的相交关系,确定所述各道路段中存在压盖关系的道路段,将所述存在压盖关系的道路段划分至同一道路组。
在本申请的另一实施例中,确定模块11,用于:
针对所述目标区域内的每个道路组,遍历所述道路组中的道路段,得到与所述异常道路段相连的至少一个相邻道路段;
根据所述至少一个相邻道路段确定所述参考道路组。
在本申请的另一实施例中,确定模块11,用于:
将所述相邻道路段所属的道路组作为所述参考道路组;
遍历所述参考道路组中每一参考道路段的次级参考道路段,将所述次级参考道路段所属的道路组作为新的参考道路组;所述次级参考道路段为与所述参考道路段相连且不属于同一道路组的道路段;
返回执行遍历所述参考道路组中每一参考道路段的次级参考道路段,直至不存在所述次级参考道路段。
在本申请的另一实施例中,确定模块11,用于:
基于所述异常道路段创建目标道路组;
遍历所述目标区域内的所有道路组,确定所述所有道路组中与所述目标道路组存在连接关系的道路组为所述参考道路组。
在本申请的另一实施例中,确定模块11,用于:
遍历所述所有道路组,确定相连且不属于同一道路组的道路段对;
将所述道路段对所属的两个道路组确定为存在连接关系的道路组对;
基于各所述道路组对的连接关系,确定与所述目标道路组存在连接关系的道路组为参考道路组。
在本申请的另一实施例中,确定模块11,用于:
建立遍历队列,将所述目标道路组添加至所述遍历队列;
对所述道路组对进行初始遍历,基于所述道路组对的连接关系,确定与所述目标道路组相连的第一参考道路组,删除所述遍历队列中的所述目标道路组,并将所述第一参考道路组添加至所述遍历队列;
对所述遍历队列中的第一参考道路组进行循环遍历,基于所述道路组对的连接关系,确定与所述编列队列中的第一参考道路组相连的第二参考道路组,删除所述遍历队列中的第一参考道路组,将所述第二参考道路组作为第一参考道路组添加至所述遍历队列;
返回执行对所述遍历队列中的第一参考道路组进行循环遍历,直至不存在所述第二道路组。
在本申请的另一实施例中,确定模块11,用于:
针对任一所述道路段,获取与所述道路段相连的至少一个连接道路段;
针对每个所述道路段,若所述道路段与所述连接道路段不属于同一道路组,则确定所述道路段与所述连接道路段为相连且不属于同一道路组的道路段。
在本申请的另一实施例中,融合模块12,用于:
基于所述异常道路段创建融合道路组;
将所述遍历队列中的参考道路组添加至所述融合道路组。
在本申请的另一实施例中,融合模块12,用于:
基于所述异常道路段创建初始道路组;
将所述参考道路组中的所有道路段添加至所述初始道路组中,得到所述融合道路组。在本申请的另一实施例中,
在本申请的另一实施例中,计算模块13,用于:
确定每个所述道路段对应的至少两个道路点;
针对每个所述道路点,获取所述道路点的海拔高度,将所述道路点的海拔高度与所述基准高程之间的差值,作为所述道路点的虚拟高程;
根据每个所述道路段对应的至少两个道路点的虚拟高程,确定各所述道路段的虚拟高程。
在本申请的另一实施例中,如图18所示,本申请实施例的道路的虚拟高程生成装置10,还包括:渲染模块14,用于:
基于上述目标区域中各道路段构成所述目标区域中的道路;
基于所述道路中各道路段对应的虚拟高程,构建与所述目标区域对应的目标地图;
以空间维度的形式显示所述目标地图,且所述目标地图在显示的过程中,具有不同虚拟高程的道路段,以与所述不同虚拟高程相匹配的相对关系进行呈现,所述相对关系包括道路上下方位关系。
综上所述,本申请实施例提出的道路的虚拟高程生成装置,能够在未分组道路的坡度异常时,通过将异常道路段与相连的参考道路融合成融合道路组,使得在计算融合道路组中各道路段的虚拟高程时能够采用相同的基准高程,从而有效消除融合前异常道路段因参考道路组基准高程的差异产生的坡度异常,基于融合道路组的基准高程进行三维渲染,能够有效提高三维地图的准确性,使得渲染后的三维地图中的道路段更符合路建设规范的坡度。
应当理解,装置10中记载的诸单元或模块与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置10及其中包含的单元,在此不再赘述。装置10可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。装置10中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
在上文详细描述中提及的若干模块或者单元,这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
下面参考图19,图19示出了适于用来实现本申请实施例的电子设备或服务器的计算机系统的结构示意图,
如图19所示,计算机系统包括中央处理单元(CPU)1701,其可以根据存储在只读存储器(ROM)1702中的程序或者从存储部分1708加载到随机访问存储器(RAM)1703中的程序而执行各种适当的动作和处理。在RAM1703中,还存储有系统的操作指令所需的各种程序和数据。CPU1701、ROM1702以及RAM1703通过总线1704彼此相连。输入/输出(I/O)接口1705也连接至总线1704。
以下部件连接至I/O接口1705;包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。
特别地,根据本申请的实施例,上文参考流程图图2描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理单元(CPU)1701执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以为的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作指令。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连接表示的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作指令的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括确定模块、融合模块、计算模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,确定模块,还可以被描述为“确定异常道路段的参考道路组;所述参考道路组为基于目标区域内道路段划分的道路组中,与所述异常道路段直接连接或间接相连的道路组,所述异常道路段为所述目标区域内未分组的道路段中坡度异常的道路段”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或多个程序,当上述程序被一个或者一个以上的处理器用来执行描述于本申请的道路的虚拟高程生成方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其他技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (17)
1.一种道路的虚拟高程生成方法,其特征在于,包括:
确定异常道路段的参考道路组;所述异常道路段为基于预设规则对目标区域内的道路段进行分组后,未分组道路段中坡度异常的道路段,所述参考道路组为基于所述预设规则对所述目标区域内的道路段进行分组获得的道路组中,与所述异常道路段存在连接关系的道路组;
对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组;
基于所述融合道路组的基准高程确定所述异常道路段的虚拟高程。
2.根据权利要求1所述的方法,其特征在于,所述预设规则包括:将存在压盖关系的道路段划分为同一道路组。
3.根据权利要求2所述的方法,其特征在于,所述基于预设规则对目标区域内的道路段进行分组,包括:
确定所述目标区域内的各道路段在平面地图上的道路中心线;
基于所述各道路段的道路中心线之间的相交关系,确定所述各道路段中存在压盖关系的道路段,将所述存在压盖关系的道路段划分至同一道路组。
4.根据权利要求1所述的方法,其特征在于,所述确定异常道路段的参考道路组,包括:
针对所述目标区域内的每个道路组,遍历所述道路组中的道路段,得到与所述异常道路段相连的至少一个相邻道路段;
根据所述至少一个相邻道路段确定所述参考道路组。
5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个相邻道路段确定所述参考道路组,包括:
将所述相邻道路段所属的道路组作为所述参考道路组;
遍历所述参考道路组中每一参考道路段的次级参考道路段,将所述次级参考道路段所属的道路组作为新的参考道路组;所述次级参考道路段为与所述参考道路段相连且不属于同一道路组的道路段;
返回执行遍历所述参考道路组中每一参考道路段的次级参考道路段,直至不存在所述次级参考道路段。
6.根据权利要求1所述的方法,其特征在于,所述确定异常道路段的参考道路组,包括:
基于所述异常道路段创建目标道路组;
遍历所述目标区域内的所有道路组,确定所述所有道路组中与所述目标道路组存在连接关系的道路组为所述参考道路组。
7.根据权利要求6所述的方法,其特征在于,所述遍历所述目标区域内的所有道路组,确定所述所有道路组中与所述目标道路组存在连接关系的道路组为所述参考道路组,包括:
遍历所述所有道路组,确定相连且不属于同一道路组的道路段对;
将所述道路段对所属的两个道路组确定为存在连接关系的道路组对;
基于各所述道路组对的连接关系,确定与所述目标道路组存在连接关系的道路组为参考道路组。
8.根据权利要求7所述的方法,其特征在于,所述基于所述道路组对的连接关系,确定与所述目标道路组存在连接关系的道路组为参考道路组包括:
建立遍历队列,将所述目标道路组添加至所述遍历队列;
对所述道路组对进行初始遍历,基于所述道路组对的连接关系,确定与所述目标道路组相连的第一参考道路组,删除所述遍历队列中的所述目标道路组,并将所述第一参考道路组添加至所述遍历队列;
对所述遍历队列中的第一参考道路组进行循环遍历,基于所述道路组对的连接关系,确定与所述编列队列中的第一参考道路组相连的第二参考道路组,删除所述遍历队列中的第一参考道路组,将所述第二参考道路组作为第一参考道路组添加至所述遍历队列;
返回执行对所述遍历队列中的第一参考道路组进行循环遍历,直至不存在所述第二道路组。
9.根据权利要求7所述的方法,其特征在于,所述遍历所述道路组中各道路段的连接关系,得到相连且不属于同一道路组的道路段对,包括:
针对任一所述道路段,获取与所述道路段相连的至少一个连接道路段;
针对每个所述道路段,若所述道路段与所述连接道路段不属于同一道路组,则确定所述道路段与所述连接道路段为相连且不属于同一道路组的道路段。
10.根据权利要求8所述的方法,其特征在于,所述对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组,包括:
基于所述异常道路段创建融合道路组;
将所述遍历队列中的参考道路组添加至所述融合道路组。
11.根据权利要求1所述的方法,其特征在于,所述对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组,包括:
基于所述异常道路段创建初始道路组;
将所述参考道路组中的所有道路段添加至所述初始道路组中,得到所述融合道路组。
12.根据权利要求1所述的方法,其特征在于,所述基于所述融合道路组的基准高程确定所述异常道路段的虚拟高程,包括:
确定每个所述道路段对应的至少两个道路点;
针对每个所述道路点,获取所述道路点的海拔高度,将所述道路点的海拔高度与所述基准高程之间的差值,作为所述道路点的虚拟高程;
根据每个所述道路段对应的至少两个道路点的虚拟高程,确定各所述道路段的虚拟高程。
13.根据权利要求1-12中任一所述的方法,其特征在于,
基于上述目标区域中各道路段构成所述目标区域中的道路;
基于所述道路中各道路段对应的虚拟高程,构建与所述目标区域对应的目标地图;
以空间维度的形式显示所述目标地图,且所述目标地图在显示的过程中,具有不同虚拟高程的道路段,以与所述不同虚拟高程相匹配的相对关系进行呈现,所述相对关系包括道路上下方位关系。
14.一种道路的虚拟高程生成装置,其特征在于,包括:
确定模块,用于确定异常道路段的参考道路组;所述异常道路段为基于预设规则对目标区域内的道路段进行分组后,未分组道路段中坡度异常的道路段,所述参考道路组为基于所述预设规则对所述目标区域内的道路段进行分组获得的道路组中,与所述异常道路段存在连接关系的道路组;
融合模块,用于对所述异常道路段和所述参考道路组进行融合处理,获得融合道路组;
计算模块,用于基于所述融合道路的基准高程确定所述异常道路段的虚拟高程。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1至13中任一所述的道路的虚拟高程生成方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至13中任一所述的道路的虚拟高程生成方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13中任一项所述的道路的虚拟高程生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211023785.5A CN115272602A (zh) | 2022-08-24 | 2022-08-24 | 道路的虚拟高程生成方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211023785.5A CN115272602A (zh) | 2022-08-24 | 2022-08-24 | 道路的虚拟高程生成方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115272602A true CN115272602A (zh) | 2022-11-01 |
Family
ID=83753065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211023785.5A Pending CN115272602A (zh) | 2022-08-24 | 2022-08-24 | 道路的虚拟高程生成方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115272602A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024139784A1 (zh) * | 2022-12-26 | 2024-07-04 | 腾讯科技(深圳)有限公司 | 确定道路的相对高程的方法、装置、设备、存储介质及计算机程序产品 |
-
2022
- 2022-08-24 CN CN202211023785.5A patent/CN115272602A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024139784A1 (zh) * | 2022-12-26 | 2024-07-04 | 腾讯科技(深圳)有限公司 | 确定道路的相对高程的方法、装置、设备、存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111462275B (zh) | 一种基于激光点云的地图生产方法和装置 | |
US20230042968A1 (en) | High-definition map creation method and device, and electronic device | |
US20210200218A1 (en) | Distrubuted vector-raster fusion | |
CN111090712A (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
US10030982B2 (en) | Generalising topographical map data | |
US20210207963A1 (en) | Determination of traffic checkpoint | |
CN113724279B (zh) | 路网自动划分交通小区的系统、方法、设备及存储介质 | |
CN114003613A (zh) | 高精地图车道线更新方法、装置、电子设备以及存储介质 | |
CN111274241A (zh) | 用于并行处理地图数据的方法和装置 | |
CN115272602A (zh) | 道路的虚拟高程生成方法、装置、设备和介质 | |
Yang et al. | A map‐algebra‐based method for automatic change detection and spatial data updating across multiple scales | |
CN114440905B (zh) | 中间图层的构建方法、装置、电子设备及存储介质 | |
CN113569369B (zh) | 路网拓扑图的划分方法、装置、介质及设备 | |
CN115100231A (zh) | 一种区域边界的确定方法和装置 | |
CN112215864B (zh) | 电子地图的轮廓处理方法、装置及电子设备 | |
CN116168110A (zh) | 一种路口拓扑构建方法、系统、电子设备及存储介质 | |
CN113986866A (zh) | 一种大规模点云数据的处理方法、装置、设备及介质 | |
JP2023534086A (ja) | 道路データ処理方法、装置、デバイス、記憶媒体、及びプログラム | |
CN114036166A (zh) | 高精地图数据更新方法、装置、电子设备以及存储介质 | |
WO2024139784A1 (zh) | 确定道路的相对高程的方法、装置、设备、存储介质及计算机程序产品 | |
CN112182129A (zh) | 高精度地图更新方法及装置 | |
CN112885129B (zh) | 道路限速的确定方法、装置、设备及计算机可读存储介质 | |
CN118565497B (zh) | 路口内路网结构的生成方法、装置、电子设备及存储介质 | |
CN117592232B (zh) | 融合导航信息的路网拓扑结构建模方法及系统 | |
CN116465394B (zh) | 基于车辆轨迹数据的路网结构生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075019 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |