CN115615442A - 道路高程的确定方法、装置、电子设备及计算机程序产品 - Google Patents
道路高程的确定方法、装置、电子设备及计算机程序产品 Download PDFInfo
- Publication number
- CN115615442A CN115615442A CN202211289744.0A CN202211289744A CN115615442A CN 115615442 A CN115615442 A CN 115615442A CN 202211289744 A CN202211289744 A CN 202211289744A CN 115615442 A CN115615442 A CN 115615442A
- Authority
- CN
- China
- Prior art keywords
- elevation
- road
- control
- precision
- point
- 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
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
- G01C21/3822—Road feature data, e.g. slope data
-
- 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
Abstract
本公开实施例公开了一种道路高程的确定方法、装置、电子设备及计算机程序产品,所述方法包括:获取目标区域的标精道路数据和高精道路数据;所述目标区域内包括至少一条目标道路;基于所述标精道路数据提取所述目标道路上的控制位置点;所述控制位置点包括所述目标道路的两个结点以及具有高程约束限制的位置点;基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程;基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程;所述坡度约束限制包括同一所述目标道路上相邻两个控制位置点之间的道路坡度为固定值。
Description
技术领域
本公开涉及位置信息服务技术领域,具体涉及一种道路高程的确定方法、装置、电子设备及计算机程序产品。
背景技术
地图产品正不断地尝试用各种方法来描述周围的环境信息,也逐渐从2D向3D表达演进。为了更完整地表达地理表面形态,需要引入道路的高程数据,建立三维道路模型。但是,目前标精道路数据中没有道路的高程信息,而高精道路数据虽然有道路的高程信息,但是仅覆盖了部分道路,如城快道路、高速道路等,全域覆盖还有很长一段时间,目前不具备可行性。
因此,需要提出一种解决方案,以确定标精道路数据中道路的高程信息,为建立三维道路模型提供数据基础。
发明内容
本公开实施例提供一种道路高程的确定方法、装置、电子设备及计算机程序产品。
第一方面,本公开实施例中提供了一种道路高程的确定方法,其中,包括:
获取目标区域的标精道路数据和高精道路数据;所述目标区域内包括至少一条目标道路;
基于所述标精道路数据提取所述目标道路上的控制位置点;所述控制位置点包括所述目标道路的两个结点以及具有高程约束限制的位置点;
基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程;
基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程;所述坡度约束限制包括同一所述目标道路上相邻两个控制位置点之间的道路坡度为固定值。
进一步地,所述高程约束限制包括道路之间的层高约束限制、高程一致约束限制中的一种或多种的组合。
进一步地,基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程,包括:
基于所述标精道路数据和所述高精道路数据的道路映射关系将所述目标道路与所述高精道路数据进行匹配;
在所述目标道路被所述高精道路数据全部覆盖时,将所述目标道路上的所有控制位置点确定为第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程;
在所述目标道路被所述高精道路数据部分覆盖时,将所述目标道路上被所述高精道路数据覆盖部分的所述控制位置点确定为第一控制点,以及基于所述目标道路上覆盖部分和未覆盖部分的交界生成新的第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程。
进一步地,基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程,包括:
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
从所述当前起点出发,遍历周边的控制位置点,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,直至满足遍历停止条件;
选择下一起点作为当前起点,并重复从所述当前起点出发,遍历周边的控制位置点,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,直至满足遍历停止条件的步骤。
进一步地,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,包括:
基于所述当前起点的标精高程、道路层高参数和/或道路坡度参数计算当前遍历的所述第二控制点的标精高程;所述道路层高参数用于限制具有所述高程约束限制的上下层道路之间的层高间隔,所述道路坡度参数用于限制同一目标道路上相邻两控制位置点之间连线的斜率。
进一步地,所述方法还包括:
在完成一轮遍历之后,获取新的道路层高参数和新的道路坡度参数;
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
从所述当前起点出发,遍历周边的控制位置点,在当前遍历的第二控制点不满足上一轮遍历过程中使用的道路层高参数和/或道路坡度参数的限制时,基于所述当前起点的标精高程、新的道路层高参数和/或新的道路坡度参数计算当前遍历的所述第二控制点的标精高程。
进一步地,从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点之前,所述方法还包括:
将所述第一控制点和所述第二控制点分别按照多个目标道路之间从下到上和从上到下的层级关系进行正排序和逆排序,获得正排序结果和逆排序结果;
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点,包括:
基于正排序结果和/或逆排序结果从前往后的顺序,选择排序最前的所述第一控制点、与其他控制位置点具有高程约束限制的第二控制点作为当前起点作为当前起点。
进一步地,所述遍历停止条件包括以下一种或多种的组合:
当前遍历的周边控制位置点为第一控制点;
当前遍历的周边控制位置点为已遍历过的第二控制点;
当前遍历的周边控制位置点为第二控制点,且针对所述第二控制点当前计算的标精高程大于或等于已计算的标精高程。
进一步地,基于所述第一控制点的标精高程以及所述高程约束限制确定所述控制位置点中标精高程未知的第二控制点的标精高程之前,所述方法还包括:
基于所述第一控制点的标精高程以及初始道路坡度参数,计算所述第二控制点的初始高程,使得与所述第一控制点位于同一目标道路上相邻的所述第二控制点满足所述初始道路坡度参数的限制。
进一步地,从所述当前起点出发,遍历周边的控制位置点,包括:
基于与所述当前起点之间的距离从小到大的顺序,遍历所述当前起点的周边控制位置点。
进一步地,基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程之前,所述方法还包括:
基于同一所述目标道路上相邻两个控制位置点的标精高程,计算所述目标道路上所述相邻两个控制位置点之间至少一个位置点的标精高程。
第二方面,本公开实施例中提供了一种基于位置的服务提供方法,所述方法利用第一方面所述的方法为被服务对象提供基于位置的服务,所述基于位置的服务包括:导航、地图渲染、路线规划中的一种或多种。
第三方面,本公开实施例中提供了一种道路高程的确定装置,其中,包括:
第一获取模块,被配置为获取目标区域的标精道路数据和高精道路数据;所述目标区域内包括至少一条目标道路;
提取模块,被配置为基于所述标精道路数据提取所述目标道路上的控制位置点;所述控制位置点包括所述目标道路的两个结点以及具有高程约束限制的位置点;
第一确定模块,被配置为基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程;
第二确定模块,被配置为基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程;所述坡度约束限制包括同一所述目标道路上相邻两个控制位置点之间的道路坡度为固定值。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
第四方面,本公开实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现上述任一方面所述的方法。
第五方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
第六方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例,针对标精道路数据中未表达高程的目标道路,获取该目标道路的标精道路数据以及相关高精道路数据,并通过标精道路数据提取该目标道路上的控制位置点,该控制位置点包括该目标道路的两个结点以及具有高程约束限制的位置点;通过高精道路数据将控制位置点划分为高精高程已知的第一控制点和高精高程未知的第二控制点,然后基于第一控制点的高精高程确定第一控制点的标精高程,进而基于第一控制点的标精高程、高程约束限制以及坡度约束限制推导计算出该第二控制点的标精高程。通过这种方式,可以借助覆盖区域较少的高精道路数据计算出覆盖全域的标精道路数据中所有道路上各个控制位置点的标精高程,使得该标精道路数据具有表达高程信息的能力,在没有高精数据支撑的前提下也能够基于标精道路数据建立道路三维道路模型,从而提升了电子地图的数据表达能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的道路高程的确定方法的流程图;
图2示出根据本公开实施例的一种控制位置点提取效果示意图;
图3示出根据本公开一实施方式的道路高程的确定方法的一种实现流程示意图;
图4示出根据本公开一实施方式的道路高程的确定装置的结构框图。
图5是适于用来实现根据本公开一实施方式的道路高程的确定方法和/或基于位置的服务提供方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
下面通过具体实施例详细介绍本公开实施例的细节。
图1示出根据本公开一实施方式的道路高程的确定方法的流程图。如图1所示,该道路高程的确定方法包括以下步骤:
在步骤S101中,获取目标区域的标精道路数据和高精道路数据;所述目标区域内包括至少一条目标道路;
在步骤S102中,基于所述标精道路数据提取所述目标道路上的控制位置点;所述控制位置点包括所述目标道路的两个结点以及具有高程约束限制的位置点;
在步骤S103中,基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程;
在步骤S104中,基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程;所述坡度约束限制包括同一所述目标道路上相邻两个控制位置点之间的道路坡度为固定值。
本实施例中,该道路高程的确定方法可以在服务器上执行。目标区域可以是电子地图上的任意一个包括目标道路的区域范围,该区域范围内可以包括一条或多条目标道路。
在一些实施例中,目标道路可以是区域范围确定后,该区域范围内的全部或者部分道路。如背景技术中所述,目前高精道路数据未覆盖全部区域,也即部分区域对应有高精道路数据,而大部分区域并没有对应的高精道路数据。需要说明的是,目标区域为至少有一部分对应有高精道路数据的区域,也就是说目标区域内至少存在一部分目标道路全部或者部分被高精道路数据所覆盖,并且还至少存在一部分目标道路未被高精道路数据覆盖或者部分未被覆盖。
因此,目标区域内的目标道路可以是高精道路数据全部覆盖、部分覆盖或者未覆盖的道路。高精道路数据全部覆盖或者部分覆盖的目标道路的一个或两个结点在高精道路数据中对应有高精数据,例如高程信息等。可以理解为,被高精道路数据全部覆盖或者部分覆盖的目标道路的其一个或两个结点的高程信息已经存在于高精道路数据中,也即该一个或两个节点的高程信息已知,而未被高精道路数据覆盖的目标道路上的两个结点均没有对应的高精道路数据,其高程信息未知。
标精道路数据可以是普通地图数据也即标精地图数据中的道路数据,高精道路数据可以是高精地图数据中的道路数据。目前,标精道路数据基本上已经覆盖了全域范围,也即现实生活中的道路在标精道路数据中均已经有相应数据表达;而高精道路数据覆盖面较小,仅覆盖了现实道路中的一部分,如城快道路、高速道路、重要路口等在高精道路数据中有相应的数据表达,而其他道路还没有对应的高精道路数据。
高精地图数据(High-Definition Map,简称HD Map),可以拥有精确的车辆位置信息和丰富的道路元素数据信息,可以协助自动驾驶设备预知路面复杂信息、入坡度、曲率、航向等,能够更好的规避潜在的风险,是实现自动驾驶的关键。
而标精地图数据(Street Directory Map,简称SD Map),则是传统导航电子地图的简称,是利用计算机技术,以数字方式存储和查阅的地图,通过车载、手机等移动端间接服务于用户做检索、定位、路径规划及导航。
标精道路数据可以是导航系统在导航过程中通常所使用的精度较低的路网数据,也即在传统导航引导过程中,导航页面上显示的道路信息基本上是基于标精道路数据得到的。而高精道路数据则相较于标精路网数据,具有更高的精度且具有更详细的地物表达。高精道路数据不仅有高精度的坐标,同时还包括准确的车道形状,并且还包括每个车道的坡度、曲率、航向、高程、侧倾等更详尽的数据。
控制位置点可以是现实世界中目标道路上的某个或某些位置点,并且该位置点在标精道路数据中有相应的数据表达。在一些实施例中,目标道路的两个结点(在标精道路数据中道路以线段的形式表达,目标道路的两个结点即为该目标道路在标精道路数据中表达的线段的两个端点,)可以作为该目标道路的其中两个控制位置点。在另一些实施例中,在目标道路上的某个位置点与其他道路上的某个或某些位置点之间具有高程约束限制,或者该目标道路上的某些位置点之间相互具有高程约束限制时也可以作为该目标道路上的控制位置点。
在一些实施例中,所述高程约束限制包括道路之间的层高约束限制和高程一致约束限制中的一种或多种的组合。具有高程约束限制的位置点可以理解为同一目标道路上的两个位置点的高程之间具有一定的约束限制,比如同一目标道路上两个位置点的高程对应一致,或者当前目标道路上的某个位置点与其他道路上的某个位置点的高程具有一定的约束限制,比如上下层道路之间交叉处的位置点的高程具有层高约束限制,上层道路交叉处的位置点的高程为下层道路交叉处的位置点的高程加上层高距离。
在一些实施例中,可以通过下面的几种类型提取控制位置点:
1、目标道路的两个结点;在标精道路数据中表达的每条道路都具有两个结点,两个结点之间按照现实道路的走向所连的线表示该条道路。
2、有上下层压盖关系的位置点对;上下层压盖关系可以基于标精道路数据确定,上下层压盖关系的两个位置点对分别位于上层道路和下层道路的交叉处。
3、高程一致的位置点对;比如上下行道路上相对两个位置点的高程需要一致,否则该上下行道路不在一个平面上,该种高程一致的位置点对,通常是通过别的方式找到控制位置点后,提取与该已有的控制位置点的高程需要一致的另一个控制位置点。再比如提左交叉点对的高程需要一致,提左交叉点对可以理解为从当前目标道路左转弯至下一目标道路后,当前目标道路上左转弯线的起点与该左转弯线的延长线与下一目标道路的交点。这是因为左转弯线上的点应该是高程一致的点。
图2示出根据本公开实施例的一种控制位置点提取效果示意图。如图2所示,其中C开头的都是控制位置点,C1、C2为其中一条道路的连接处的结点,是控制位置点,C4、C5、C9、C13为具有压盖关系的控制位置点,C16、C17为提左交叉点对,是控制位置点;C14、C15、C18为上下行道路上高程需要一致的点,是控制位置点。
标精道路数据和高精道路数据之间具有道路映射关系,且该映射关系在制作高精道路数据时已生成,而高精道路数据中某条道路上各位置点的高程信息也可以被映射到标精道路数据中,作为同一条道路在标精道路数据中的高程信息。为了区分高精道路数据中的高程信息和标精道路中的高程信息,本公开实施例将高精道路数据中表达的高程信息称作为高精高程,而将标精道路数据中表达的高程信息称作为标精高程。
从标精道路数据提取出控制位置点后,可以与高精道路数据进行匹配,以便从高精道路数据中获取控制位置点的高程信息。由于高精道路数据仅覆盖一部分区域,该区域内可能仅有部分控制位置点在高精道路数据中对应有高程信息。
如上文中所述,目标区域内的部分目标道路被高精道路数据全部或者部分覆盖,因此可以基于高精道路数据,将目标区域内全部或者部分目标道路的控制位置点划分为高精高程已知的第一控制点和高精高程未知的第二控制点,第一控制点为在高精道路数据中存在相应高程信息的控制位置点,也即第一控制点为高程已知的控制位置点,而第二控制点为高程未知的控制位置点。目标区域内的目标道路上至少存在一个第一控制点和至少存在一个第二控制点。
由于高程信息在高精道路数据和在标精道路数据中的表达不同,在划分出第一控制点和第二控制点后,可以将第一控制点在高精道路数据中关于高程的高精信息映射到标精道路数据中关于高程的标精信息。高精高程可以将第一控制点在高精道路数据中的高程信息在标精道路数据中按照标精道路数据规定的方式进行表达。
本公开实施例,可以基于目标道路上的第一控制点的高精高程、高程约束限制以及同一目标道路上多个控制位置点之间的坡度约束限制确定高程信息未知的第二控制点的标精高程。不同目标道路上的第一控制点之间、第一控制点和第二控制点之间、第二控制点之间可能存在高程约束限制,此外,同一目标道路上相邻的两个第一控制点之间、第一控制点和第二控制点之间、第二控制点之间至少存在坡度约束限制。需要说明的是,第一控制点之间的坡度约束限制在本公开实施例中可以不做考虑,因为第一控制点的标精高程直接从高精高程映射得到即可。所谓坡度约束限制为同一目标道路上相邻两个控制位置点(可以是第一控制点或者第二控制点)之间道路的坡度(也即斜率)为固定值,也即预先确定该固定值,基于该固定值基于相邻两控制位置点中的其中一个的标精高程即可确定另一个控制位置点的标精高程。由于第一控制点的高精高程已知,基于高精道路数据和标精道路数据之间的映射关系,可以基于第一控制点的高精高程和该映射关系得到第一控制点的标精高程,之后第二控制点的标精高程则可以基于第一控制点的标精高程、高程约束限制以及坡度约束限制计算得到。
在一些实施例中,可以将其中一个第一控制点作为起点,通过遍历与该第一控制点具有高程约束限制和坡度约束限制的第二控制点,进而基于高程约束限制、坡度约束限制以及第一控制点的标精高程即可计算得到第二控制点的标精高程,之后再选下一个第一控制点作为起点,重复上述过程。
例如,选中目标道路的一个第一控制点作为起点,则可以确定与该第一控制点具有高程一致的某个或某些第二控制点的标精高程,也即该某个或某些第二控制点的标精高程与该第一控制点的标精高程相等;在约定坡度的情况下,与第一控制点相邻且位于同一目标道路上的第二控制点,其标精高程与该第一控制点的标精高程满足该坡度要求的情况下,可以基于该第一控制点的标精高程以及该坡度计算得到该第二控制点的标精高程。
需要说明的是,本公开实施例最终得到的是目标区域内目标道路上第一控制点和第二控制点的标精高程。
本公开实施例,针对标精道路数据中未表达高程的目标道路,获取该目标道路的标精道路数据以及相关高精道路数据,并通过标精道路数据提取该目标道路上的控制位置点,该控制位置点包括该目标道路的两个结点以及具有高程约束限制的位置点;通过高精道路数据将控制位置点划分为高精高程已知的第一控制点和高精高程未知的第二控制点,然后基于第一控制点的高精高程确定第一控制点的标精高程,进而基于第一控制点的标精高程、高程约束限制以及坡度约束限制推导计算出该第二控制点的标精高程。通过这种方式,可以借助覆盖区域较少的高精道路数据计算出覆盖全域的标精道路数据中所有道路上各个控制位置点的标精高程,使得该标精道路数据具有表达高程信息的能力,在没有高精数据支撑的前提下也能够基于标精道路数据建立道路三维道路模型,从而提升了电子地图的数据表达能力。
在本实施例的一个可选实现方式中,步骤S103,即基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程的步骤,进一步包括以下步骤:
基于所述标精道路数据和所述高精道路数据的道路映射关系将所述目标道路与所述高精道路数据进行匹配;
在所述目标道路被所述高精道路数据全部覆盖时,将所述目标道路上的所有控制位置点确定为第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程;
在所述目标道路被所述高精道路数据部分覆盖时,将所述目标道路上被所述高精道路数据覆盖部分的所述控制位置点确定为第一控制点,以及基于所述目标道路上覆盖部分和未覆盖部分的交界生成新的第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程。
该可选的实现方式中,如上文中所述,目标道路可能被高精道路数据全部覆盖、部分覆盖或者未被覆盖。在高精道路数据全部覆盖目标道路时,目标道路上的所有控制位置点在高精道路数据中对应有高程信息,因此基于高精道路数据和标精道路数据之间的道路映射关系即可确定该些控制位置点在标精道路数据中的标精高程;需要说明的是,道路映射关系为已知数据,在建立高精道路数据时已经被生成并存储。本公开实施例只需要从电子地图数据中直接获取该道路映射关系即可。
在高精道路数据部分覆盖目标道路时,该目标道路上被覆盖部分的控制位置点在高精道路数据中有对应的高精数据,可以被确定为第一控制点,并基于道路映射关系和高精道路数据中该第一控制点的高精高程确定其标精高程;而目标道路未被高精道路数据覆盖时,则目标道路上的控制位置点均为第二控制点,高精高程未知。需要说明的是,如果目标道路是高精道路数据边界处的连接道路,则该目标道路上与该高精道路数据边界连接的结点的高精高程可以从高精道路数据获得,该结点也是第一控制点。
基于上述原则未被确定为第一控制点的其他控制位置点均可以被确定为高精高程未知的第二控制点,其标精高程则需要基于第一控制点的标精高程、高程约束限制以及坡度约束限制计算得到。
还需要说明的是,在目标道路被高精道路数据部分覆盖时,该目标道路上被该高精道路数据覆盖的部分和未被覆盖的部分的交界处的交点可以被添加为控制位置点,并且是第一控制点,该交点的高精高程基于高精道路数据可以确定,进而基于高精道路数据、标精道路数据可以将该交点的高精高程表达为标精高程。需要说明的是,高精高程和标精高程可以基于高精道路数据和标精道路数据对高程的不同表达方式之间的映射关系进行映射得到,其实际想要表达的高程可以是一样的。也就是说,同一控制位置点在高精道路数据和标精道路数据中高程的表达方式不同,但是实际要表达的高度是一致的。
在本实施例的一个可选实现方式中,步骤S104,即基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程的步骤,进一步包括以下步骤:
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
从所述当前起点出发,遍历周边的控制位置点,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,直至满足遍历停止条件;
选择下一起点作为当前起点,并重复从所述当前起点出发,遍历周边的控制位置点,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,直至满足遍历停止条件的步骤。
该可选的实现方式中,可以针对目标区域内全部的目标道路或部分目标道路进行遍历。遍历过程中,因为第一控制点的高精高程已知,基于该高精高程可以映射得到标精高程,因此可以以第一控制点为起点,计算遍历到的周边的第二控制点的标精高程。也就是说,以其中一个第一控制点为起点遍历周边的第二控制点,第二控制点的标精高程未知,但是可以基于与第一控制点之间的高程约束限制、坡度约束限制计算得到。该高程约束限制可以包括但不限于道路之间的层高约束限制以及高程一致约束限制等。层高约束限制指具有上下层压盖关系的两条目标道路中,上下交叉点之间的层高为设定值,如果其中一个目标道路上的交叉点处的标精高程已知,则可以基于该层高计算得到另一目标道路上交叉点处的标精高程。高程一致约束限制指两个点之间的高程相等,例如上下行道路上相对两点的高程相等。坡度一致约束限制指同一条目标道路上相邻两点之间的坡度(也即道路面的斜率)一致。本公开实施例中通过设定上下层道路之间的层高以及同一目标道路上相邻两控制位置点的坡度,最终可以计算得到标精道路数据中各个位置控制点的相对高程。
在遍历过程中,当前起点的周边可以是第一控制点也可以是第二控制点,在遍历到满足遍历停止条件的第二控制点时,可以停止遍历,并选择下一起点进行遍历,重复上述步骤,直到没有满足条件的下一起点为止,也即没有可选的起点为止,例如第一控制点和与其他控制位置点具有高程约束限制的第二控制点均被选择并遍历过。
在一些实施例中,遍历停止条件可以包括但不限于以下一种或多种的组合:当前遍历的周边控制位置点为第一控制点、当前遍历的周边控制位置点为已遍历过的第二控制点、当前遍历的周边控制位置点为第二控制点且该第二控制点已有的标精高程大于当前计算得到的标精高程。
在一些实施例中,可以将第一控制点、具有高程约束限制的第二控制点选择为当前起点或下一起点,从当前起点或下一起点开始遍历周边的其他控制位置点。
在一些实施例中,可以优先选择第一控制点作为当前起点或下一起点,在所有第一控制点被遍历过时,可以选择满足层高约束限制的第二控制点作为当前起点或下一起点,而在所有满足层高约束限制的第二控制点也均被遍历过时,则选择满足高程一致约束限制的第二控制点作为当前起点或下一起点。如果所有第一控制点、满足高程一致约束限制或者满足层高约束限制的第二控制点均被遍历过时,则停止当前轮的遍历;在需要的情况下,可以进行下一轮的遍历。
在本实施例的一个可选实现方式中,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程的步骤,进一步包括以下步骤:
基于所述当前起点的标精高程、道路层高参数和/或道路坡度参数计算当前遍历的所述第二控制点的标精高程;所述道路层高参数用于限制具有所述高程约束限制的上下层道路之间的层高间隔,所述道路坡度参数用于限制同一目标道路上相邻两控制位置点之间连线的斜率。
该可选的实现方式中,可以预先设定当前所使用的道路层高参数以及道路坡度参数,该道路层高参数和道路坡度参数可以基于现实道路之间的层高或者经验等数据预先确定,在此不做具体限制。
在当前起点的标精高程已知的情况下,可以基于道路坡度参数计算与该当前起点位于同一目标道路上的相邻第二控制点的标精高程,还可以基于道路层高参数计算与该当前起点具有层高约束限制的上层或下层道路上的第二控制点的标精高程,也可以确定与该当前起点具有高程一致约束限制的第二控制点的标精高程。
在一些实施例中,可以利用如下公式计算与该当前起点位于同一目标道路上的相邻第二控制点的标精高程:
Hneighbor=max(Hneighbor,hstart-d×s)
其中,Hneighbor为相邻第二控制点的标精高程,hstart为当前起点的标精高程,d为当前起点与相邻第二控制点的距离,s为道路坡度参数,也即当前起点和相邻第二控制点之间连线的斜率。该公式中,如果相邻的第二控制点在其他过程如上一轮遍历或者在遍历其他目标道路时已经计算出一个标精高程,则可以选择新计算的标精高程和以计算的标精高程中更高的一个作为该目标道路的标精高程。
需要说明的是,在利用上述公式计算相邻第二控制的标精高程之前,由于通过“拉渔网”的方式已经初始化过第二控制点的高程,因此Hneighbor至少具有一个大于0的初始值。
初始化过程中,以第一控制点的标精高程为基准,将与其相邻的第二控制点的标精高程基于初始道路坡度参数拉起,拉起的过程是在第一控制点的高程大于地面高度的情况。还需要说明的是,第二控制点的初始化标精高程的最小值为0,在标精高程为0时,表示该第二控制点位于地面。
在本实施例的一个可选实现方式中,所述方法进一步还包括以下步骤:
在完成一轮遍历之后,获取新的道路层高参数和新的道路坡度参数;
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
从所述当前起点出发,遍历周边的控制位置点,在当前遍历的第二控制点不满足上一轮遍历过程中使用的道路层高参数和/或道路坡度参数的限制时,基于所述当前起点的标精高程、新的道路层高参数和/或新的道路坡度参数计算当前遍历的所述第二控制点的标精高程。
该可选的实现方式中,如上文中所述,在一轮遍历过程中,从第一控制点或者具有高程约束限制的第二控制点出发进行遍历,针对遍历到的第二控制点计算高程,而在满足遍历停止条件后,选择下一起点,做进一步遍历,直到没有满足条件的起点为止。
完成一轮遍历之后,还可以检查一下是否所有的第二控制点的标精高程已经计算得到,并且该标精高程是否满足所有限制条件,例如是否均已经满足各种高程约束限制,如果均已经满足各种高程约束限制,则可以将当前遍历计算得到的结果作为最终的结果,从而结束道路高程的确定流程;而如果存在至少一个第二控制点的标精高程不满足高程约束限制的限制,则可以通过改变道路层高参数和/或道路坡度参数重新开始一轮的遍历。
在重新开始的一轮遍历过程中,由于上一轮遍历已经得到了满足各种高程约束限制的部分第二控制点的标精高程,因此在遍历过程中可以不再重新计算该部分第二控制点的标精高程,或者通过比较当前计算的标精高程和已计算的标精高程,将更符合要求的标精高程作为第二控制点的最终结果。
在一些实施例中,可以依然按照第一轮的方式进行遍历,在遍历到不满足上一轮道路层高参数和/或道路坡度参数的限制时,可以基于当前轮的道路层高参数和/或道路坡度参数计算第二控制点的当前标精高程。还需要说明的是,如果当前计算得到的第二控制点的标精高程小于或等于第二控制点已有的标精高程(可能是上一轮迭代计算的,也可能是通过遍历其他目标道路计算得到的),则不对第二控制点的标精高程进行更新,而是保留原来数值较大的标精高程。
在本实施例的一个可选实现方式中,从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点之前,所述方法进一步还包括以下步骤:
将所述第一控制点和所述第二控制点分别按照多个目标道路之间从下到上和从上到下的层级关系进行正排序和逆排序,获得正排序结果和逆排序结果;
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点的步骤,进一步还包括以下步骤:
基于正排序结果和/或逆排序结果从前往后的顺序,选择排序最前的所述第一控制点、与其他控制位置点具有高程约束限制的第二控制点作为当前起点作为当前起点。
该可选的实现方式中,在遍历之前,可以预先对第一控制点和第二控制点进行排序,排序的方式有两种:正排序和逆排序。所谓正排序是指按照所有参与计算的目标道路之间的层级关系从下到上进行排序;也就是说,将处于下层的目标道路上的位置控制点(包括第一控制点和第二控制点)排序在前面,而将处于上层的目标道路的位置控制点排序在后面。所谓逆排序则与正排序相反,是指按照所有参与计算的目标道路之间的层级关系从上到下进行排序;也就是说,将处于上层的目标道路上的位置控制点(包括第一控制点和第二控制点)排序在前面,而将处于下层的目标道路的位置控制点排序在后面。
两种排序结果都可以在遍历过程中使用。
在一轮迭代中,可以先基于正排序结果,选择排在最前面的第一控制点、与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点(例如可以先选择第一控制点,在没有第一控制点可选的情况下,选择具有层高约束限制的第二控制点,在没有具有层高约束限制的第二控制点可选的情况下,选择具有高程一致约束限制的第二控制点),并基于所选择的当前起点进行遍历,计算遍历到的第二控制点的标精高程。
按照正排序结果完成所有遍历之后,可以基于逆排序结果重新进行遍历,也即基于逆排序结果选择排在最前面的第一控制点、与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点(例如可以先选择第一控制点,在没有第一控制点可选的情况下,选择具有层高约束限制的第二控制点,在没有具有层高约束限制的第二控制点可选的情况下,选择具有高程一致约束限制的第二控制点),并基于所选择的当前起点进行遍历,并计算遍历到的第二控制点的标精高程。
在按照正排序结果和逆排序结果均遍历完成之后,表示完成一轮的迭代。每一轮的迭代均可以按照上述方式。
需要说明的是,每一轮迭代使用的道路层高参数和/或道路坡度参数不同,道路层高参数可以随着迭代次数的增加而减少,道路坡度参数随着迭代次数的增加而增加,也就是说,下一轮迭代时道路之间的层高在减小,而坡度在增加。在一些实施例中,可以设置三组道路层高参数和道路坡度参数,利用该三组道路层高参数进行三轮迭代之后,基本上可以获得满足要求的第二控制点的标精高程。
在本实施例的一个可选实现方式中,所述遍历停止条件包括以下一种或多种的组合:
当前遍历的周边控制位置点为第一控制点;
当前遍历的周边控制位置点为已遍历过的第二控制点;
当前遍历的周边控制位置点为第二控制点,且针对所述第二控制点当前计算的标精高程大于或等于已计算的标精高程。
该可选的实现方式中,基于当前起点遍历周边第二控制点时,可以预先不区分第一控制点和第二控制点,而是基于当前起点遍历周边控制位置点,如果遇到第一控制点则可以停止遍历,或者遇到已经遍历过的控制位置点则可以停止遍历,或者当前计算得到的第二控制点的标精高程小于或等于该第二控制点已经计算得到的标精高程(可能是上一轮迭代计算的,也可能是通过遍历其他目标道路计算得到的)时,也可以停止遍历,并选择下一起点。
当然,可以理解的是,在以下一起点进行遍历时,也以上述条件作为遍历停止条件。
在本实施例的一个可选实现方式中,步骤S104,即基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程之前,所述方法进一步还包括以下步骤:
基于所述第一控制点的标精高程以及初始道路坡度参数,计算所述第二控制点的初始高程,使得与所述第一控制点位于同一目标道路上相邻的所述第二控制点满足所述初始道路坡度参数的限制。
该可选的实现方式中,上文中记载了从第一控制点、与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点,进行多轮迭代计算第二控制点的标精高程。本实施例中,在进行多轮迭代之前,还可以基于第一控制点的标精高程、初始道路坡度参数对第二控制点的标精高程先进行初始化。
需要说明的是,该初始道路坡度参数可以与上述多轮迭代中第一轮迭代使用的道路坡度参数一样,或者小于第一轮迭代使用的道路坡度参数。
初始化过程中,可以仅基于第一控制点作为起点对周边的第二控制点进行遍历,并且基于初始道路坡度参数计算与第一控制点位于同一目标道路上的相邻第二控制点的标精高程,使得计算得到的第二控制点的标精高程与第一控制点的标精高程满足坡度一致约束限制,也即第一控制点和第二控制点之间道路的坡度为初始道路坡度参数的值。
需要说明的是,初始过程中也可以基于道路上下层关系进行正排序和逆排序后的结果选择起点。也即可以先基于正排序结果,选择排序最前的第一控制点作为起点进行遍历,满足遍历停止条件后,继续从正排序结果中选择排序靠前的下一第一控制点作为起点进行遍历,直到没有可选择的第一控制点为止。之后,再基于逆排序结果,选择排序最前的第一控制点作为起点进行遍历,满足遍历停止条件后,继续从逆排序结果中选择排序靠前的下一第一控制点作为起点进行遍历,直到没有可选择的第一控制点为止。
本公开实施例从高精道路数据的断口处的固定结点(也即目标道路的第一控制点)出发,将标精道路数据徐徐下降到地面,在没有高程约束限制时,倾向于将道路贴到地面。
按照正排序结果或者逆排序结果选择起点,是为了先固定一个点(例如标精高程已知的第一控制点)的高度,抬升(或者压低)另一个点(与该第一控制点具有高程约束限制的第二控制点),使它们满足高度差要求。
在抬升(或者压低)一个点(例如标精高程已知的第一控制点)时,由于坡度平缓的要求,可以将该点所连接的其他点(相邻的第二控制点)也一起抬起来(或者压下去),类似于“拉渔网”的操作。
在本实施例的一个可选实现方式中,从所述当前起点出发,遍历周边的控制位置点,进一步包括以下步骤:
基于与所述当前起点之间的距离从小到大的顺序,遍历所述当前起点的周边控制位置点。
该可选的实现方式中,选定当前起点或者下一起点后,基于该起点选择要遍历的周边控制位置点时,可以基于该第二控制点与该起点的距离,由近及远的顺序进行遍历,也即先选择距离起点最近的控制位置点进行处理,之后再选择距离次近的控制位置点,以此类推,直到遍历完第一控制点周边的所有第二控制点或者满足遍历停止条件为止。
在一些实施例中,本公开实施例可以采用贪心算法选择起点周边控制位置点。例如可以在选定起点之后,采用迪杰斯特拉算法确定该起点周边控制位置点的遍历顺序。通过这种方式,可以降低遍历复杂度,提供计算效率。
在本实施例的一个可选实现方式中,基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程之前,所述方法进一步还包括以下步骤:
基于同一所述目标道路上相邻两个控制位置点的标精高程,计算所述目标道路上所述相邻两个控制位置点之间至少一个位置点的标精高程。
该可选的实现方式中,在第一控制点和第二控制点的标精高程均计算得到之后,可以通过插值方式得到目标道路上,相邻两个控制位置点之间任意一点的标精高程。该相邻两个控制位置点可以是第一控制点和第二控制点中的任意一种,该相邻两个控制点的标精高程已经得到,并且相邻两控制点之间的连线也即目标道路对应的线段一致,因此可以通过插值方式计算得到相邻两控制点之间任意一个位置点的标精高程。通过这种方式,目标道路上所有位置点的标精高程都可以计算得到,弥补了标精道路数据中没有高程数据的缺陷。
图3示出根据本公开一实施方式的道路高程的确定方法的一种实现流程示意图。如图3所示,获取目标区域的数据,确定目标区域内各个目标道路上的控制位置点;利用高精道路数据与标精道路数据之间的映射关系将控制位置点中高精高程已知的第一控制点的高精高程映射为标精道路数据中的标精高程;利用第一控制点的标精高程以及初始道路坡度参数初始化与第一控制点相邻的第二控制点的标精高程。将第一控制点和第二控制点按照目标道路之间层级关系由下到上和由上到下的顺序分别进行排序,得到正排序结果和逆排序结果;按照正排序结果和逆排序结果进行迭代处理,也即上文中提到的选择起点,遍历周边的控制位置点的过程,并计算遍历到的第二控制点的标精高程;每轮迭代结束后,通过运行质检函数检测所计算得到的第二控制点的标精高程是否满足条件,存在不满足条件的第二控制点的情况下,进行下一轮迭代,经过多轮迭代后,可以得到满足条件的所有控制位置点的标精高程。
根据本公开一实施方式的基于位置的服务提供方法,该位置服务提供方法利用上述道路高程的确定方法为被服务对象提供基于位置的服务,基于位置的服务包括:导航、地图渲染、路线规划中的一种或多种。
本实施例中,该基于位置的服务提供方法可以在位置服务终端上执行,位置服务终端可以是手机、ipad、电脑、智能手表、车辆的车载设备等。本公开实施例,可以利用服务器对为标精道路数据添加标精道路上各个位置点的高程信息,该添加了高程信息的标精道路数据可以提供给位置服务器或者导航终端,用于为被导航对象提供位置服务。
被服务对象可以是手机、ipad、电脑、智能手表、车辆、机器人等。服务器可以将基于上述方法得到的标精道路数据提供给位置夫妻或者导航终端,位置服务器和/或导航中的在对被服务对象的服务过程中,可以基于该标精道路数据提供路径规划、道路渲染、导航等服务,例如在展示路口大图时可以基于道路上的高程信息展示上下层道路的层级关系,道路高程的确定过程涉及的具体细节可以参见上述对道路高程的确定方法的描述,在此不再赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图4示出根据本公开一实施方式的道路高程的确定装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该道路高程的确定装置包括:
第一获取模块401,被配置为获取目标区域的标精道路数据和高精道路数据;所述目内包括至少一条目标道路;
提取模块402,被配置为基于所述标精道路数据提取所述目标道路上的控制位置点;所述控制位置点包括所述目标道路的两个结点以及具有高程约束限制的位置点;
第一确定模块403,被配置为基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程;
第二确定模块404,被配置为基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程;所述坡度约束限制包括同一所述目标道路上相邻两个控制位置点之间的道路坡度为固定值。
本实施例中,该道路高程的确定装置可以在服务器上执行。目标区域可以是电子地图上的任意一个包括目标道路的区域范围,该区域范围内可以包括一条或多条目标道路。
在一些实施例中,目标道路可以是区域范围确定后,该区域范围内的全部或者部分道路。如背景技术中所述,目前高精道路数据未覆盖全部区域,也即部分区域对应有高精道路数据,而大部分区域并没有对应的高精道路数据。需要说明的是,目标区域为至少有一部分对应有高精道路数据的区域,也就是说目标区域内至少存在一部分目标道路全部或者部分被高精道路数据所覆盖,并且还至少存在一部分目标道路未被高精道路数据覆盖或者部分未被覆盖。
因此,目标区域内的目标道路可以是高精道路数据全部覆盖、部分覆盖或者未覆盖的道路。高精道路数据全部覆盖或者部分覆盖的目标道路的一个或两个结点在高精道路数据中对应有高精数据,例如高程信息等。可以理解为,被高精道路数据全部覆盖或者部分覆盖的目标道路的其一个或两个结点的高程信息已经存在于高精道路数据中,也即该一个或两个节点的高程信息已知,而未被高精道路数据覆盖的目标道路上的两个结点均没有对应的高精道路数据,其高程信息未知。
标精道路数据可以是普通地图数据也即标精地图数据中的道路数据,高精道路数据可以是高精地图数据中的道路数据。目前,标精道路数据基本上已经覆盖了全域范围,也即现实生活中的道路在标精道路数据中均已经有相应数据表达;而高精道路数据覆盖面较小,仅覆盖了现实道路中的一部分,如城快道路、高速道路、重要路口等在高精道路数据中有相应的数据表达,而其他道路还没有对应的高精道路数据。
高精地图数据(High-Definition Map,简称HD Map),可以拥有精确的车辆位置信息和丰富的道路元素数据信息,可以协助自动驾驶设备预知路面复杂信息、入坡度、曲率、航向等,能够更好的规避潜在的风险,是实现自动驾驶的关键。
而标精地图数据(Street Directory Map,简称SD Map),则是传统导航电子地图的简称,是利用计算机技术,以数字方式存储和查阅的地图,通过车载、手机等移动端间接服务于用户做检索、定位、路径规划及导航。
标精道路数据可以是导航系统在导航过程中通常所使用的精度较低的路网数据,也即在传统导航引导过程中,导航页面上显示的道路信息基本上是基于标精道路数据得到的。而高精道路数据则相较于标精路网数据,具有更高的精度且具有更详细的地物表达。高精道路数据不仅有高精度的坐标,同时还包括准确的车道形状,并且还包括每个车道的坡度、曲率、航向、高程、侧倾等更详尽的数据。
控制位置点可以是现实世界中目标道路上的某个或某些位置点,并且该位置点在标精道路数据中有相应的数据表达。在一些实施例中,目标道路的两个结点(在标精道路数据中道路以线段的形式表达,目标道路的两个结点即为该目标道路在标精道路数据中表达的线段的两个端点,)可以作为该目标道路的其中两个控制位置点。在另一些实施例中,在目标道路上的某个位置点与其他道路上的某个或某些位置点之间具有高程约束限制,或者该目标道路上的某些位置点之间相互具有高程约束限制时也可以作为该目标道路上的控制位置点。
在一些实施例中,所述高程约束限制包括道路之间的层高约束限制和高程一致约束限制中的一种或多种的组合。具有高程约束限制的位置点可以理解为同一目标道路上的两个位置点的高程之间具有一定的约束限制,比如同一目标道路上两个位置点的高程对应一致,或者当前目标道路上的某个位置点与其他道路上的某个位置点的高程具有一定的约束限制,比如上下层道路之间交叉处的位置点的高程具有层高约束限制,上层道路交叉处的位置点的高程为下层道路交叉处的位置点的高程加上层高距离。
在一些实施例中,可以通过下面的几种类型提取控制位置点:
1、目标道路的两个结点;在标精道路数据中表达的每条道路都具有两个结点,两个结点之间按照现实道路的走向所连的线表示该条道路。
2、有上下层压盖关系的位置点对;上下层压盖关系可以基于标精道路数据确定,上下层压盖关系的两个位置点对分别位于上层道路和下层道路的交叉处。
3、高程一致的位置点对;比如上下行道路上相对两个位置点的高程需要一致,否则该上下行道路不在一个平面上,该种高程一致的位置点对,通常是通过别的方式找到控制位置点后,提取与该已有的控制位置点的高程需要一致的另一个控制位置点。再比如提左交叉点对的高程需要一致,提左交叉点对可以理解为从当前目标道路左转弯至下一目标道路后,当前目标道路上左转弯线的起点与该左转弯线的延长线与下一目标道路的交点。这是因为左转弯线上的点应该是高程一致的点。
标精道路数据和高精道路数据之间具有道路映射关系,且该映射关系在制作高精道路数据时已生成,而高精道路数据中某条道路上各位置点的高程信息也可以被映射到标精道路数据中,作为同一条道路在标精道路数据中的高程信息。为了区分高精道路数据中的高程信息和标精道路中的高程信息,本公开实施例将高精道路数据中表达的高程信息称作为高精高程,而将标精道路数据中表达的高程信息称作为标精高程。
从标精道路数据提取出控制位置点后,可以与高精道路数据进行匹配,以便从高精道路数据中获取控制位置点的高程信息。由于高精道路数据仅覆盖一部分区域,该区域内可能仅有部分控制位置点在高精道路数据中对应有高程信息。
如上文中所述,目标区域内的部分目标道路被高精道路数据全部或者部分覆盖,因此可以基于高精道路数据,将目标区域内全部或者部分目标道路的控制位置点划分为高精高程已知的第一控制点和高精高程未知的第二控制点,第一控制点为在高精道路数据中存在相应高程信息的控制位置点,也即第一控制点为高程已知的控制位置点,而第二控制点为高程未知的控制位置点。目标区域内的目标道路上至少存在一个第一控制点和至少存在一个第二控制点。
由于高程信息在高精道路数据和在标精道路数据中的表达不同,在划分出第一控制点和第二控制点后,可以将第一控制点在高精道路数据中关于高程的高精信息映射到标精道路数据中关于高程的标精信息。高精高程可以将第一控制点在高精道路数据中的高程信息在标精道路数据中按照标精道路数据规定的方式进行表达。
本公开实施例,可以基于目标道路上的第一控制点的高精高程、高程约束限制以及同一目标道路上多个控制位置点之间的坡度约束限制确定高程信息未知的第二控制点的标精高程。不同目标道路上的第一控制点之间、第一控制点和第二控制点之间、第二控制点之间可能存在高程约束限制,此外,同一目标道路上相邻的两个第一控制点之间、第一控制点和第二控制点之间、第二控制点之间至少存在坡度约束限制。需要说明的是,第一控制点之间的坡度约束限制在本公开实施例中可以不做考虑,因为第一控制点的标精高程直接从高精高程映射得到即可。所谓坡度约束限制为同一目标道路上两个控制点(可以是第一控制点或者第二控制点)之间连线的坡度(也即斜率)一致。由于第一控制点的高精高程已知,基于高精道路数据和标精道路数据之间的映射关系,可以基于第一控制点的高精高程和该映射关系得到第二控制点的标精高程,之后第二控制点的标精高程则可以基于第一控制点的标精高程、高程约束限制以及坡度约束限制计算得到。
在一些实施例中,可以将其中一个第一控制点作为起点,通过遍历与该第一控制点具有高程约束限制和坡度约束限制的第二控制点,进而基于高程约束限制、坡度约束限制以及第一控制点的标精高程即可计算得到第二控制点的标精高程,之后再选下一个第一控制点作为起点,重复上述过程。
例如,选中目标道路的一个第一控制点作为起点,则可以确定与该第一控制点具有高程一致的某个或某些第二控制点的标精高程,也即该某个或某些第二控制点的标精高程与该第一控制点的标精高程相等;在约定坡度的情况下,与第一控制点相邻且位于同一目标道路上的第二控制点,其标精高程与该第一控制点的标精高程满足该坡度要求的情况下,可以基于该第一控制点的标精高程以及该坡度计算得到该第二控制点的标精高程。
需要说明的是,本公开实施例最终得到的是目标区域内目标道路上第一控制点和第二控制点
本公开实施例,针对标精道路数据中未表达高程的目标道路,获取该目标道路的标精道路数据以及相关高精道路数据,并通过标精道路数据提取该目标道路上的控制位置点,该控制位置点包括该目标道路的两个结点以及具有高程约束限制的位置点;通过高精道路数据将控制位置点划分为高精高程已知的第一控制点和高精高程未知的第二控制点,然后基于第一控制点的高精高程确定第一控制点的标精高程,进而基于第一控制点的标精高程、高程约束限制以及坡度约束限制推导计算出该第二控制点的标精高程。通过这种方式,可以借助覆盖区域较少的高精道路数据计算出覆盖全域的标精道路数据中所有道路上各个控制位置点的标精高程,使得该标精道路数据具有表达高程信息的能力,在没有高精数据支撑的前提下也能够基于标精道路数据建立道路三维道路模型,从而提升了电子地图的数据表达能力。
在本实施例的一个可选实现方式中,第一确定模块,包括:
匹配子模块,被配置为基于所述标精道路数据和所述高精道路数据的道路映射关系将所述目标道路与所述高精道路数据进行匹配;
第一确定子模块,被配置为在所述目标道路被所述高精道路数据全部覆盖时,将所述目标道路上的所有控制位置点确定为第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程;
第二确定子模块,被配置为在所述目标道路被所述高精道路数据部分覆盖时,将所述目标道路上被所述高精道路数据覆盖部分的所述控制位置点确定为第一控制点,以及基于所述目标道路上覆盖部分和未覆盖部分的交界生成新的第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程。
该可选的实现方式中,如上文中所述,目标道路可能被高精道路数据全部覆盖、部分覆盖或者未被覆盖。在高精道路数据全部覆盖目标道路时,目标道路上的所有控制位置点在高精道路数据中对应有高程信息,因此基于高精道路数据和标精道路数据之间的道路映射关系即可确定该些控制位置点在标精道路数据中的标精高程;需要说明的是,道路映射关系为已知数据,在建立高精道路数据时已经被生成并存储。本公开实施例只需要从电子地图数据中直接获取该道路映射关系即可。
在高精道路数据部分覆盖目标道路时,该目标道路上被覆盖部分的控制位置点在高精道路数据中有对应的高精数据,可以被确定为第一控制点,并基于道路映射关系和高精道路数据中该第一控制点的高精高程确定其标精高程;而目标道路未被高精道路数据覆盖时,则目标道路上的控制位置点均为第二控制点,高精高程未知。需要说明的是,如果目标道路是高精道路数据边界处的连接道路,则该目标道路上与该高精道路数据边界连接的结点的高精高程可以从高精道路数据获得,该结点也是第一控制点。
基于上述原则未被确定为第一控制点的其他控制位置点均可以被确定为高精高程未知的第二控制点,其标精高程则需要基于第一控制点的标精高程、高程约束限制以及坡度约束限制计算得到。
还需要说明的是,在目标道路被高精道路数据部分覆盖时,该目标道路上被该高精道路数据覆盖的部分和未被覆盖的部分的交界处的交点可以被添加为控制位置点,并且是第一控制点,该交点的高精高程基于高精道路数据可以确定,进而基于高精道路数据、标精道路数据可以将该交点的高精高程表达为标精高程。需要说明的是,高精高程和标精高程可以基于高精道路数据和标精道路数据对高程的不同表达方式之间的映射关系进行映射得到,其实际想要表达的高程可以是一样的。也就是说,同一控制位置点在高精道路数据和标精道路数据中高程的表达方式不同,但是实际要表达的高度是一致的。
在本实施例的一个可选实现方式中,所述第二确定模块,包括:
第一选择子模块,被配置为从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
第一遍历子模块,被配置为从所述当前起点出发,遍历周边的控制位置点,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,直至满足遍历停止条件;
第二选择子模块,被配置为选择下一起点,并重复执行第一遍历子模块。
该可选的实现方式中,可以针对目标区域内全部的目标道路或部分目标道路进行遍历。遍历过程中,因为第一控制点的高精高程已知,基于该高精高程可以映射得到标精高程,因此可以以第一控制点为起点,计算遍历到的周边的第二控制点的标精高程。也就是说,以其中一个第一控制点为起点遍历周边的第二控制点,第二控制点的标精高程未知,但是可以基于与第一控制点之间的高程约束限制、坡度约束限制计算得到。该高程约束限制可以包括但不限于道路之间的层高约束限制以及高程一致约束限制等。层高约束限制指具有上下层压盖关系的两条目标道路中,上下交叉点之间的层高为设定值,如果其中一个目标道路上的交叉点处的标精高程已知,则可以基于该层高计算得到另一目标道路上交叉点处的标精高程。高程一致约束限制指两个点之间的高程相等,例如上下行道路上相对两点的高程相等。坡度一致约束限制指同一条目标道路上相邻两点之间的坡度(也即道路面的斜率)一致。
在遍历过程中,当前起点的周边可以是第一控制点也可以是第二控制点,在遍历到满足遍历停止条件的第二控制点时,可以停止遍历,并选择下一起点进行遍历,重复上述步骤,直到没有满足条件的下一起点为止,也即没有可选的起点为止,例如第一控制点和与其他控制位置点具有高程约束限制的第二控制点均被选择并遍历过。
在一些实施例中,遍历停止条件可以包括但不限于以下一种或多种的组合:当前遍历的周边控制位置点为第一控制点、当前遍历的周边控制位置点为已遍历过的第二控制点、当前遍历的周边控制位置点为第二控制点且该第二控制点已有的标精高程大于当前计算得到的标精高程。
在一些实施例中,可以将第一控制点、具有高程约束限制的第二控制点选择为当前起点或下一起点,从当前起点或下一起点开始遍历周边的其他控制位置点。
在一些实施例中,可以优先选择第一控制点作为当前起点或下一起点,在所有第一控制点被遍历过时,可以选择满足层高约束限制的第二控制点作为当前起点或下一起点,而在所有满足层高约束限制的第二控制点也均被遍历过时,则选择满足高程一致约束限制的第二控制点作为当前起点或下一起点。如果所有第一控制点、满足高程一致约束限制或者满足层高约束限制的第二控制点均被遍历过时,则停止当前轮的遍历;在需要的情况下,可以进行下一轮的遍历。
在本实施例的一个可选实现方式中,所述第一遍历子模块,包括:
第一计算子模块,被配置为基于所述当前起点的标精高程、道路层高参数和/或道路坡度参数计算当前遍历的所述第二控制点的标精高程;所述道路层高参数用于限制具有所述高程约束限制的上下层道路之间的层高间隔,所述道路坡度参数用于限制同一目标道路上相邻两控制位置点之间连线的斜率。
该可选的实现方式中,可以预先设定当前所使用的道路层高参数以及道路坡度参数,该道路层高参数和道路坡度参数可以基于现实道路之间的层高或者经验等数据预先确定,在此不做具体限制。
在当前起点的标精高程已知的情况下,可以基于道路坡度参数计算与该当前起点位于同一目标道路上的相邻第二控制点的标精高程,还可以基于道路层高参数计算与该当前起点具有层高约束限制的上层或下层道路上的第二控制点的标精高程,也可以确定与该当前起点具有高程一致约束限制的第二控制点的标精高程。
在一些实施例中,可以利用如下公式计算与该当前起点位于同一目标道路上的相邻第二控制点的标精高程:
Hneighbor=max(Hneighbor,hstart-d×s)
其中,Hneighbor为相邻第二控制点的标精高程,hstart为当前起点的标精高程,d为当前起点与相邻第二控制点的距离,s为路坡度参数,也即当前起点和相邻第二控制点之间连线的斜率。该公式中,如果相邻的第二控制点在其他过程如上一轮遍历或者在遍历其他目标道路时已经计算出一个标精高程,则可以选择新计算的标精高程和以计算的标精高程中更高的一个作为该目标道路的标精高程。
在本实施例的一个可选实现方式中,所述装置还包括:
第二获取模块,被配置为在完成一轮遍历之后,获取新的道路层高参数和新的道路坡度参数;
选择模块,被配置为从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
遍历模块,被配置为从所述当前起点出发,遍历周边的控制位置点,在当前遍历的第二控制点不满足上一轮遍历过程中使用的道路层高参数和/或道路坡度参数的限制时,基于所述当前起点的标精高程、新的道路层高参数和/或新的道路坡度参数计算当前遍历的所述第二控制点的标精高程。
该可选的实现方式中,如上文中所述,在一轮遍历过程中,从第一控制点或者具有高程约束限制的第二控制点出发进行遍历,针对遍历到的第二控制点计算高程,而在满足遍历停止条件后,选择下一起点,做进一步遍历,直到没有满足条件的起点为止。
完成一轮遍历之后,还可以检查一下是否所有的第二控制点的标精高程已经计算得到,并且该标精高程是否满足所有限制条件,例如是否均已经满足各种高程约束限制,如果均已经满足各种高程约束限制,则可以将当前遍历计算得到的结果作为最终的结果,从而结束道路高程的确定流程;而如果存在至少一个第二控制点的标精高程不满足高程约束限制的限制,则可以通过改变道路层高参数和/或道路坡度参数重新开始一轮的遍历。
在重新开始的一轮遍历过程中,由于上一轮遍历已经得到了满足各种高程约束限制的部分第二控制点的标精高程,因此在遍历过程中可以不再重新计算该部分第二控制点的标精高程,或者通过比较当前计算的标精高程和已计算的标精高程,将更符合要求的标精高程作为第二控制点的最终结果。
在一些实施例中,可以依然按照第一轮的方式进行遍历,在遍历到不满足上一轮道路层高参数和/或道路坡度参数的限制时,可以基于当前轮的道路层高参数和/或道路坡度参数计算第二控制点的当前标精高程。还需要说明的是,如果当前计算得到的第二控制点的标精高程小于或等于第二控制点已有的标精高程(可能是上一轮迭代计算的,也可能是通过遍历其他目标道路计算得到的),则不对第二控制点的标精高程进行更新,而是保留原来数值较大的标精高程。
在本实施例的一个可选实现方式中,所述第一选择子模块之前,所述装置还包括:
排序模块,被配置为将所述第一控制点和所述第二控制点分别按照多个目标道路之间从下到上和从上到下的层级关系进行正排序和逆排序,获得正排序结果和逆排序结果;
所述第一选择子模块,包括:
第二选择子模块,被配置为基于正排序结果和/或逆排序结果从前往后的顺序,选择排序最前的所述第一控制点、与其他控制位置点具有高程约束限制的第二控制点作为当前起点作为当前起点。
该可选的实现方式中,在遍历之前,可以预先对第一控制点和第二控制点进行排序,排序的方式有两种:正排序和逆排序。所谓正排序是指按照所有参与计算的目标道路之间的层级关系从下到上进行排序;也就是说,将处于下层的目标道路上的位置控制点(包括第一控制点和第二控制点)排序在前面,而将处于上层的目标道路的位置控制点排序在后面。所谓逆排序则与正排序相反,是指按照所有参与计算的目标道路之间的层级关系从上到下进行排序;也就是说,将处于上层的目标道路上的位置控制点(包括第一控制点和第二控制点)排序在前面,而将处于下层的目标道路的位置控制点排序在后面。
两种排序结果都可以在遍历过程中使用。
在一轮迭代中,可以先基于正排序结果,选择排在最前面的第一控制点、与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点(例如可以先选择第一控制点,在没有第一控制点可选的情况下,选择具有层高约束限制的第二控制点,在没有具有层高约束限制的第二控制点可选的情况下,选择具有高程一致约束限制的第二控制点),并基于所选择的当前起点进行遍历,计算遍历到的第二控制点的标精高程。
按照正排序结果完成所有遍历之后,可以基于逆排序结果重新进行遍历,也即基于逆排序结果选择排在最前面的第一控制点、与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点(例如可以先选择第一控制点,在没有第一控制点可选的情况下,选择具有层高约束限制的第二控制点,在没有具有层高约束限制的第二控制点可选的情况下,选择具有高程一致约束限制的第二控制点),并基于所选择的当前起点进行遍历,并计算遍历到的第二控制点的标精高程。
在按照正排序结果和逆排序结果均遍历完成之后,表示完成一轮的迭代。每一轮的迭代均可以按照上述方式。
需要说明的是,每一轮迭代使用的道路层高参数和/或道路坡度参数不同,道路层高参数可以随着迭代次数的增加而减少,道路坡度参数随着迭代次数的增加而增加,也就是说,下一轮迭代时道路之间的层高在减小,而坡度在增加。在一些实施例中,可以设置三组道路层高参数和道路坡度参数,利用该三组道路层高参数进行三轮迭代之后,基本上可以获得满足要求的第二控制点的标精高程。
在本实施例的一个可选实现方式中,所述遍历停止条件包括以下一种或多种的组合:
当前遍历的周边控制位置点为第一控制点;
当前遍历的周边控制位置点为已遍历过的第二控制点;
当前遍历的周边控制位置点为第二控制点,且针对所述第二控制点当前计算的标精高程大于或等于已计算的标精高程。
该可选的实现方式中,基于当前起点遍历周边第二控制点时,可以预先不区分第一控制点和第二控制点,而是基于当前起点遍历周边控制位置点,如果遇到第一控制点则可以停止遍历,或者遇到已经遍历过的控制位置点则可以停止遍历,或者当前计算得到的第二控制点的标精高程小于或等于该第二控制点已经计算得到的标精高程(可能是上一轮迭代计算的,也可能是通过遍历其他目标道路计算得到的)时,也可以停止遍历,并选择下一起点。
当然,可以理解的是,在以下一起点进行遍历时,也以上述条件作为遍历停止条件。
在本实施例的一个可选实现方式中,所述第二确定模块之前,所述装置还包括:
第一计算模块,被配置为基于所述第一控制点的标精高程以及初始道路坡度参数,计算所述第二控制点的初始高程,使得与所述第一控制点位于同一目标道路上相邻的所述第二控制点满足所述初始道路坡度参数的限制。
该可选的实现方式中,上文中记载了从第一控制点、与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点,进行多轮迭代计算第二控制点的标精高程。本实施例中,在进行多轮迭代之前,还可以基于第一控制点的标精高程、初始道路坡度参数对第二控制点的标精高程先进行初始化。
需要说明的是,该初始道路坡度参数可以与上述多轮迭代中第一轮迭代使用的道路坡度参数一样,或者小于第一轮迭代使用的道路坡度参数。
初始化过程中,可以仅基于第一控制点作为起点对周边的第二控制点进行遍历,并且基于初始道路坡度参数计算与第一控制点位于同一目标道路上的相邻第二控制点的标精高程,使得计算得到的第二控制点的标精高程与第一控制点的标精高程满足坡度一致约束限制,也即第一控制点和第二控制点之间道路的坡度为初始道路坡度参数的值。
需要说明的是,初始过程中也可以基于道路上下层关系进行正排序和逆排序后的结果选择起点。也即可以先基于正排序结果,选择排序最前的第一控制点作为起点进行遍历,满足遍历停止条件后,继续从正排序结果中选择排序靠前的下一第一控制点作为起点进行遍历,直到没有可选择的第一控制点为止。之后,再基于逆排序结果,选择排序最前的第一控制点作为起点进行遍历,满足遍历停止条件后,继续从逆排序结果中选择排序靠前的下一第一控制点作为起点进行遍历,直到没有可选择的第一控制点为止。
本公开实施例从高精道路数据的断口处的固定结点(也即目标道路的第一控制点)出发,将标精道路数据徐徐下降到地面,在没有高程约束限时,倾向于将道路贴到地面。
按照正排序结果或者逆排序结果选择起点,是为了先固定一个点(例如标精高程已知的第一控制点)的高度,抬升(或者压低)另一个点(与该第一控制点具有高程约束限制的第二控制点),使它们满足高度差要求。
在抬升(或者压低)一个点(例如标精高程已知的第一控制点)时,由于坡度平缓的要求,可以将该点所连接的其他点(相邻的第二控制点)也一起抬起来(或者压下去),类似于“拉渔网”的操作。
在本实施例的一个可选实现方式中,所述第一遍历子模块,包括:
第二遍历子模块,被配置为基于与所述当前起点之间的距离从小到大的顺序,遍历所述当前起点的周边控制位置点。
该可选的实现方式中,选定当前起点或者下一起点后,基于该起点选择要遍历的周边控制位置点时,可以基于该第二控制点与该起点的距离,由近及远的顺序进行遍历,也即先选择距离起点最近的控制位置点进行处理,之后再选择距离次近的控制位置点,以此类推,直到遍历完第一控制点周边的所有第二控制点或者满足遍历停止条件为止。
在一些实施例中,本公开实施例可以采用贪心算法选择起点周边控制位置点。例如可以在选定起点之后,采用迪杰斯特拉算法确定该起点周边控制位置点的遍历顺序。通过这种方式,可以降低遍历复杂度,提供计算效率。
在本实施例的一个可选实现方式中,所述第二确定模块之前,所述装置还包括:
第二计算模块,被配置为基于同一所述目标道路上相邻两个控制位置点的标精高程,计算所述目标道路上所述相邻两个控制位置点之间至少一个位置点的标精高程。
该可选的实现方式中,在第一控制点和第二控制点的标精高程均计算得到之后,可以通过插值方式得到目标道路上,相邻两个控制位置点之间任意一点的标精高程。该相邻两个控制位置点可以是第一控制点和第二控制点中的任意一种,该相邻两个控制点的标精高程已经得到,并且相邻两控制点之间的连线也即目标道路对应的线段一致,因此可以通过插值方式计算得到相邻两控制点之间任意一个位置点的标精高程。通过这种方式,目标道路上所有位置点的标精高程都可以计算得到,弥补了标精道路数据中没有高程数据的缺陷。
图5是适于用来实现根据本公开一实施方式的道路高程的确定方法和/或基于位置的服务提供方法的电子设备的结构示意图。
如图5所示,电子设备500包括处理单元501,其可实现为CPU、GPU、FPGA、NPU等处理单元。处理单元501可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行本公开上述任一方法的实施方式中的各种处理。在RAM503中,还存储有电子设备500操作所需的各种程序和数据。处理单元501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种道路高程的确定方法,其中,包括:
获取目标区域的标精道路数据和高精道路数据;所述目标区域内包括至少一条目标道路;
基于所述标精道路数据提取所述目标道路上的控制位置点;所述控制位置点包括所述目标道路的两个结点以及具有高程约束限制的位置点;
基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程;
基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程;所述坡度约束限制包括同一所述目标道路上相邻两个控制位置点之间的道路坡度为固定值。
2.根据权利要求1所述的方法,其中,所述高程约束限制包括道路之间的层高约束限制、高程一致约束限制中的一种或多种的组合。
3.根据权利要求1或2所述的方法,其中,基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程,包括:
基于所述标精道路数据和所述高精道路数据的道路映射关系将所述目标道路与所述高精道路数据进行匹配;
在所述目标道路被所述高精道路数据全部覆盖时,将所述目标道路上的所有控制位置点确定为第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程;
在所述目标道路被所述高精道路数据部分覆盖时,将所述目标道路上被所述高精道路数据覆盖部分的所述控制位置点确定为第一控制点,以及基于所述目标道路上覆盖部分和未覆盖部分的交界生成新的第一控制点,并从所述高精道路数据映射得到所述第一控制点的标精高程。
4.根据权利要求1或2所述的方法,其中,基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程,包括:
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
从所述当前起点出发,遍历周边的控制位置点,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,直至满足遍历停止条件;
选择下一起点作为当前起点,并重复从所述当前起点出发,遍历周边的控制位置点,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,直至满足遍历停止条件的步骤。
5.根据权利要求4所述的方法,其中,基于所述当前起点的标精高程、所述当前起点和所遍历的周边的第二控制点之间的高程约束限制和坡度约束限制计算所述第二控制点的标精高程,包括:
基于所述当前起点的标精高程、道路层高参数和/或道路坡度参数计算当前遍历的所述第二控制点的标精高程;所述道路层高参数用于限制具有所述高程约束限制的上下层道路之间的层高间隔,所述道路坡度参数用于限制同一目标道路上相邻两控制位置点之间连线的斜率。
6.根据权利要求4或5所述的方法,其中,所述方法还包括:
在完成一轮遍历之后,获取新的道路层高参数和新的道路坡度参数;
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点;
从所述当前起点出发,遍历周边的控制位置点,在当前遍历的第二控制点不满足上一轮遍历过程中使用的道路层高参数和/或道路坡度参数的限制时,基于所述当前起点的标精高程、新的道路层高参数和/或新的道路坡度参数计算当前遍历的所述第二控制点的标精高程。
7.根据权利要求4所述的方法,其中,从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点之前,所述方法还包括:
将所述第一控制点和所述第二控制点分别按照多个目标道路之间从下到上和从上到下的层级关系进行正排序和逆排序,获得正排序结果和逆排序结果;
从所述第一控制点或从与其他控制位置点具有高程约束限制的第二控制点选择一个作为当前起点,包括:
基于正排序结果和/或逆排序结果从前往后的顺序,选择排序最前的所述第一控制点、与其他控制位置点具有高程约束限制的第二控制点作为当前起点作为当前起点。
8.根据权利要求4所述的方法,其中,所述遍历停止条件包括以下一种或多种的组合:
当前遍历的周边控制位置点为第一控制点;
当前遍历的周边控制位置点为已遍历过的第二控制点;
当前遍历的周边控制位置点为第二控制点,且针对所述第二控制点当前计算的标精高程大于或等于已计算的标精高程。
9.根据权利要求1-2、5、7-8任一项所述的方法,其中,基于所述第一控制点的标精高程以及所述高程约束限制确定所述控制位置点中标精高程未知的第二控制点的标精高程之前,所述方法还包括:
基于所述第一控制点的标精高程以及初始道路坡度参数,计算所述第二控制点的初始高程,使得与所述第一控制点位于同一目标道路上相邻的所述第二控制点满足所述初始道路坡度参数的限制。
10.根据权利要求4所述的方法,其中,从所述当前起点出发,遍历周边的控制位置点,包括:
基于与所述当前起点之间的距离从小到大的顺序,遍历所述当前起点的周边控制位置点。
11.根据权利要求1-2、5、7-8、10任一项所述的方法,其中,基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程之前,所述方法还包括:
基于同一所述目标道路上相邻两个控制位置点的标精高程,计算所述目标道路上所述相邻两个控制位置点之间至少一个位置点的标精高程。
12.一种道路高程的确定装置,其中,包括:
第一获取模块,被配置为获取目标区域的标精道路数据和高精道路数据;所述目标区域内包括至少一条目标道路;
提取模块,被配置为基于所述标精道路数据提取所述目标道路上的控制位置点;所述控制位置点包括所述目标道路的两个结点以及具有高程约束限制的位置点;
第一确定模块,被配置为基于所述高精道路数据确定所述控制位置点中高精高程已知的第一控制点的标精高程;
第二确定模块,被配置为基于所述第一控制点的标精高程、所述高程约束限制以及坡度约束限制确定所述控制位置点中所述第一控制点和高精高程未知的第二控制点的标精高程;所述坡度约束限制包括同一所述目标道路上相邻两个控制位置点之间的道路坡度为固定值。
13.一种电子设备,其中,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现权利要求1-11任一项所述的方法。
14.一种计算机程序产品,其包括计算机指令,其中,该计算机指令被处理器执行时实现权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211289744.0A CN115615442A (zh) | 2022-10-20 | 2022-10-20 | 道路高程的确定方法、装置、电子设备及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211289744.0A CN115615442A (zh) | 2022-10-20 | 2022-10-20 | 道路高程的确定方法、装置、电子设备及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115615442A true CN115615442A (zh) | 2023-01-17 |
Family
ID=84865340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211289744.0A Pending CN115615442A (zh) | 2022-10-20 | 2022-10-20 | 道路高程的确定方法、装置、电子设备及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115615442A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116518960A (zh) * | 2023-06-28 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 路网更新方法、装置、电子设备和存储介质 |
CN116704148A (zh) * | 2023-08-09 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 地图中道路纵向层次数据处理方法及装置 |
CN117115381A (zh) * | 2023-10-24 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子设备 |
CN117723073A (zh) * | 2024-02-07 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
CN117723073B (zh) * | 2024-02-07 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
-
2022
- 2022-10-20 CN CN202211289744.0A patent/CN115615442A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116518960A (zh) * | 2023-06-28 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 路网更新方法、装置、电子设备和存储介质 |
CN116518960B (zh) * | 2023-06-28 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 路网更新方法、装置、电子设备和存储介质 |
CN116704148A (zh) * | 2023-08-09 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 地图中道路纵向层次数据处理方法及装置 |
CN116704148B (zh) * | 2023-08-09 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 地图中道路纵向层次数据处理方法及装置 |
CN117115381A (zh) * | 2023-10-24 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子设备 |
CN117115381B (zh) * | 2023-10-24 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子设备 |
CN117723073A (zh) * | 2024-02-07 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
CN117723073B (zh) * | 2024-02-07 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 高程调整方法、装置、设备、存储介质和计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115615442A (zh) | 道路高程的确定方法、装置、电子设备及计算机程序产品 | |
CN110415330B (zh) | 道路生成方法、装置、存储介质及电子设备 | |
KR20190082070A (ko) | 지도 생성 및 운동 객체 위치 결정 방법 및 장치 | |
CN110378175B (zh) | 道路边沿的识别方法和装置 | |
CN108734780B (zh) | 用于生成地图的方法、装置和设备 | |
US20230042968A1 (en) | High-definition map creation method and device, and electronic device | |
CN115272572A (zh) | 输电线路重建方法、装置、电子设备及存储介质 | |
CN111465936A (zh) | 确定地图上新道路的系统和方法 | |
CN113920217A (zh) | 用于生成高精地图车道线的方法、装置、设备和产品 | |
CN116594428A (zh) | 一种巡视航线的生成方法、装置、电子设备及存储介质 | |
CN114445312B (zh) | 一种地图数据的融合方法、装置、电子设备及存储介质 | |
KR20070099298A (ko) | 모바일 내비게이션용 3차원 형상정보 생성방법 및 장치 | |
CN116051777B (zh) | 超高层建筑提取方法、设备和可读存储介质 | |
CN117197639A (zh) | 真值获取方法、装置、电子设备及存储介质 | |
KR102041320B1 (ko) | 정밀 위치 기반의 최적화 3d 지도 제공 시스템 | |
CN116758503A (zh) | 车道线自动标注方法、装置、设备及存储介质 | |
CN115790621A (zh) | 高精地图更新方法、装置及电子设备 | |
US11112264B2 (en) | System and method for rendering an overpass object using map and link data | |
CN114723900A (zh) | 地面要素的轮廓绘制方法、电子设备及计算机程序产品 | |
CN113704304B (zh) | 路口数据处理方法、路口检索方法及装置 | |
CN114719872B (zh) | 车道线处理方法、装置及电子设备 | |
CN111461982B (zh) | 用于拼接点云的方法和装置 | |
JP6954169B2 (ja) | 仮想環境作成装置 | |
CN117606498A (zh) | 地图数据生成方法及设备 | |
CN115272928A (zh) | 目标检测方法、目标检测模型的训练方法及装置 |
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 |