CN113838207B - 地图数据的处理方法、装置、可读介质及电子设备 - Google Patents
地图数据的处理方法、装置、可读介质及电子设备 Download PDFInfo
- Publication number
- CN113838207B CN113838207B CN202111411165.4A CN202111411165A CN113838207B CN 113838207 B CN113838207 B CN 113838207B CN 202111411165 A CN202111411165 A CN 202111411165A CN 113838207 B CN113838207 B CN 113838207B
- Authority
- CN
- China
- Prior art keywords
- tunnel
- data
- boundary
- vault
- model
- 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.)
- Active
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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
- G09B29/006—Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
- G09B29/007—Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Ecology (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种地图数据的处理方法、装置、可读介质以及电子设备,涉及地图领域。所述方法包括:获取具有隧道属性的地图数据,具有隧道属性的地图数据包括隧道边界数据;根据隧道的墙体数据和隧道边界数据构建隧道的侧墙模型;根据隧道的拱顶数据和隧道边界数据构建隧道的拱顶模型;基于侧墙模型和拱顶模型生成具有隧道属性的地图数据所对应的隧道模型。本申请实施例提供的技术方案只依赖少量隧道相关信息即可构建地图中的隧道模型,降低了地图构建过程中的数据采集量,不仅降低了数据采集成本,而且提高了地图中隧道场景的构建效率。
Description
技术领域
本申请属于计算机及数据处理技术领域,具体涉及一种地图数据的处理方法、装置、可读介质以及电子设备。
背景技术
日常出行中,导航地图成为不可缺少的工具。随着软硬件技术的不断发展,地图的精细化程度也越来越高,特别是用于车辆导航的车道级导航地图。车道级导航地图对道路的描述更加精细,场景也更加逼真。而制作逼真场景需要提供各种精细化导航元素,这些元素依赖于人工实地采集真实场景数据进行建模重构得到。针对一些比较复杂的导航要素,如隧道、天桥等,如果依靠采集完整的要素数据来构建,不仅数据量巨大,而且对采集精度也有比较高的要求,如此,不仅需要耗费巨大的人力物力成本,地图构建效率也比较低下。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种地图数据的处理方法、装置、可读介质以及电子设备,以解决相关技术中地图隧道模型构建所需采集数据量大,效率低下的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种地图数据的处理方法,包括:
获取具有隧道属性的地图数据,所述具有隧道属性的地图数据包括隧道边界数据;
根据隧道的墙体数据和所述隧道边界数据构建隧道的侧墙模型;
根据隧道的拱顶数据和所述隧道边界数据构建隧道的拱顶模型;
基于所述侧墙模型和所述拱顶模型生成所述具有隧道属性的地图数据所对应的隧道模型。
根据本申请实施例的一个方面,提供一种地图数据的处理装置,包括:
数据获取模块,用于获取具有隧道属性的地图数据,所述具有隧道属性的地图数据包括隧道边界数据;
侧墙模型构建模块,用于根据隧道的墙体数据和所述隧道边界数据构建隧道的侧墙模型;
拱顶模型构建模块,用于根据隧道的拱顶数据和所述隧道边界数据构建隧道的拱顶模型;
隧道模型生成模块,用于基于所述侧墙模型和所述拱顶模型生成所述具有隧道属性的地图数据所对应的隧道模型。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和第二边界数据;侧墙模型构建模块包括:
第一侧墙模型构建单元,用于根据所述隧道的墙体数据对所述第一边界数据进行平移处理,生成第一侧墙模型;
第二侧墙模型构建单元,用于根据所述隧道的墙体数据对所述第二边界数据进行平移处理,生成第二侧墙模型;
侧墙模型构建单元,用于根据所述第一侧墙模型和所述第二侧墙模型构建所述隧道的侧墙模型。
在本申请的一个实施例中,所述隧道的墙体数据包括隧道墙高和隧道墙厚;所述第一侧墙模型构建单元包括:
第一外侧墙生成单元,用于根据所述隧道墙高将所述第一边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第一边界数据形成第一外侧墙;
第一内墙边界数据生成单元,用于根据所述隧道墙厚将所述第一边界数据沿朝向所述第二边界数据的方向进行水平平移处理,得到第一内墙边界数据;
第一内侧墙生成单元,用于根据所述隧道墙高将所述第一内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第一内墙边界数据形成第一内侧墙;
第一侧墙模型构建子单元,用于根据所述第一外侧墙和所述第一内侧墙生成所述第一侧墙模型。
在本申请的一个实施例中,所述隧道的墙体数据包括隧道墙高和隧道墙厚;所述第二侧墙模型构建单元包括:
第二外侧墙生成单元,用于根据所述隧道墙高将所述第二边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第二边界数据形成第二外侧墙;
第二内墙边界数据生成单元,用于根据所述隧道墙厚将所述第二边界数据沿朝向所述第一边界数据的方向进行水平平移处理,得到第二内墙边界数据;
第二内侧墙生成单元,用于根据所述隧道墙高将所述第二内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第二内墙边界数据形成第二内侧墙;
第二侧墙模型构建子单元,用于根据所述第二外侧墙和所述第二内侧墙生成所述第二侧墙模型。
在本申请的一个实施例中,拱顶模型构建模块包括:
外拱顶构建单元,用于根据所述隧道的拱顶数据对所述隧道边界数据进行椭圆拟合处理,生成隧道外拱顶;
拱顶内边界数据生成单元,用于根据所述隧道的拱顶数据对所述隧道边界数据进行平移处理,得到拱顶内边界数据;
内拱顶构建单元,用于根据所述隧道的拱顶数据对所述拱顶内边界数据进行椭圆拟合处理,生成隧道内拱顶;
拱顶模型构建单元,用于根据所述隧道外拱顶和所述隧道内拱顶构建所述隧道的拱顶模型。
在本申请的一个实施例中,所述隧道的拱顶数据包括隧道拱高和隧道拱厚;所述外拱顶构建单元具体用于:
将所述隧道边界数据所表示的隧道边界距离的一半作为椭圆长半轴,将所述隧道拱高与所述隧道拱厚之和作为椭圆短半轴,生成第一拟合椭圆,并将所述第一拟合椭圆上凸的一侧作为所述隧道外拱顶。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和所述第二边界数据,所述第一边界数据上的道路数据点与所述第二边界数据上的道路数据点在水平方向上相对应且组成多个点对;所述外拱顶构建单元具体用于:
将各个所述点对之间距离的一半作为椭圆长半轴,将所述隧道拱高与所述隧道拱厚之和作为椭圆短半轴,生成各个所述点对所对应的第一拟合椭圆,并将各个所述点对对应的第一拟合椭圆上凸的一侧作为各个所述点对对应的外拱面轨迹;
根据所述多个点对分别对应的外拱面轨迹生成所述隧道外拱顶。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和第二边界数据,所述隧道的拱顶数据包括隧道拱厚;拱顶内边界数据生成单元具体用于:
根据所述隧道拱厚将所述第一边界数据沿朝向所述第二边界数据的方向进行水平平移处理,得到第一拱顶内边界数据;
根据所述隧道拱厚将所述第二边界数据沿朝向所述第一边界数据的方向进行水平平移处理,得到第二拱顶内边界数据;
将所述第一拱顶内边界数据和所述第二拱顶内边界数据作为所述拱顶内边界数据。
在本申请的一个实施例中,所述内拱顶构建单元具体用于:
将所述拱顶内边界数据所表示的拱顶内边界距离的一半作为椭圆长半轴,将所述隧道拱高作为椭圆短半轴,生成第二拟合椭圆,并将所述第二拟合椭圆上凸的一侧作为所述隧道内拱顶。
在本申请的一个实施例中,所述地图数据还包括隧道中的车道数据;所述装置还包括:
参考车道数据生成模块,用于根据所述隧道中的车道数据进行等距离采样处理,以生成包含多个均匀分布的道路数据点的参考车道数据;
边界数据预处理模块,用于根据所述参考车道数据中的道路数据点对所述隧道边界数据进行预处理,以使所述隧道边界数据中的道路数据点分布均匀且与所述参考车道数据中的道路数据点相对应。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和第二边界数据;所述边界数据预处理模块具体用于:
计算所述参考车道数据中的每个道路数据点的内法向量和外法向量;
将所述内法向量与所述第一边界数据所形成的第一边界的交点作为预处理后的所述第一边界数据中的道路数据点;
将所述外法向量与所述第二边界数据所形成的第二边界的交点作为预处理后的所述第二边界数据中的道路数据点。
在本申请的一个实施例中,隧道模型生成模块包括:
三角化单元,用于将所述侧墙模型与所述拱顶模型拼接,并对拼接后的模型进行三角化处理,得到隧道重构模型;
渲染单元,用于对所述隧道重构模型进行渲染处理,生成所述具有隧道属性的地图数据所对应的隧道模型。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的地图数据的处理方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的地图数据的处理方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的地图数据的处理方法。
在本申请实施例提供的技术方案中,通过具有隧道属性的地图数据和隧道数据构建隧道的侧墙模型和拱顶模型,然后将侧墙模型和拱顶模型结合得到隧道模型,由于使用的是具有隧道属性的地图数据,而不是完整采集的实际隧道所对应的数据,如此,只依赖少量隧道相关信息即可构建地图中的隧道模型,降低了地图构建过程中的数据采集量,不仅降低了数据采集成本,而且提高了地图中隧道场景的构建效率。同时,本申请技术方案相当于将隧道拆分成多个部分,分别针对每个部分构建模型,最后将各个部分的模型组合起来形成完整的隧道模型,各个部分的模型可以同步构建,从而增加隧道模型的构建速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
图2示意性地示出了本申请一个实施例提供的地图数据的处理方法的流程图。
图3示出了本申请一个具体实施例中形成第一内侧墙的过程。
图4示出了本申请一个具体实施例中对车道数据进行等距离采样的过程的示意图。
图5示出了一个具体实施例对隧道边界数据进行预处理的过程的示意图。
图6示出了本申请一个具体实施例中生成隧道外拱顶的过程的示意图。
图7示出了本申请一个具体实施例中隧道模型的前后侧面的形成过程的示意图。
图8示出了本申请一个具体实施例提供的隧道模型的示意图。
图9示出了本申请一个具体实施例提供三角化处理的示意图。
图10示出了本申请一个具体实施例提供的地图数据的处理方法的流程图。
图11示意性地示出了本申请实施例提供的地图数据的处理装置的结构框图。
图12示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
如图1所示,系统架构100可以包括终端设备110、网络120和服务器130。终端设备110包括但不限于智能手机、平板电脑、笔记本电脑、智能语音交互设备、车载终端等等。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的系统架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
举例而言,服务器130获取具有隧道属性的地图数据,该地图数据包括隧道边界数据,该地图数据可以通过终端设备110采集。然后,服务器130根据隧道的墙体数据和隧道边界数据构建隧道的侧墙模型,以及,根据隧道的拱顶数据和隧道边界数据构建隧道的拱顶模型。最后服务器130基于侧墙模型和拱顶模型生成具有隧道属性的地图数据所对应的隧道模型。
在本申请的一个实施例中,服务器130在构建隧道模型之后,可以将隧道模型通过网络120返回给终端设备110,进而终端设备110可以向用户展示隧道模型。
在本申请的一个实施例中,本申请实施例提供的地图数据的处理方法由服务器130执行,服务器130用于接收终端设备110所上传的具有隧道属性的地图数据,并基于具有隧道属性的地图数据构建隧道模型,相应地,地图数据的处理装置一般设置于服务器130中。但本领域技术人员容易理解的是,本申请实施例提供的地图数据的处理方法也可以由终端设备110执行,相应地,地图数据的处理装置也可以设置于终端设备110中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,终端设备110用于采集具有隧道属性的地图数据,并基于该地图数据构建隧道的侧墙模型和拱顶模型,最后根据侧墙模型和拱顶模型生成隧道模型。
下面结合具体实施方式对本申请提供的地图数据的处理方法做出详细说明。
图2示意性地示出了本申请一个实施例提供的地图数据的处理方法的流程图,该方法可以由终端设备实施,如图1所示的终端设备110;该方法也可以由服务器实施,如图1所示的服务器130。如图2所示,本申请实施例提供的地图数据的处理方法包括步骤210至步骤240,具体如下:
步骤210、获取具有隧道属性的地图数据,具有隧道属性的地图数据包括隧道边界数据。
具体的,地图数据是指实地采集的能够绘制地图的数据。地图数据中的数据通常具有一定的属性,数据的属性通常用于描述该数据所处环境,或该数据与其他数据的关系,例如,穿过隧道的车道所对应的地图数据在其属性中标记隧道,穿过天桥的车道所对应的地图数据在其属性中标记天桥。一般的,当一条车道穿过隧道时,车道的边界与隧道的边界是重合的,故而具有隧道属性的地图数据中的车道边界数据也就是隧道边界数据。
在本申请实施例中,由于要构建隧道模型,故而获取具有隧道属性的地图数据进行相关处理。这也可以看出,本申请实施例获取的地图数据是具有隧道属性的车道数据即可,而无需具备完整采集的实际隧道所对应的数据。
步骤220、根据隧道的墙体数据和隧道边界数据构建隧道的侧墙模型。
具体的,隧道的侧墙是隧道与车道边界相连接、直立向上的墙体结构,隧道的墙体数据就是该墙体结构的参数,如隧道墙厚、隧道墙高、墙体长度等。根据隧道的墙体数据对隧道边界数据进行一些平移操作,即可形成具有一定高度、厚度和长度的侧墙模型。
在本申请的一个实施例中,隧道边界数据至少包括两条边界数据,记为第一边界数据和第二边界数据。
在本申请的一个实施例中,侧墙模型的构建过程具体为:根据隧道的墙体数据对第一边界数据进行平移处理,生成第一侧墙模型;根据隧道的墙体数据对第二边界数据进行平移处理,生成第二侧墙模型;根据第一侧墙模型和第二侧墙模型构建隧道的侧墙模型。
具体而言,就是将隧道的侧墙模型分为两个部分,与第一边界数据连接的第一侧墙模型和与第二边界数据连接的第二侧墙模型,那么第一侧墙模型根据隧道的墙体数据对第一边界数据进行平移处理得到,第二侧墙模型根据隧道的墙体数据对第二边界数据进行平移处理得到。
在本申请的一个实施例中,第一侧墙模型的生成过程具体包括:根据隧道墙高将第一边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第一边界数据形成第一外侧墙;根据隧道墙厚将第一边界数据沿朝向第二边界数据的方向进行水平平移处理,得到第一内墙边界数据;根据隧道墙高将第一内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第一内墙边界数据形成第一内侧墙;根据第一外侧墙和第一内侧墙生成第一侧墙模型。
具体的,本实施例将第一侧墙模型分为两个部分构建:第一外侧墙和第一内侧墙,第一外侧墙是第一侧墙模型中距离车道中心较远的一面,第一内侧墙是第一侧墙模型中距离车道中心较近的一面。
形成第一外侧墙的过程为:将第一边界数据竖直向上平移与隧道墙高等同的距离,平移前的第一边界数据与平移后的第一边界数据限定了一个平面,该平面即为第一侧墙模型中的第一外侧墙。
形成第一内侧墙的过程为:将第一边界数据沿朝向第二边界数据的方向水平平移与隧道墙厚等同的距离,水平平移后的第一边界数据记为第一内墙边界数据。然后将第一内墙边界数据竖直向上平移与隧道墙高等同的距离,平移前的第一内墙边界数据与平移后的第一内墙边界数据限定了一个平面,该平面即为第一侧墙模型中的第一内侧墙。
在本申请的一个实施例中,形成第一外侧墙后,可以直接将第一外侧墙沿朝向第二边界数据的方向水平平移与隧道墙厚等同的距离,形成第一内侧墙。
第一外侧墙与第一内侧墙之间的距离就是第一边界数据水平平移的距离,也就是隧道墙厚。第一外侧墙的高度与第一内侧墙的高度相等,为第一边界数据竖直平移的距离,也就是隧道墙高。需要说明的是,由于隧道边界数据是地图数据中具有隧道属性的数据,也就是说,隧道边界数据实际上已经体现了隧道长度,也就是隧道侧墙的墙体长度,故而第一外侧墙的长度或者第一内侧墙的长度等同于第一边界数据的长度,也就是墙体长度。由此,连接第一外侧墙和第一内侧墙,即可形成具有一定厚度、高度和长度的第一侧墙模型。
在本申请的一个实施例中,第二侧墙模型的生成过程具体包括:根据隧道墙高将第二边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第二边界数据形成第二外侧墙;根据隧道墙厚将第二边界数据沿朝向第一边界数据的方向进行水平平移处理,得到第二内墙边界数据;根据隧道墙高将第二内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第二内墙边界数据形成第二内侧墙;根据第二外侧墙和第二内侧墙生成第二侧墙模型。
具体的,第二侧墙模型的生成过程与第一侧墙模型的生成过程类似。本实施例将第二侧墙模型分为两个部分构建:第二外侧墙和第二内侧墙,第二外侧墙是第二侧墙模型中距离车道中心较远的一面,第二内侧墙是第二侧墙模型中距离车道中心较近的一面。
形成第二外侧墙的过程为:将第二边界数据竖直向上平移与隧道墙高等同的距离,平移前的第二边界数据与平移后的第二边界数据限定了一个平面,该平面即为第二侧墙模型中的第二外侧墙。
形成第二内侧墙的过程为:将第二边界数据沿朝向第一边界数据的方向水平平移与隧道墙厚等同的距离,水平平移后的第二边界数据记为第二内墙边界数据。然后将第二内墙边界数据竖直向上平移与隧道墙高等同的距离,平移前的第二内墙边界数据与平移后的第二内墙边界数据限定了一个平面,该平面即为第二侧墙模型中的第二内侧墙。
在本申请的一个实施例中,形成第二外侧墙后,可以直接将第二外侧墙沿朝向第一边界数据的方向水平平移与隧道墙厚等同的距离,形成第二内侧墙。
在本申请的一个实施例中,隧道边界数据包括多个道路数据点,第一边界数据上的道路数据点与第二边界数据上的道路数据点在水平方向上相对应。在对隧道边界数据进行平移处理时,实际上也是对隧道边界数据包括的多个道路数据点进行平移处理。
在根据隧道墙厚将第一边界数据沿朝向第二边界数据的方向进行水平平移处理时,实际上是将第一边界数据中的各道路数据点沿朝向第二边界数据中对应道路数据点的方向移动。同理可知,在根据隧道墙厚将第二边界数据沿朝向第一边界数据的方向进行水平平移处理时,实际上是将第二边界数据中的各道路数据点沿朝向第一边界数据中对应道路数据点的方向移动。
示例性的,图3示出了本申请一个具体实施例中形成第一内侧墙的过程。如图3所示,第一边界数据310的各个道路数据点与第二边界数据320的各个道路数据点相互对应,其中,第一边界数据310为左侧边线数据,第二边界数据320为右侧边线数据。在将第一边界数据310沿朝向第二边界数据320的方向水平移动时,就是将第一边界数据310中的各道路数据点沿朝向第二边界数据320中对应道路数据点的方向移动,如图3中第一边界数据310中的道路数据点与第二边界数据320中对应道路数据点之间的箭头所指示的方向。当第一边界数据310移动与隧道墙厚等同的距离后,形成第一内墙边界数据311,然后将第一内墙边界数据311沿竖直向上方向移动与隧道墙高等同距离,也就是沿Z轴方向移动,形成第一内墙上边界数据312。最后根据第一内墙边界数据311和第一内墙上边界数据312形成第一内侧墙330(也即左内侧侧墙)。
可以理解,在本申请实施例中,第一边界数据是作为第一外侧墙的数据,在可选实施例中,第一边界数据也可以作为第一内侧墙的数据,在这种情况下,第一侧墙模型的生成过程为:根据隧道墙高将第一边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第一边界数据形成第一内侧墙;根据隧道墙厚将第一边界数据沿远离第二边界数据的方向进行水平平移处理,得到第一外墙边界数据;根据隧道墙高将第一外墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第一外墙边界数据形成第一外侧墙;根据第一外侧墙和第一内侧墙生成第一侧墙模型。
相对应的,第二侧墙模型的生成过程为:根据隧道墙高将第二边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第二边界数据形成第二内侧墙;根据隧道墙厚将第二边界数据沿远离第一边界数据的方向进行水平平移处理,得到第二外墙边界数据;根据隧道墙高将第二外墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的第二外墙边界数据形成第二外侧墙;根据第二外侧墙和第二内侧墙生成第二侧墙模型。
在本申请的一个实施例中,获取的地图数据还包括隧道中的车道数据。在构建侧墙模型之前,还可以根据隧道中的车道数据对隧道边界数据进行预处理,从而使第一边界数据上的道路数据点与第二边界数据上的道路数据点分布均匀,且在水平方向上相对应。
在本申请的一个实施例中,根据隧道中的车道数据对隧道边界数据进行预处理的过程具体为:根据隧道中的车道数据进行等距离采样处理,以生成包含多个均匀分布的道路数据点的参考车道数据;根据参考车道数据中的道路数据点对隧道边界数据进行预处理,以使隧道边界数据中的道路数据点分布均匀且与参考车道数据中的道路数据点相对应。
具体的,隧道中的车道数据是由实际采样的多个道路数据点构成的车道数据,而采样的多个道路数据点不一定是均匀分布的,因此,首先对隧道中的车道数据进行等距离采样处理,以生成包含多个均匀分布的道路数据点的参考车道数据,其中,等距离采样所设定距离可以根据实际需要进行设定。示例性的,如图4所示,隧道中的车道数据410中的多个道路数据点不是均匀分布,经过等距离采样,形成了道路数据点均匀分布的参考车道数据420。
在获得参考车道数据后,再根据参考车道数据对隧道边界数据进行预处理,使得隧道边界数据中的道路数据点分布均匀且与参考车道数据中的道路数据点相对应,从而使得第一边界数据上的道路数据点与第二边界数据上的道路数据点分布均匀,且在水平方向上相对应。
在本申请的一个实施例中,根据参考车道数据对隧道边界数据进行预处理的过程具体为:计算参考车道数据中的每个道路数据点的内法向量和外法向量;将内法向量与第一边界数据所形成的第一边界的交点作为预处理后的第一边界数据中的道路数据点;将外法向量与第二边界数据所形成的第二边界的交点作为预处理后的第二边界数据中的道路数据点。
具体的,预处理就是将参考车道数据中每个道路数据点的法向量与隧道边界线的交点作为隧道边界数据中的道路数据点。参考车道数据中每个道路数据点的法向量包括内法向量和外法向量,内法向量是指向道路数据点所在曲线内侧的法向量,外法向量是指向道路数据点所在曲线外侧的法向量。本实施例中,将内法向量与第一边界数据所形成的第一边界的交点作为预处理后的第一边界数据中的道路数据点,将外法向量与第二边界数据所形成的第二边界的交点作为预处理后的第二边界数据中的道路数据点。可以理解,当道路形状发生变化时,也可以是将外法向量与第一边界数据所形成的第一边界的交点作为预处理后的第一边界数据中的道路数据点,将内法向量与第二边界数据所形成的第二边界的交点作为预处理后的第二边界数据中的道路数据点。
示例性的,图5示出了一个具体实施例对隧道边界数据进行预处理的过程。如图5所示,在预处理之前,第一边界数据510中的道路数据点以及第一边界数据520中的道路数据点都不是均匀分布的,当根据参考车道数据530对第一边界数据510和第一边界数据520进行预处理之后,可以得到道路数据点均匀分布的第一边界数据510'和第一边界数据520'。
可以理解,对隧道边界数据进行预处理之后,后续将根据与处理后的隧道边界数据构建隧道的侧墙模型和拱顶模型。
继续参考图2,步骤230、根据隧道的拱顶数据和隧道边界数据构建隧道的拱顶模型。
具体的,隧道的拱顶是指形成隧道顶部的弧形结构。隧道的拱顶数据包括隧道拱高和隧道拱厚,隧道拱厚是指该弧形结构的厚度,一般的,隧道拱厚与隧道墙厚相等;隧道拱高是指该弧形结构的最高点与最低点之间的距离,在本申请实施例中,该最高点指拱顶内表面的最高点,该最低点指隧道拱顶与隧道墙体的连接点。
由于隧道拱顶是与隧道墙体连接的,隧道边界数据也是拱顶边界数据,根据隧道的拱顶数据和隧道边界数据构建拟合椭圆,该拟合椭圆在隧道边界数据之间的上凸弧形结构就相当于形成隧道顶部的弧形结构。
在本申请的一个实施例中,构建隧道的拱顶模型的过程具体包括:根据隧道的拱顶数据对隧道边界数据进行椭圆拟合处理,生成隧道外拱顶;据隧道的拱顶数据对隧道边界数据进行平移处理,得到拱顶内边界数据;根据隧道的拱顶数据对拱顶内边界数据进行椭圆拟合处理,生成隧道内拱顶;根据隧道外拱顶和隧道内拱顶构建隧道的拱顶模型。
具体的,由于隧道拱顶具有一定厚度,故而隧道拱顶具有两个,将隧道拱顶距离车道较近的一面称为隧道内拱顶,将隧道拱顶距离车道较远的一面称为隧道内拱顶,分别生成隧道内拱顶和隧道外拱顶,即可得到隧道拱顶模型。
在本申请实施例中,隧道拱顶模型的生成暂不考虑隧道拱顶距离车道地面的高度,即不考虑隧道墙高,如此,可以将隧道边界数据视为隧道拱顶的边界数据,也就是隧道拱顶与隧道墙体的连接边界数据。可以理解,在实际情况中,隧道拱顶的边界数据应为隧道边界数据竖直向上平移与隧道墙体等同的距离后所形成的边界数据,将该竖直平移后的边界数据作为隧道拱顶边界数据来构建隧道的拱顶模型也是可行的,只需将本申请实施例中的隧道边界数据更改为该竖直平移后的边界数据即可,在此不再赘述。
在不考虑隧道拱顶模型距离车道地面高度的情况下,隧道边界数据相当于隧道外拱顶的边界数据,根据隧道拱顶数据对隧道边界数据进行椭圆拟合处理,得到隧道外拱顶的边界数据之间的拟合椭圆,该拟合椭圆上凸一侧的弧形结构就相当于隧道外拱顶。
隧道内拱顶依赖于隧道内拱顶的边界数据,即拱顶内边界数据,故而先根据隧道的拱顶数据对隧道边界数据进行平移处理,得到拱顶内边界数据;然后根据隧道的拱顶数据对拱顶内边界数据进行椭圆拟合处理,得到拱顶内边界数据之间的拟合椭圆,该拟合椭圆上凸一侧的弧形结构就相当于隧道内拱顶。
在本申请的一个实施例中,对隧道边界数据进行椭圆拟合生成隧道外拱顶的过程具体为:将隧道边界数据所表示的隧道边界距离的一半作为椭圆长半轴,将隧道拱高与隧道拱厚之和作为椭圆短半轴,生成第一拟合椭圆,并将第一拟合椭圆上凸的一侧作为隧道外拱顶。
相对应的,对拱顶内边界数据进行椭圆拟合生成隧道内拱顶的过程具体为:将拱顶内边界数据所表示的拱顶内边界距离的一半作为椭圆长半轴,将隧道拱高作为椭圆短半轴,生成第二拟合椭圆,并将第二拟合椭圆上凸的一侧作为隧道内拱顶。
具体的,对于隧道外拱顶,隧道边界数据所表示的隧道边界距离相当于隧道外拱顶所对应椭圆的长轴,那么,该隧道边界距离的一半就是拟合椭圆的长半轴,隧道拱高与隧道拱厚(或隧道墙厚)之和即为椭圆短半轴,由该椭圆长半轴和该椭圆短半轴即可生成第一拟合椭圆,该第一拟合椭圆上凸一侧的弧形即为隧道外拱顶。
对于隧道内拱顶,拱顶内边界数据所表示的拱顶内边界距离相当于隧道内拱顶所对应椭圆的长轴,那么,该拱顶内边界距离的一半就是拟合椭圆的长半轴,隧道拱高即为椭圆短半轴,由该椭圆长半轴和该椭圆短半轴即可生成第二拟合椭圆,该第二拟合椭圆上凸一侧的弧形即为隧道内拱顶。
在本申请的一个实施例中,隧道边界数据包括第一边界数据和第二边界数据,第一边界数据上的道路数据点与第二边界数据上的道路数据点在水平方向上相对应且组成多个点对。那么,对隧道外拱顶进行椭圆拟合的一种方式可以是:将各个点对之间距离的一半作为椭圆长半轴,将隧道拱高与隧道拱厚之和作为椭圆短半轴,生成各个点对所对应的第一拟合椭圆,并将各个点对对应的第一拟合椭圆上凸的一侧作为各个点对对应的外拱面轨迹;根据多个点对分别对应的外拱面轨迹生成隧道外拱顶。
具体的,就是分别针对每个点对进行椭圆拟合,生成每个点对所对应的第一拟合椭圆,一个点对所对应的第一拟合椭圆上凸的弧形侧就相当于该点对所对应的外拱面轨迹,最后将所有点对所对应的外拱面轨迹结合,形成弧形面结构,也就是隧道外拱顶。例如,对所有点对所对应的外拱面轨迹进行平滑处理,形成弧形面结构的隧道外拱顶。
对每个点对进行椭圆拟合处理时,每个点对之间距离的一半就是椭圆长半轴,隧道拱高与隧道拱厚之和就是椭圆短半轴,由每个点对所对应的椭圆长半轴和椭圆短半轴即可生成每个点对所对应的第一拟合椭圆。
示例性的,图6示出了本申请一个具体实施例中生成隧道外拱顶的过程。如图6所示,第一边界数据上的道路数据点611与水平方向相对应的第二边界数据上的道路数据点612形成点对610,将点对610所表示距离的一半(也就是第一边界数据上的道路数据点611与第二边界数据上的道路数据点612之间距离的一半)作为椭圆长半轴,将隧道拱高与隧道拱厚之和作为椭圆短半轴,生成点对610所对应的第一拟合椭圆,该第一拟合椭圆上凸的弧形侧即为该点对610所对应的外拱面轨迹620。最后连接所有点对所对应的外拱面轨迹,生成隧道外拱顶630。
相对应的,隧道内拱顶的椭圆拟合方式与隧道外拱顶的椭圆拟合方式相似,生成隧道内拱顶所需的各个点对为拱顶内边界数据中的各个点对,得到拱顶内边界数据中的各个点对的方式为:根据隧道拱厚将第一边界数据沿朝向第二边界数据的方向进行水平平移处理,得到第一拱顶内边界数据;根据隧道拱厚将第二边界数据沿朝向第一边界数据的方向进行水平平移处理,得到第二拱顶内边界数据;将第一拱顶内边界数据和第二拱顶内边界数据作为拱顶内边界数据。
具体的,将第一边界数据沿朝向第二边界数据的方向水平平移与隧道拱厚相等的距离,即得到第一拱顶内边界数据;将第二边界数据沿朝向第一边界数据的方向水平平移与隧道拱厚相等的距离,即得到第二拱顶内边界数据。当隧道拱厚与隧道墙厚相等时,可以将第一内墙边界数据作为第一拱顶内边界数据,第二内墙边界数据作为第二拱顶内边界数据。
第一拱顶内边界数据和第二拱顶内边界数据就是拱顶内边界数据,那么,拱顶内边界数据中的各个点对,就是第一拱顶内边界数据上的道路数据点与第二拱顶内边界数据上的道路数据点在水平方向上相对应的各个点对。如此,隧道内拱顶的椭圆拟合方式可以是:将各个点对之间距离的一半作为椭圆长半轴,将隧道拱高作为椭圆短半轴,生成各个点对所对应的第二拟合椭圆,并将各个点对对应的第二拟合椭圆上凸的一侧作为各个点对对应的内拱面轨迹;根据多个点对分别对应的内拱面轨迹生成隧道内拱顶。
隧道内拱顶的椭圆拟合方式与隧道外拱顶的椭圆拟合方式相似,具体过程可参考前文描述,在此不再赘述。
在本申请的一些实施例中,可以先构建隧道的侧墙模型,再构建隧道的拱顶模型;也可以先构建隧道的拱顶模型,再构建隧道的侧墙模型;还可以同时构建隧道的侧墙模型和拱顶模型;也即,本申请对构建侧墙模型和构建拱顶模型的执行顺序不做限定。
继续参考图2,步骤240、基于侧墙模型和拱顶模型生成具有隧道属性的地图数据所对应的隧道模型。
具体的,得到隧道的侧墙模型和拱顶模型之后,隧道的形状可以确定。将侧墙模型和拱顶模型拼接起来,形成隧道模型,最后对隧道模型进行渲染处理,即可得到具有隧道属性的地图数据所对应的、可以展示的隧道模型。
在本申请实施例提供的技术方案中,通过具有隧道属性的地图数据和隧道数据构建隧道的侧墙模型和拱顶模型,然后将侧墙模型和拱顶模型结合得到隧道模型,由于使用的是具有隧道属性的地图数据,而不是完整采集的实际隧道所对应的数据,如此,只依赖少量隧道相关信息即可构建地图中的隧道模型,降低了地图构建过程中的数据采集量,不仅降低了数据采集成本,而且提高了地图中隧道场景的构建效率。同时,本申请技术方案相当于将隧道拆分成多个部分,分别针对每个部分构建模型,最后将各个部分的模型组合起来形成完整的隧道模型,各个部分的模型可以同步构建,从而增加隧道模型的构建速度。
在本申请的一个实施例中,根据侧墙模型和拱顶模型生成隧道模型的具体过程为:将侧墙模型与拱顶模型拼接,并对拼接后的模型进行三角化处理,得到隧道重构模型;对隧道重构模型进行渲染处理,生成具有隧道属性的地图数据所对应的隧道模型。
具体的,将侧墙模型与拱顶模型拼接,就是将侧墙与拱顶相接处的边连接起来,形成拼接的模型,该拼接的模型是未经渲染的隧道模型。
在本申请的一个实施例中,如果前序步骤所形成的侧墙模型或拱顶模型没有在厚度方向上连接,例如,侧墙模型中的第一侧墙模型包括第一外侧墙和第一内侧墙,但是没有将第一外侧墙和第一内侧墙连接起来,也就是第一侧墙模型不具备厚度,那么,在拼接时,需要将第一外侧墙和第一内侧墙的首部顶点连接起来,以及尾部顶点连接起来。首部顶点连接后可构成隧道模型在长度方向上的前侧面,尾部顶点连接起来可构成隧道模型在长度方向上的后侧面,前后侧面使得模型在厚度方向上封闭。
示例性的,图7示出了隧道模型的前后侧面的形成过程。图7中以第一侧墙模型为例,第一侧墙模型包括第一外侧墙710和第一内侧墙720,在长度方向上,第一外侧墙710包括首部顶点A1、A2和尾部顶点A3、A4,第一内侧墙720包括首部顶点B1、B2和尾部顶点B3、B4。连接第一外侧墙710的首部顶点A1和第一内侧墙720的首部顶点B1(如图7中虚线所示),以及第一外侧墙710的首部顶点A2和第一内侧墙720的首部顶点B2(如图7中虚线所示),即形成隧道模型在长度方向上的前侧面A1B1B2A2。连接第一外侧墙710的尾部顶点A3和第一内侧墙720的尾部顶点B3(如图7中虚线所示),以及第一外侧墙710的尾部顶点A4和第一内侧墙720的尾部顶点B4(如图7中虚线所示),即形成隧道模型在长度方向上的后侧面A3B3B4A4。
图7仅示出了第一侧墙模型形成隧道前后侧面的过程,可以理解,第二侧墙模型可以按照相同的方式形成隧道前后侧面,本申请实施例不再赘述。最终拼接所形成的模型如图8所示,拼接的模型包括侧墙模型与拱顶模型830,侧墙模型包括第一侧墙模型810和第二侧墙模型820。为了体现隧道模型的前后侧面,拼接的模型还包括前侧面840和后侧面(由于角度原因图8中未示出后侧面)。从图8可以看出,前侧面840由三个子侧面构成,后侧面与前侧面840为相同结构。
模型拼接之后,需要渲染才能够展示。在本申请实施例中,模型渲染采用OpenGL(Open Graphics Library,开放图形库)技术,而OpenGL技术不支持直接渲染凹多边形(凹多边形是指至少有一个优角的多边形),因此,在渲染之前,需要将拼接的模型转换成由凸多边形(凹多边形是指没有一个内角是优角的多边形)构成的模型,三角化处理这种转换的一种处理方式。三角化处理是将凹多边形转化为由一组三角形构成的图形。示例性的,三角化处理的过程如图9所示,由图9可见,三角化处理后的图形由一组三角形(即多个三角形)构成。
本申请实施例将隧道模型拆分为侧墙模型和拱顶模型,在实际情况中,也可以将隧道模型拆分为更多的结构分别进行建模,例如,当隧道较长时,从长度方向上将隧道拆分为多段,然后再将每段隧道拆分为侧墙模型和拱顶模型。
图10示出了本申请一个具体实施例提供的地图数据的处理方法的流程图。如图10所示,地图数据的处理方法包括:
步骤1001、从高精地图数据中提取具有隧道属性的地图数据作为隧道数据。高精地图数据是指实地采集的精度较高的地图数据。该隧道数据包括隧道边界数据和隧道中的车道数据。隧道中的车道数据可以是任意一条车道数据。图10所示流程中,将隧道数据分成了三份,分别针对每份隧道数据构建隧道模型,最后将三份隧道数据的模型结合,即可形成完整隧道模型。
步骤1002、根据提取的隧道数据,从三个方面构建隧道结构:墙面、拱面和侧面。墙面是指隧道侧墙的墙面,一个隧道模型共具备4个墙面:第一外侧墙、第一内侧墙、第二外侧墙和第二内侧墙。拱面是指隧道拱顶的内外面,一个隧道模型共具备2个拱面:隧道外拱顶和隧道内拱顶。侧面则指隧道长度方向上的前后侧面,隧道拱顶和隧道侧墙将隧道侧面划分成了三个部分,故而前侧面包括3个子侧面,后侧面包括3个子侧面,一个隧道模型共具备6个子侧面。每一份隧道数据均从上述三个方面构建隧道结构。
本步骤的过程具体包括:首先对隧道中的车道数据进行等距离采样处理,生成包含多个均匀分布的道路数据点的参考车道数据。然后根据参考车道数据对隧道边界数据进行预处理,隧道边界数据中的道路数据点分布均匀且与参考车道数据中的道路数据点相对应。接下来根据预处理后的隧道边界数据和隧道的墙体数据构建隧道的侧墙模型,以及,根据预处理后的隧道边界数据和隧道的拱顶数据构建隧道的拱顶模型,并且,连接侧墙模型的首尾顶点形成隧道的前后侧面。
步骤1003、根据隧道墙面、拱面和侧面构建隧道模型。将墙面、拱面和侧面拼接,并对拼接的模型进行三角化处理,形成隧道重构模型。
步骤1004、对隧道重构模型进行渲染,形成可展示的隧道模型。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的地图数据的处理方法。图11示意性地示出了本申请实施例提供的地图数据的处理装置的结构框图。如图11所示,申请实施例提供的地图数据的处理装置包括:
数据获取模块1110,用于获取具有隧道属性的地图数据,所述具有隧道属性的地图数据包括隧道边界数据;
侧墙模型构建模块1120,用于根据隧道的墙体数据和所述隧道边界数据构建隧道的侧墙模型;
拱顶模型构建模块1130,用于根据隧道的拱顶数据和所述隧道边界数据构建隧道的拱顶模型;
隧道模型生成模块1140,用于基于所述侧墙模型和所述拱顶模型生成所述具有隧道属性的地图数据所对应的隧道模型。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和第二边界数据;侧墙模型构建模块1120包括:
第一侧墙模型构建单元,用于根据所述隧道的墙体数据对所述第一边界数据进行平移处理,生成第一侧墙模型;
第二侧墙模型构建单元,用于根据所述隧道的墙体数据对所述第二边界数据进行平移处理,生成第二侧墙模型;
侧墙模型构建单元,用于根据所述第一侧墙模型和所述第二侧墙模型构建所述隧道的侧墙模型。
在本申请的一个实施例中,所述隧道的墙体数据包括隧道墙高和隧道墙厚;所述第一侧墙模型构建单元包括:
第一外侧墙生成单元,用于根据所述隧道墙高将所述第一边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第一边界数据形成第一外侧墙;
第一内墙边界数据生成单元,用于根据所述隧道墙厚将所述第一边界数据沿朝向所述第二边界数据的方向进行水平平移处理,得到第一内墙边界数据;
第一内侧墙生成单元,用于根据所述隧道墙高将所述第一内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第一内墙边界数据形成第一内侧墙;
第一侧墙模型构建子单元,用于根据所述第一外侧墙和所述第一内侧墙生成所述第一侧墙模型。
在本申请的一个实施例中,所述隧道的墙体数据包括隧道墙高和隧道墙厚;所述第二侧墙模型构建单元包括:
第二外侧墙生成单元,用于根据所述隧道墙高将所述第二边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第二边界数据形成第二外侧墙;
第二内墙边界数据生成单元,用于根据所述隧道墙厚将所述第二边界数据沿朝向所述第一边界数据的方向进行水平平移处理,得到第二内墙边界数据;
第二内侧墙生成单元,用于根据所述隧道墙高将所述第二内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第二内墙边界数据形成第二内侧墙;
第二侧墙模型构建子单元,用于根据所述第二外侧墙和所述第二内侧墙生成所述第二侧墙模型。
在本申请的一个实施例中,拱顶模型构建模块1130包括:
外拱顶构建单元,用于根据所述隧道的拱顶数据对所述隧道边界数据进行椭圆拟合处理,生成隧道外拱顶;
拱顶内边界数据生成单元,用于根据所述隧道的拱顶数据对所述隧道边界数据进行平移处理,得到拱顶内边界数据;
内拱顶构建单元,用于根据所述隧道的拱顶数据对所述拱顶内边界数据进行椭圆拟合处理,生成隧道内拱顶;
拱顶模型构建单元,用于根据所述隧道外拱顶和所述隧道内拱顶构建所述隧道的拱顶模型。
在本申请的一个实施例中,所述隧道的拱顶数据包括隧道拱高和隧道拱厚;所述外拱顶构建单元具体用于:
将所述隧道边界数据所表示的隧道边界距离的一半作为椭圆长半轴,将所述隧道拱高与所述隧道拱厚之和作为椭圆短半轴,生成第一拟合椭圆,并将所述第一拟合椭圆上凸的一侧作为所述隧道外拱顶。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和所述第二边界数据,所述第一边界数据上的道路数据点与所述第二边界数据上的道路数据点在水平方向上相对应且组成多个点对;所述外拱顶构建单元具体用于:
将各个所述点对之间距离的一半作为椭圆长半轴,将所述隧道拱高与所述隧道拱厚之和作为椭圆短半轴,生成各个所述点对所对应的第一拟合椭圆,并将各个所述点对对应的第一拟合椭圆上凸的一侧作为各个所述点对对应的外拱面轨迹;
根据所述多个点对分别对应的外拱面轨迹生成所述隧道外拱顶。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和第二边界数据,所述隧道的拱顶数据包括隧道拱厚;拱顶内边界数据生成单元具体用于:
根据所述隧道拱厚将所述第一边界数据沿朝向所述第二边界数据的方向进行水平平移处理,得到第一拱顶内边界数据;
根据所述隧道拱厚将所述第二边界数据沿朝向所述第一边界数据的方向进行水平平移处理,得到第二拱顶内边界数据;
将所述第一拱顶内边界数据和所述第二拱顶内边界数据作为所述拱顶内边界数据。
在本申请的一个实施例中,所述内拱顶构建单元具体用于:
将所述拱顶内边界数据所表示的拱顶内边界距离的一半作为椭圆长半轴,将所述隧道拱高作为椭圆短半轴,生成第二拟合椭圆,并将所述第二拟合椭圆上凸的一侧作为所述隧道内拱顶。
在本申请的一个实施例中,所述地图数据还包括隧道中的车道数据;所述装置还包括:
参考车道数据生成模块,用于根据所述隧道中的车道数据进行等距离采样处理,以生成包含多个均匀分布的道路数据点的参考车道数据;
边界数据预处理模块,用于根据所述参考车道数据中的道路数据点对所述隧道边界数据进行预处理,以使所述隧道边界数据中的道路数据点分布均匀且与所述参考车道数据中的道路数据点相对应。
在本申请的一个实施例中,所述隧道边界数据包括第一边界数据和第二边界数据;所述边界数据预处理模块具体用于:
计算所述参考车道数据中的每个道路数据点的内法向量和外法向量;
将所述内法向量与所述第一边界数据所形成的第一边界的交点作为预处理后的所述第一边界数据中的道路数据点;
将所述外法向量与所述第二边界数据所形成的第二边界的交点作为预处理后的所述第二边界数据中的道路数据点。
在本申请的一个实施例中,隧道模型生成模块1140包括:
三角化单元,用于将所述侧墙模型与所述拱顶模型拼接,并对拼接后的模型进行三角化处理,得到隧道重构模型;
渲染单元,用于对所述隧道重构模型进行渲染处理,生成所述具有隧道属性的地图数据所对应的隧道模型。
本申请各实施例中提供的地图数据的处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图12示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理器1201(Central Processing Unit,CPU),其可以根据存储在只读存储器1202(Read-Only Memory,ROM)中的程序或者从存储部分1208加载到随机访问存储器1203(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1203中,还存储有系统操作所需的各种程序和数据。中央处理器1201、在只读存储器1202以及随机访问存储器1203通过总线1204彼此相连。输入/输出接口1205(Input /Output接口,即I/O接口)也连接至总线1204。
以下部件连接至输入/输出接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至输入/输出接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理器1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (14)
1.一种地图数据的处理方法,其特征在于,包括:
获取具有隧道属性的地图数据,所述具有隧道属性的地图数据包括隧道边界数据和隧道中的车道数据;
根据所述隧道中的车道数据进行等距离采样处理,以生成包含多个均匀分布的道路数据点的参考车道数据;
根据所述参考车道数据中的道路数据点对所述隧道边界数据进行预处理,以使所述隧道边界数据中的道路数据点分布均匀且与所述参考车道数据中的道路数据点相对应;
根据隧道的墙体数据和所述隧道边界数据构建隧道的侧墙模型;
根据隧道的拱顶数据和所述隧道边界数据构建隧道的拱顶模型;
基于所述侧墙模型和所述拱顶模型生成所述具有隧道属性的地图数据所对应的隧道模型。
2.根据权利要求1所述的地图数据的处理方法,其特征在于,所述隧道边界数据包括第一边界数据和第二边界数据;根据隧道的墙体数据和所述隧道边界数据构建隧道的侧墙模型,包括:
根据所述隧道的墙体数据对所述第一边界数据进行平移处理,生成第一侧墙模型;
根据所述隧道的墙体数据对所述第二边界数据进行平移处理,生成第二侧墙模型;
根据所述第一侧墙模型和所述第二侧墙模型构建所述隧道的侧墙模型。
3.根据权利要求2所述的地图数据的处理方法,其特征在于,所述隧道的墙体数据包括隧道墙高和隧道墙厚;根据所述隧道的墙体数据对所述第一边界数据进行平移处理,生成所述第一侧墙模型,包括:
根据所述隧道墙高将所述第一边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第一边界数据形成第一外侧墙;
根据所述隧道墙厚将所述第一边界数据沿朝向所述第二边界数据的方向进行水平平移处理,得到第一内墙边界数据;
根据所述隧道墙高将所述第一内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第一内墙边界数据形成第一内侧墙;
根据所述第一外侧墙和所述第一内侧墙生成所述第一侧墙模型。
4.根据权利要求2所述的地图数据的处理方法,其特征在于,所述隧道的墙体数据包括隧道墙高和隧道墙厚;根据所述隧道的墙体数据对所述第二边界数据进行平移处理,生成所述第二侧墙模型,包括:
根据所述隧道墙高将所述第二边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第二边界数据形成第二外侧墙;
根据所述隧道墙厚将所述第二边界数据沿朝向所述第一边界数据的方向进行水平平移处理,得到第二内墙边界数据;
根据所述隧道墙高将所述第二内墙边界数据沿竖直向上的方向进行平移处理,并根据平移前后的所述第二内墙边界数据形成第二内侧墙;
根据所述第二外侧墙和所述第二内侧墙生成所述第二侧墙模型。
5.根据权利要求1所述的地图数据的处理方法,其特征在于,根据隧道的拱顶数据和所述隧道边界数据构建隧道的拱顶模型,包括:
根据所述隧道的拱顶数据对所述隧道边界数据进行椭圆拟合处理,生成隧道外拱顶;
根据所述隧道的拱顶数据对所述隧道边界数据进行平移处理,得到拱顶内边界数据;
根据所述隧道的拱顶数据对所述拱顶内边界数据进行椭圆拟合处理,生成隧道内拱顶;
根据所述隧道外拱顶和所述隧道内拱顶构建所述隧道的拱顶模型。
6.根据权利要求5所述的地图数据的处理方法,其特征在于,所述隧道的拱顶数据包括隧道拱高和隧道拱厚;根据所述隧道的拱顶数据对所述隧道边界数据进行椭圆拟合处理,生成隧道外拱顶,包括:
将所述隧道边界数据所表示的隧道边界距离的一半作为椭圆长半轴,将所述隧道拱高与所述隧道拱厚之和作为椭圆短半轴,生成第一拟合椭圆,并将所述第一拟合椭圆上凸的一侧作为所述隧道外拱顶。
7.根据权利要求6所述的地图数据的处理方法,其特征在于,所述隧道边界数据包括第一边界数据和第二边界数据,所述第一边界数据上的道路数据点与所述第二边界数据上的道路数据点在水平方向上相对应且组成多个点对;
将所述隧道边界数据所表示的隧道边界距离的一半作为椭圆长半轴,将所述隧道拱高与所述隧道拱厚之和作为椭圆短半轴,生成第一拟合椭圆,并将所述第一拟合椭圆上凸的一侧作为所述隧道外拱顶,包括:
将各个所述点对之间距离的一半作为椭圆长半轴,将所述隧道拱高与所述隧道拱厚之和作为椭圆短半轴,生成各个所述点对所对应的第一拟合椭圆,并将各个所述点对对应的第一拟合椭圆上凸的一侧作为各个所述点对对应的外拱面轨迹;
根据所述多个点对分别对应的外拱面轨迹生成所述隧道外拱顶。
8.根据权利要求5所述的地图数据的处理方法,其特征在于,所述隧道边界数据包括第一边界数据和第二边界数据,所述隧道的拱顶数据包括隧道拱厚;根据所述隧道的拱顶数据对所述隧道边界数据进行平移处理,得到拱顶内边界数据,包括:
根据所述隧道拱厚将所述第一边界数据沿朝向所述第二边界数据的方向进行水平平移处理,得到第一拱顶内边界数据;
根据所述隧道拱厚将所述第二边界数据沿朝向所述第一边界数据的方向进行水平平移处理,得到第二拱顶内边界数据;
将所述第一拱顶内边界数据和所述第二拱顶内边界数据作为所述拱顶内边界数据。
9.根据权利要求5所述的地图数据的处理方法,其特征在于,根据所述隧道的拱顶数据对所述拱顶内边界数据进行椭圆拟合处理,生成隧道内拱顶,包括:
将所述拱顶内边界数据所表示的拱顶内边界距离的一半作为椭圆长半轴,将所述隧道拱高作为椭圆短半轴,生成第二拟合椭圆,并将所述第二拟合椭圆上凸的一侧作为所述隧道内拱顶。
10.根据权利要求1所述的地图数据的处理方法,其特征在于,所述隧道边界数据包括第一边界数据和第二边界数据;根据所述参考车道数据中的道路数据点对所述隧道边界数据进行预处理,包括:
计算所述参考车道数据中的每个道路数据点的内法向量和外法向量;
将所述内法向量与所述第一边界数据所形成的第一边界的交点作为预处理后的所述第一边界数据中的道路数据点;
将所述外法向量与所述第二边界数据所形成的第二边界的交点作为预处理后的所述第二边界数据中的道路数据点。
11.根据权利要求1至10中任一项所述的地图数据的处理方法,其特征在于,基于所述侧墙模型和所述拱顶模型生成所述具有隧道属性的地图数据所对应的隧道模型,包括:
将所述侧墙模型与所述拱顶模型拼接,并对拼接后的模型进行三角化处理,得到隧道重构模型;
对所述隧道重构模型进行渲染处理,生成所述具有隧道属性的地图数据所对应的隧道模型。
12.一种地图数据的处理装置,其特征在于,包括:
数据获取模块,用于获取具有隧道属性的地图数据,所述具有隧道属性的地图数据包括隧道边界数据和隧道中的车道数据;
参考车道数据生成模块,用于根据所述隧道中的车道数据进行等距离采样处理,以生成包含多个均匀分布的道路数据点的参考车道数据;
边界数据预处理模块,用于根据所述参考车道数据中的道路数据点对所述隧道边界数据进行预处理,以使所述隧道边界数据中的道路数据点分布均匀且与所述参考车道数据中的道路数据点相对应;
侧墙模型构建模块,用于根据隧道的墙体数据和所述隧道边界数据构建隧道的侧墙模型;
拱顶模型构建模块,用于根据隧道的拱顶数据和所述隧道边界数据构建隧道的拱顶模型;
隧道模型生成模块,用于基于所述侧墙模型和所述拱顶模型生成所述具有隧道属性的地图数据所对应的隧道模型。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至11中任意一项所述的地图数据的处理方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器执行所述可执行指令使得所述电子设备执行权利要求1至11中任意一项所述的地图数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111411165.4A CN113838207B (zh) | 2021-11-25 | 2021-11-25 | 地图数据的处理方法、装置、可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111411165.4A CN113838207B (zh) | 2021-11-25 | 2021-11-25 | 地图数据的处理方法、装置、可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113838207A CN113838207A (zh) | 2021-12-24 |
CN113838207B true CN113838207B (zh) | 2022-03-29 |
Family
ID=78971744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111411165.4A Active CN113838207B (zh) | 2021-11-25 | 2021-11-25 | 地图数据的处理方法、装置、可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113838207B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105474269A (zh) * | 2014-03-19 | 2016-04-06 | 吉欧技术研究所股份有限公司 | 立体地图显示系统 |
KR20180056086A (ko) * | 2016-11-18 | 2018-05-28 | (주)넥스지오 | 터널 정보 삼차원 가시화 모델 구성방법 및 시스템 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926652A4 (en) * | 1997-05-09 | 2009-04-01 | Zanavy Informatics Kk | CARD DATABASE DEVICE, DISPLAY DEVICE, AND CARD RECORDING MEDIUM HAVING AND EFFICIENTLY UTILIZING HEIGHT DATA |
EP2557396B1 (en) * | 2011-08-11 | 2018-04-18 | Harman Becker Automotive Systems GmbH | 3D tunnel representation |
EP2725323B1 (en) * | 2012-10-29 | 2023-11-29 | Harman Becker Automotive Systems GmbH | Map viewer and method |
CN110246223B (zh) * | 2019-06-03 | 2022-12-13 | 南京航空航天大学 | 一种隧道建模方法及装置 |
-
2021
- 2021-11-25 CN CN202111411165.4A patent/CN113838207B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105474269A (zh) * | 2014-03-19 | 2016-04-06 | 吉欧技术研究所股份有限公司 | 立体地图显示系统 |
KR20180056086A (ko) * | 2016-11-18 | 2018-05-28 | (주)넥스지오 | 터널 정보 삼차원 가시화 모델 구성방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN113838207A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11763474B2 (en) | Method for generating simulated point cloud data, device, and storage medium | |
US10643378B2 (en) | Method and device for modelling three-dimensional road model, and storage medium | |
WO2020216315A1 (zh) | 一种参考行驶线快速生成方法、系统、终端和存储介质 | |
CN107844635B (zh) | 实现bim信息与交通仿真信息集成系统及其集成方法 | |
CN108225348A (zh) | 地图创建以及运动实体定位的方法和装置 | |
WO2023273260A1 (zh) | 车道级导航地图的构建方法、装置、设备以及存储介质 | |
CN113899384B (zh) | 车道级道路的路口面显示方法、装置、设备、介质及程序 | |
JP2023002757A (ja) | 高精度地図作成方法、装置及び電子機器 | |
CN114429528A (zh) | 图像处理方法、装置、设备、计算机程序及存储介质 | |
CN117095143B (zh) | 虚拟建筑物构建方法、装置、电子设备及存储介质 | |
CN114387319A (zh) | 点云配准方法、装置、设备以及存储介质 | |
CN103236084B (zh) | 一种大规模轨道线路的动态建模方法 | |
JP2023064082A (ja) | 高精地図における三次元地図の構築方法、装置、機器および記憶媒体 | |
CN113761618B (zh) | 一种基于实数据的3d仿真道路网自动化构建方法及系统 | |
CN113838207B (zh) | 地图数据的处理方法、装置、可读介质及电子设备 | |
CN113932796A (zh) | 高精地图车道线生成方法、装置和电子设备 | |
CN115468578B (zh) | 路径规划方法、装置、电子设备和计算机可读介质 | |
CN116863078A (zh) | 三维人体模型重建方法、装置、电子设备和可读介质 | |
CN113066188A (zh) | 一种用于室外施工作业的三维仿真方法及设备 | |
CN111986243A (zh) | 路肩提取方法及装置、电子设备和计算机可读介质 | |
Ma et al. | Research and application of personalized human body simplification and fusion method | |
EP3937125B1 (en) | Method, apparatus for superimposing laser point clouds and high-precision map and electronic device | |
CN118012630B (zh) | 车道线数据处理方法以及相关设备 | |
CN117132744B (zh) | 虚拟场景的构建方法、装置、介质及电子设备 | |
CN112886587B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |