CN112733231B - 道路三维模型生成方法、装置、计算机设备和存储介质 - Google Patents
道路三维模型生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112733231B CN112733231B CN202011642398.0A CN202011642398A CN112733231B CN 112733231 B CN112733231 B CN 112733231B CN 202011642398 A CN202011642398 A CN 202011642398A CN 112733231 B CN112733231 B CN 112733231B
- Authority
- CN
- China
- Prior art keywords
- data
- road
- route
- model
- cross
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Remote Sensing (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种道路三维模型生成方法、装置、计算机设备和存储介质。所述方法包括:读取道路设计数据;对道路设计数据进行分类以得到不同类型的子道路设计数据;不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据;对第一类型子道路设计数据进行处理,得到对应的子模型;融合子模型和第二类型子道路设计数据生成道路三维模型。采用本方法能够提高道路三维建模的效率。
Description
技术领域
本申请涉及工程设计领域,特别是涉及一种道路三维模型生成方法、装置、计算机设备和存储介质。
背景技术
随着建筑信息模型技术的应用和普及,道路工程设计中的三维模型已经越来越不可或缺。随着路网密度的提高,复杂道路项目越来越多,路线线性和道路横断面变化多样,道路模型的建立工作量大大增加。目前针对已有二维设计数据生成三维模型主要靠人工手动建模,需要一一核对路线数据和横断数据,费时费力。
发明内容
基于此,有必要针对上述技术问题,提供一种能够自动导入数据并生成道路模型的道路三维模型生成方法、装置、计算机设备和存储介质。
一种道路三维模型生成方法,所述方法包括:
读取道路设计数据;
对所述道路设计数据进行分类以得到不同类型的子道路设计数据;所述不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据;
对所述第一类型子道路设计数据进行处理,得到对应的子模型;
融合所述子模型和所述第二类型子道路设计数据生成道路三维模型。
在其中一个实施例中,所述第一类型子道路设计数据包括路线参数数据;所述对所述第一类型子道路设计数据进行处理,得到对应的子模型,包括:
从所述路线参数数据中提取与预先设定的图元匹配的图元数据;
根据所述图元数据绘制路线图元以得到路线模型。
在其中一个实施例中,所述路线参数数据包括路线平面数据和路线纵断数据;所述从所述路线参数数据中提取与所述预先设定的图元匹配的图元数据,包括:
从所述路线平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据;
从所述路线纵断数据中提取纵断直线数据和纵断圆曲线数据。
在其中一个实施例中,所述根据所述图元数据绘制路线图元并生成路线模型,包括:
根据所述平面直线数据绘制平面直线;
在所述平面直线间的交点处,根据所述平面缓和曲线数据和所述平面圆曲线数据绘制平面缓和曲线和平面圆曲线以得到平面路线;
根据所述纵断直线数据绘制所述平面路线对应的纵断直线;
在所述纵断直线的交点处,根据所述纵断圆曲线数据绘制纵断圆曲线,并生成路线模型。
在其中一个实施例中,所述第一类型子道路设计数据包括横断参数数据;所述对所述第一类型子道路设计数据进行处理,得到对应的子模型,包括:
从所述横断参数数据中提取横断面模板参数;
通过所述横断面模板参数更新所述横断面模板的默认参数;
根据更新后的所述横断面模板生成横断面部件模型。
在其中一个实施例中,所述子道路数据包括路线参数数据、横断参数数据和边线参数数据;所述子模型包括路线模型和横断面部件模型;所述横断面部件模型中包含偏移参数;所述融合所述子模型和所述第二类型子道路设计数据生成道路三维模型,包括:
根据边线参数数据生成道路边线;
组合所述路线模型、所述横断面部件模型和所述道路边线生成道路三维模型;所述道路边线在所述横断面部件模型中的位置由所述偏移参数确定。
一种道路三维模型生成装置,所述装置包括:
读取模块,用于读取道路设计数据;
分类模块,用于对所述道路设计数据进行分类以得到不同类型的子道路设计数据;所述不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据;
子模型生成模块,用于对所述第一类型子道路设计数据进行处理,得到对应的子模型;
道路三维模型生成模块,用于融合所述子模型和所述第二类型子道路设计数据生成道路三维模型。
在其中一个实施例中,所述第一类型子道路数据包括横断参数数据;所述子模型生成模块包括:
参数提取单元,用于从所述横断参数数据中提取横断面模板参数;
参数更新单元,用于通过所述横断面模板参数更新所述横断面模板的默认参数;
模型生成单元,用于根据更新后的所述横断面模板生成横断面部件模型。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例中所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例中所述的方法的步骤。
上述道路三维模型生成方法、装置、计算机设备和存储介质,通过将道路设计数据进行筛选分类后与预先设定的数据结构进行匹配,生成不同的道路模型。整个数据处理过程中,不再需要核对模型数据和设计数据是否一致,减少了数据核对的过程,提高了道路建模的效率。
附图说明
图1为一个实施例中道路三维模型生成方法的流程示意图;
图2为一个实施例中处理第一类型子道路设计数据步骤的流程示意图;
图3为一个实施例中提取路线数据方法的流程示意图;
图4为一个实施例中根据图元数据绘制路线模型的流程示意图;
图5为一个实施例中根据横断参数数据生成横断面部件模型的流程示意图;
图6为一个实施例中融合边线和子模型生成道路三维模型的流程示意图;
图7为一个详细的道路三维模型生成方法的流程示意图;
图8为一个实施例中道路三维模型生成装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种道路三维模型生成方法,以该方法应用于图1中的终端为例进行说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑。本实施例中,该方法包括以下步骤:
步骤S102,读取道路设计数据。
其中,道路设计数据是从传统道路设计软件中导出得到,一般包括路线参数数据、横断参数数据和边线参数数据。而路线参数数据又包括路线平面数据和路线纵断数据。一般情况下,道路各设计数据之间会有较明显的特征区别,比如:不同数据类型有不同的文件后缀名。路线数据中平面数据和纵断数据一般也会由不同类型文件组成。少量类型的路线文件的平面和纵断数据或者其他数据可能会出现在同一文件中,可以根据数据中特征定义进行判断。特征定义可以用开始标记和结束标记来表示。
具体地,终端对道路设计数据进行筛选,去除其他非目标类型的数据。具体地,终端可以通过文件后缀名将路线参数数据、横断参数数据和边线参数数据提取出来。最后终端通过程序调用文件读取方法,自动将所提取出的或者是筛选后的道路设计数据读取出来。
步骤S104,对道路设计数据进行分类以得到不同类型的子道路设计数据。不同类型的子道路数据包括第一类型道路设计数据和第二类型道路设计数据。
其中,第一类型道路设计数据是指在系统中有对应的预先设定的数据结构的数据类型,包括路线参数数据和横断参数数据。路线参数数据与系统中预先设定的图元类型相互匹配对应。而横断参数数据与系统中预先设定的横断面部件模型相互匹配对应。第二类道路设计数据是指在系统中没有与之对应的预先设定的数据结构的数据类型,包括边线参数数据。
具体地,终端可以按照文件类型进行分类,也可以提取文件里不同特征定义部分的数据生成特定类型的道路设计数据。例如,终端根据文件的后缀对所读取的道路设计数据进行分类,得到不同类型的子道路设计数据,若是后续还需要对路线参数数据进行分类,则可以进一步地通过文件开始标记和结束标记进一步地进行分类。
步骤S106,对第一类型子道路设计数据进行处理,得到对应的子模型。
其中,对应的子模型包括但不限于与路线参数数据对应的路线模型以及与横断参数数据对应的横断面部件模型。
具体地,终端通过比较第一类型道路设计数据是否与系统中已有的数据结构匹配,当存在匹配的数据结构,则得到带有具有数据值的数据结构实例,通过组合数据结构实例进一步得到需要的子模型。又或者,当参数数据与系统中已有的模板上的数据类型相同,则终端用获取得到的参数数据覆盖或者修改模板上原有的值,从而得到具有特定数据值的模型。
步骤S108,融合子模型和第二类型子道路设计数据生成道路三维模型。
其中,第二类型子道路设计数据包括但不限于边线参数数据。边线参数数据用于生成道路边线。
具体地,终端将横断面部件模型与路线模型结合,并根据道路边线数据自动生成完整的道路三维模型。
上述道路三维模型生成方法中,道路模型的各参数是终端对设计数据进行筛选分类后自动读取和导入,并通过匹配预先设定数据结构的方式或者参数化模板的方式,实现了快速处理道路设计数据,生成道路三维模型。整个数据处理过程中,无人工处理数据的过程,因而不需要再核对模型数据和设计数据的一致性,在降低了工作量的同时,提高了建模效率。
在一个实施例中,如图2所示,第一类型子道路设计数据包括路线参数数据;对第一类型子道路设计数据进行处理,得到对应的子模型,包括:
步骤S202,从路线参数数据中提取与预先设定的图元匹配的图元数据。
其中,图元是指基本的图形元素,在道路建模领域,图元一般指道路路线的组成部分。路线由直线、圆曲线和缓和曲线等组成,很多这些不同类型的图元组成了整条道路路线。基本图元包括直线、圆曲线以及缓和曲线。直线数据是直线两端点的坐标数据,缓和曲线数据包括了缓和曲线长度以及缓和曲线半径,圆曲线数据为圆曲线半径。
具体地,终端从路线参数数据中提取与直线图元匹配的直线数据,包括直线的端点坐标。终端从路线参数数据中提取与圆曲线图元匹配的圆曲线数据,包括圆曲线的半径。终端从路线参数数据中提取与缓和曲线图元匹配的缓和曲线数据,包括缓和曲线的起点半径、终点半径和长度。
步骤S206,根据图元数据绘制路线图元以得到路线模型。
具体地,终端比较路线参数数据是否和图元类型匹配,匹配成功则弹出提示框表示所有读取的路线参数数据匹配完成,匹配失败同样弹出提示框,进行错误提示,指出具体哪个地点下的哪种图元类型没有转换成功或者没有找到相关数据文件。
本实施例中终端通过将路线参数数据从数据文件中提取出来,再和内部的图元进行匹配,进而根据图元信息绘制路线模型,避免了人工去校对复杂数据,节省了时间,同时也提高了处理过程中操作的效率。
在一个实施例中,如图3所示,路线参数数据包括路线平面数据和路线纵断数据;从路线参数数据中提取与预先设定的图元匹配的图元数据,包括:
步骤S302,从路线平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据。
其中,路线参数数据包括两类:路线平面数据和路线纵断数据。路线平面数据中包含了平面直线数据、平面缓和曲线数据和平面圆曲线数据。平面直线数据包括了直线两个端点的坐标。平面缓和曲线数据包括了缓和曲线的半径和长度。平面圆曲线数据包括了圆曲线的半径。路线平面数据和路线纵断数据一般保存于两个不同的数据文件中,也可以通过特征标记放在一个数据文件中。
举例,直线AB在平面数据中分别是点A的坐标(27407.364429,24911.637776)和点B的坐标(27382.1804198986,25903.49714619)。某条缓和曲线的起点半径在平面数据中为10000000000.0000000000,表示无穷大。平面缓和曲线的长度数据为L70.0000000000。平面缓和曲线的终点半径同时也是圆曲线的半径为:1000.0000000000。
具体地,终端从上到下读取平面数据文件中每一行的数据或者特征标记下的每一行的数据。当终端读取到某一行中只有表示直线端点坐标的数据时,则说明这是直线图元的起点或者端点,一般直线图元的端点坐标单独成行,读取直线起点或者端点坐标。当终端读取到某一行中既有直线端点坐标数据又有曲线数据时,根据图元类型的定义,按照设定的数据依次提取出平面直线的中间点坐标、缓和曲线的起点半径、缓和曲线长度和缓和曲线的终点半径(圆曲线半径)。
步骤S306,从路线纵断数据中提取纵断直线数据和纵断圆曲线数据。
其中,路线纵断数据包括纵断直线数据和纵断圆曲线数据两类。纵断数据中包括了点位置、点高程和曲线半径等数据。点位置为路线上的桩号值,该点桩号值代表平面路线的起点桩号值再加上该点在平面路线上距离平面路线起点的长度(不是两点间的直线距离,而是沿线的路程)。点高程为该点位置的高度值,平面路线由于没有纵断面因此没有高程,平面路线上所有点高程均默认为0。
举例,纵断数据中点位置包含的数值范围是(3936.593~11417.896),对应的桩号范围是K3+936.3593~K11+417.896,对应的点高程范围是2.880955815~7.82000000,表示仅桩号在K3+936.3593~K11+417.896范围内的点有高程值。起点桩号为K3+936.3593,即表示值为3936.3593,平面路线上某一点距离起点的长度为50,则该点的桩号值为3936.3593+50=3986.3593,表示K3+986.3593。
具体地,终端从上到下读取纵断数据文件中每一行的数据或者特征标记下的每一行的数据。当终端读取到某一行中只有表示直线端点坐标的数据时,则说明这是直线图元的起点或者端点,一般直线图元的端点坐标单独成行,读取起点或终点的坐标数据。当终端读取到某一行中既有直线端点坐标数据又有曲线数据时,根据图元类型的定义,按照设定的数据顺序依次读取直线的中间点的坐标和圆曲线的半径数据。
本实施例中终端通过对路线参数数据做进一步细分,可以更为精准地先后获得相关的平面图元信息和纵断图元信息,从而为下一步具体绘制路线模型做好了准备。
在一个实施例中,如图4所示,根据图元数据绘制路线图元并生成路线数据,包括:
步骤S402,根据平面直线数据绘制平面直线。
其中,平面直线的位置和方向由直线两端的端点坐标决定。
具体地,终端获取平面直线的所有端点坐标,端点之间按照在数据文件中出现的先后顺序,依次首尾连接生成直线部分。
举例,起点为A,中间点为B,终点为C,终端先绘制经过A和B的直线AB,再绘制经过B和C的直线BC,直线AB和直线BC的交点为B。
步骤S406,在平面直线间的交点处,根据平面缓和曲线数据和平面圆曲线数据绘制平面缓和曲线和平面圆曲线以得到平面路线。
其中,平面直线间的交点处即平面直线数据中除起点和终点以外的中间点。缓和曲线一般用于连接直线和圆曲线,通常是一条回旋线,半径从直线的半径(无穷大)过渡到圆曲线的半径或者从圆曲线半径过渡到直线。从直线过渡到圆曲线的缓和曲线一般被称为前缓和曲线,可以理解成圆曲线前面的缓和曲线。同理,从圆曲线过渡到直线被称为后缓和曲线,表示圆曲线后面的缓和曲线。给点缓和曲线的起点半径、终点半径和长度即可绘制出缓和曲线。圆曲线的位置由直线交点决定,圆曲线的半径和缓和曲线的终点半径相同。
具体地,终端找到第一个直线交点所在的位置,如果缓和曲线长度为0就只绘制圆曲线,如果缓和曲线长度不为0则绘制缓和曲线。终端先绘制圆曲线,然后在直线和圆曲线之间再绘制缓和曲线。曲线起点和终点位置到交点位置的直线部分被修剪抹去。然后终端用同样的方法依次在接下来的交点处绘制曲线段,最后得到完整的平面路线。
步骤S410,根据纵断直线数据绘制平面路线对应的纵断直线。
具体地,终端根据点位置和点高程得到各点的坐标,各点间首尾连接生成纵断直线。
举例,点A的坐标由点位置和点高程组成,为(3936.593,2.66095815),点B的坐标为(4192.747,5.99095815),点C的坐标为(4356.593,5.99095815)。最终生成的纵断直线为AB和BC。
步骤S414,在纵断直线的交点处,根据纵断圆曲线数据绘制纵断圆曲线,并生成路线模型。
具体地,终端在两相邻直线的交点处绘制纵断圆曲线,原理同绘制平面缓和曲线和平面圆曲线类似。在第一个交点处绘制完纵断圆曲线之后,终端再依次生成后面交点处的圆曲线。最后终端融合平面路线数据和纵断路线数据得到完整的路线模型。
本实施例中,终端通过将路线模型合理拆分,简化了绘制步骤,依靠前期提取的路线参数数据,全自动地绘制出了完整的路线模型,大大提高了整个绘制过程的效率。
在一个实施例中,如图5所示,第一类型子道路设计数据包括横断参数数据;对第一类型子道路设计数据进行处理,得到对应的子模型,包括:
步骤S502,从横断参数数据中提取横断面模板参数。
其中,横断参数数据以XML文件的方式传输,当然也可以通过CSV等数据格式传输。横断参数数据中包含了各个横断面模板参数的名称,值大小,是否显示等信息。横断面模板参数可以表示道路各车道的宽度、车道的横向坡度以及是否存在某种类型的车道等。
具体地,终端从横断参数数据中可以提取的信息有:横断面模板元素是否显示、横断面模板元素的宽度和坡度。一般横断面模板包含以下具体的参数信息:中分带标志、中分带宽度、中分带坡度、侧分带标志、侧分带宽度、侧分带坡度、非机动车道标志、非机动车道宽度、非机动车道坡度、人行道标志、人行道宽度、人行道坡度、行车道宽度、行车道坡度、土路肩标志、土路肩宽度、土路肩坡度、硬路肩标志、硬路肩宽度、硬路肩坡度等。
步骤S506,通过横断面模板参数更新横断面模板的默认参数。
其中,横断面模板的默认参数一般是常规通用的值或者空值。
具体地,当横断面模板参数和默认参数不同时,终端用获取的横断面模板参数覆盖横断面模板的默认参数。在终端得到新的横断面模板之后,也可以采用人工直接修改的方式进行参数值的具体调整。
步骤S510,根据更新后的横断面模板生成横断面部件模型。
其中,横断面部件模型是一种由点、线和面组成的图形结构。横断面部件包括两种类型:第一种,由点和线组成简单的仅代表道路表面的横断面部件。第二种,由点线面组成的带有各结构厚度的包含道路结构的横断面部件。横断面部件模型中的线段长度、两点之间的水平或垂直距离、两点之间的坡度等数值以及各部件是否显示均可作为输入参数,这些参数可以表示道路三维模型中各车道的宽度、车道的横向坡度以及是否存在某种类型的车道。
具体地,终端首先检查横断面各个参数是否显示,每一个判断会导向不同的流程方向。整个过程中,终端选择参数标志为显示状态的模板参数,忽略掉参数标志为不显示状态的模板参数,最后生成需要的横断面部件模型。横断面部件模型不仅可以在本次的流程中使用,也可以直接移植或者经过修改移植到其他道路三维模型中复用。
举例,整个横断面部件模型的生成流程中,依次判断横断面部件模型是否有中分带、是否有行车道、是否有侧分带、是否有硬路肩、是否有土路肩、是否有非机动车道和是否有人行道。根据判断的结果和相应的参数数据生成最终的横断面部件模型。
本实施例中,终端通过调用内嵌的横断面模板,将获取的横断面参数信息覆盖内嵌模板的默认参数获得横断面部件模型。该模型可以直接或者稍作修改之后复用到其他道路三维模型,减少了重复工作量。
在一个实施例中,如图6所示,子道路数据包括路线参数数据、横断参数数据和边线参数数据;子模型包括路线模型和横断面部件模型;横断面部件模型中包含偏移参数;融合子模型和第二类型子道路设计数据生成道路三维模型,包括:
步骤S602,根据边线参数数据生成道路边线。
其中,边线参数数据为一系列点的坐标,边线包括但不限于中分带边线、行车道边线、侧分带边线、非机动车道边线和人行道边线。
具体地,终端找到不同类型边线的坐标数据,按照坐标数据出现的顺序连接所有点的坐标,得到不同类型边线的坐标数据。例如,终端在边线数据中找到中分带边线的所有点的坐标,将所有点按照坐标数据出现的顺序连接起来生成道路中分带边线。
步骤S606,组合路线模型、横断面部件模型和道路边线生成道路三维模型;道路边线在横断面部件模型中的位置由偏移参数确定。
其中,横断面部件模型中加入了相关控制偏移参数。偏移参数决定了各条边线在横断面部件模型中的具体位置。
具体地,在生成路线和横断面部件模型之后,终端根据道路边线数据生成道路的各条边线,将各条边线依次添加到横断面偏移参数所指定的位置,最终在融合了路线模型后,会沿着边线生成道路三维模型。道路三维模型在生成过程中,如果在横断面部件模型的偏移参数处有边线,各车道的宽度会沿着边线变化,无边线的部分使用横断面部件模型设定的参数。
本实施例中,终端通过融合边线,路线和横断面部件,最终生成了道路三维模型,整个过程全自动,不需要人工核对参数,大大提高了模型生成的效率和准确性。
为了使得本领域技术人员充分了解本申请中的道路三维模型生成方法,下文就给出道路三维模型生成方法的具体实施例,如图7所示:
终端从传统道路设计导出道路设计数据,道路设计数据一般有路线数据、横断数据和边线数据。路线数据中平面数据和纵断数据一般会由不同类型文件组成,少量类型的路线文件的平面和纵断数据或者其他数据可能会出现在同一文件中,可以根据数据中特征定义进行判断。
本例中,一部分路线数据以特征定义的方式出现在数据文件中,终端找到特征定义的起始位置和终止位置,提取出相关的路线数据。
终端通过对道路设计数据的筛选分类,将不同类型的数据按照不同的处理流程进行处理。
路线参数数据包括平面数据和纵断数据,终端通过预先定义的图元类型,从平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据,从纵断数据中提取纵断直线数据、纵断圆曲线数据。如果路线参数数据中存在与预先定义的图元类型不匹配的情况,终端弹出提示框,提示用户没有匹配转换成功的数据部分。
本例中,路线参数数据中每个点的相关数据(例如点的坐标、相关缓和曲线的半径和长度、相关圆曲线的半径等)被单独和完整地记录于数据文件中的一行中。其中起点和终点的坐标数据分别单独占用一行。
终端将平面数据中的点按照数据文件中的顺序依次连接起来,得到由多段直线段组成的折线。然后终端在折线中间的端点处通过调用绘制函数绘制按照提取的圆曲线半径数据绘制圆曲线,在根据缓和曲线的半径数据和长度数据,将直线与圆曲线连接起来,在裁剪掉多余的直线部分之后,最终获得完整的平面路线。
纵断路线数据包括了纵断直线数据和纵断圆曲线数据。终端以纵断直线数据中的点位置和点高程为点坐标,按照绘制平面路线的方法,绘制纵断直线。终端在纵断直线的交点处,绘制纵断圆曲线,最终获得完整的纵断路线。
终端将平面路线和纵断路线结合起来得到完整的路线模型。
本例中,横断参数数据为XML文件,其中包括了中分带,侧分带,人行道,行车道和路肩等相关数据。终端读取横断参数数据并用读取到的数据修改横断面模板上的默认数据。
终端基于更新后的横断面模板,生成横断面部件模型(图7中为道路横断构件)。可由点线组成简单的仅代表道路表面的横断面部件模型(图7中为道路横断构件),也可由点线面组成带有各结构厚度的包含道路结构的横断面部件(图7中为道路横断构件)。
终端在横断面部件(图7中为道路横断构件)中加入相关控制偏移参数,将边线数据生成的边线依次添加到偏移参数指定的横断面部件上的位置,最终融合路线模型,生成道路三维模型。在终端添加了偏移参数之后,各车道的宽度会沿着边线变化,无边线数据的部分使用横断面模板设定的参数。
应该理解的是,虽然图1-6流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种道路三维模型生成装置,包括:读取模块100、分类模块200、子模型生成模块300和道路三维模型生成模块400,其中:
读取模块100,用于读取道路设计数据。
分类模块200,用于对道路设计数据进行分类以得到不同类型的子道路设计数据;不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据。
子模型生成模块300,用于对第一类型子道路设计数据进行处理,得到对应的子模型。
道路三维模型生成模块400,用于融合子模型和第二类型子道路设计数据生成道路三维模型。
在其中一个实施例中,上述子模型生成模块300还包括:
图元提取单元,用于从路线参数数据中提取与预先设定的图元匹配的图元数据。
路线模型生成单元,用于根据图元数据绘制路线图元以得到路线模型。
在其中一个实施例中,上述图元提取单元还包括:
平面数据提取子单元,用于从路线平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据。
纵断数据提取子单元,用于从路线纵断数据中提取纵断直线数据和纵断圆曲线数据。
在其中一个实施例中,上述路线模型生成单元还包括:
平面直线绘制子单元,用于根据平面直线数据绘制平面直线。
平面路线生成子单元,用于在平面直线间的交点处,根据平面缓和曲线数据和平面圆曲线数据绘制平面缓和曲线和平面圆曲线以得到平面路线。
纵断直线绘制子单元,用于根据纵断直线数据绘制平面路线对应的纵断直线。
路线模型生成子单元,用于在纵断直线的交点处,根据纵断圆曲线数据绘制纵断圆曲线,并生成路线模型。
在其中一个实施例中,上述子模型生成模块300还包括:
横断面参数提取单元,用于从横断参数数据中提取横断面模板参数。
横断面参数更新单元,用于通过横断面模板参数更新横断面部件模板的默认参数。
横断面部件模型生成单元,用于根据更新后的横断面部件模板生成横断面部件模型。
在其中一个实施例中,上述道路三维模型生成模块400还包括:
边线生成单元,用于根据边线参数数据生成道路边线。
组合单元,用于组合路线模型、横断面部件模型和道路边线生成道路三维模型,道路边线在横断面部件模型中的位置由偏移参数确定。
关于道路三维模型生成装置的具体限定可以参见上文中对于道路三维模型生成方法的限定,在此不再赘述。上述道路三维模型装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种道路三维模型生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:读取道路设计数据;对所述道路设计数据进行分类以得到不同类型的子道路设计数据;所述不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据;对所述第一类型子道路设计数据进行处理,得到对应的子模型;融合所述子模型和所述第二类型子道路设计数据生成道路三维模型。
在一个实施例中,处理器执行计算机程序实现对第一类型子道路设计数据进行处理得到对应的子模型,其中第一类型子道路设计数据包括路线参数数据,包括以下步骤:从路线参数数据中提取与预先设定的图元匹配的图元数据;根据图元数据绘制路线图元以得到路线模型。
在一个实施例中,处理器执行计算机程序实现从路线参数数据中提取与预先设定的图元匹配的图元数据,其中路线参数数据包括路线平面数据和路线纵断数据,包括以下步骤:从路线平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据;从路线纵断数据中提取纵断直线数据和纵断圆曲线数据。
在一个实施例中,处理器执行计算机程序实现根据图元数据绘制路线图元并生成路线模型,包括以下步骤:根据平面直线数据绘制平面直线;在平面直线间的交点处,根据平面缓和曲线数据和平面圆曲线数据绘制平面缓和曲线和平面圆曲线以得到平面路线;根据纵断直线数据绘制平面路线对应的纵断直线;在纵断直线的交点处,根据纵断圆曲线数据绘制纵断圆曲线,并生成路线模型。
在一个实施例中,处理器执行计算机程序实现对第一类型子道路设计数据进行处理,得到对应的子模型,其中第一类型子道路设计数据包括横断参数数据,包括以下步骤:从横断参数数据中提取横断面模板参数;通过横断面模板参数更新横断面模板的默认参数;根据更新后的横断面模板生成横断面部件模型。
在一个实施例中,处理器执行计算机程序实现融合子模型和第二类型子道路设计数据生成道路三维模型,其中子道路数据包括路线参数数据、横断参数数据和边线参数数据,包括以下步骤:根据边线参数数据生成道路边线;组合路线模型、横断面部件模型和道路边线生成道路三维模型;道路边线在横断面部件模型中的位置由偏移参数确定。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:读取道路设计数据;对所述道路设计数据进行分类以得到不同类型的子道路设计数据;所述不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据;对所述第一类型子道路设计数据进行处理,得到对应的子模型;融合所述子模型和所述第二类型子道路设计数据生成道路三维模型。
在一个实施例中,计算机程序被处理器执行实现对第一类型子道路设计数据进行处理得到对应的子模型,其中第一类型子道路设计数据包括路线参数数据,包括以下步骤:从路线参数数据中提取与预先设定的图元匹配的图元数据;根据图元数据绘制路线图元以得到路线模型。
在一个实施例中,计算机程序被处理器执行实现从路线参数数据中提取与预先设定的图元匹配的图元数据,其中路线参数数据包括路线平面数据和路线纵断数据,包括以下步骤:从路线平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据;从路线纵断数据中提取纵断直线数据和纵断圆曲线数据。
在一个实施例中,计算机程序被处理器执行实现根据图元数据绘制路线图元并生成路线模型,包括以下步骤:根据平面直线数据绘制平面直线;在平面直线间的交点处,根据平面缓和曲线数据和平面圆曲线数据绘制平面缓和曲线和平面圆曲线以得到平面路线;根据纵断直线数据绘制平面路线对应的纵断直线;在纵断直线的交点处,根据纵断圆曲线数据绘制纵断圆曲线,并生成路线模型。
在一个实施例中,计算机程序被处理器执行实现对第一类型子道路设计数据进行处理,得到对应的子模型,其中第一类型子道路设计数据包括横断参数数据,包括以下步骤:从横断参数数据中提取横断面模板参数;通过横断面模板参数更新横断面模板的默认参数;根据更新后的横断面模板生成横断面部件模型。
在一个实施例中,计算机程序被处理器执行实现融合子模型和第二类型子道路设计数据生成道路三维模型,其中子道路数据包括路线参数数据、横断参数数据和边线参数数据,包括以下步骤:根据边线参数数据生成道路边线;组合路线模型、横断面部件模型和道路边线生成道路三维模型;道路边线在横断面部件模型中的位置由偏移参数确定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种道路三维模型生成方法,其特征在于,所述方法包括:
读取道路设计数据;
对所述道路设计数据进行分类以得到不同类型的子道路设计数据;所述不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据,所述第一类型道路设计数据为具有对应的预先设定的数据结构的数据类型,所述第二类型道路设计数据为不具有对应的预先设定的数据结构的数据类型;
对所述第一类型子道路设计数据进行处理,得到对应的子模型;
融合所述子模型和所述第二类型子道路设计数据生成道路三维模型;
所述对所述第一类型子道路设计数据进行处理,得到对应的子模型,包括:
从所述第一类型道路设计数据包括的路线参数数据中提取与预先设定的图元匹配的图元数据;
根据所述图元数据绘制路线图元以得到路线模型;和/或
从所述第一类型道路设计数据包括的横断参数数据中提取横断面模板参数;
通过所述横断面模板参数更新所述横断面模板的默认参数;
根据更新后的所述横断面模板生成横断面部件模型;
所述融合所述子模型和所述第二类型子道路设计数据生成道路三维模型,包括:
根据所述第二类型子道路设计数据包括的边线参数数据生成道路边线;
组合所述路线模型、所述横断面部件模型和所述道路边线生成道路三维模型;所述道路边线在所述横断面部件模型中的位置由偏移参数确定。
2.根据权利要求1所述的方法,其特征在于,所述路线参数数据包括路线平面数据和路线纵断数据;所述从所述路线参数数据中提取与所述预先设定的图元匹配的图元数据,包括:
从所述路线平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据;
从所述路线纵断数据中提取纵断直线数据和纵断圆曲线数据。
3.根据权利要求2所述的方法,其特征在于,所述纵断直线数据和所述纵断圆曲线数据分别包括对应的点位置、点高程和曲线半径。
4.根据权利要求2所述的方法,其特征在于,所述根据所述图元数据绘制路线图元并生成路线模型,包括:
根据所述平面直线数据绘制平面直线;
在所述平面直线间的交点处,根据所述平面缓和曲线数据和所述平面圆曲线数据绘制平面缓和曲线和平面圆曲线以得到平面路线;
根据所述纵断直线数据绘制所述平面路线对应的纵断直线;
在所述纵断直线的交点处,根据所述纵断圆曲线数据绘制纵断圆曲线,并生成路线模型。
5.根据权利要求1所述的方法,其特征在于,所述横断面模板参数包括中分带标志、中分带宽度、中分带坡度、侧分带标志、侧分带宽度、侧分带坡度、非机动车道标志、非机动车道宽度、非机动车道坡度、人行道标志、人行道宽度、人行道坡度、行车道宽度、行车道坡度、土路肩标志、土路肩宽度、土路肩坡度、硬路肩标志、硬路肩宽度、硬路肩坡度。
6.根据权利要求1所述的方法,其特征在于,所述边线参数数据包括中分带边线的坐标数据、行车道边线的坐标数据、侧分带边线的坐标数据、非机动车道边线的坐标数据和人行道边线的坐标数据。
7.一种道路三维模型生成装置,其特征在于,所述装置包括:
读取模块,用于读取道路设计数据;
分类模块,用于对所述道路设计数据进行分类以得到不同类型的子道路设计数据;所述不同类型的子道路设计数据包括第一类型道路设计数据和第二类型道路设计数据;所述第一类型道路设计数据为具有对应的预先设定的数据结构的数据类型,所述第二类型道路设计数据为不具有对应的预先设定的数据结构的数据类型
子模型生成模块,用于对所述第一类型子道路设计数据进行处理,得到对应的子模型;
道路三维模型生成模块,用于融合所述子模型和所述第二类型子道路设计数据生成道路三维模型;
所述子模型生成模块包括图元提取单元、路线模型生成单元和/或横断面参数提取单元、横断面参数更新单元和横断面部件模型生成单元:
所述图元提取单元用于从所述第一类型道路设计数据包括的路线参数数据中提取与预先设定的图元匹配的图元数据;
所述路线模型生成单元用于根据所述图元数据绘制路线图元以得到路线模型;
所述横断面参数提取单元用于从所述第一类型道路设计数据包括的横断参数数据中提取横断面模板参数;
所述横断面参数更新单元用于通过所述横断面模板参数更新所述横断面模板的默认参数;
所述横断面部件模型生成单元用于根据更新后的所述横断面模板生成横断面部件模型;
所述道路三维模型生成模块包括边线生成单元和组合单元:
所述边线生成单元用于根据所述第二类型子道路设计数据包括的边线参数数据生成道路边线;
所述组合单元用于组合所述路线模型、所述横断面部件模型和所述道路边线生成道路三维模型;所述道路边线在所述横断面部件模型中的位置由偏移参数确定。
8.根据权利要求7所述的装置,其特征在于,所述图元提取单元还被配置为:
从所述路线平面数据中提取平面直线数据、平面缓和曲线数据和平面圆曲线数据;
从所述路线纵断数据中提取纵断直线数据和纵断圆曲线数据。
9.根据权利要求8所述的装置,其特征在于,所述纵断直线数据和所述纵断圆曲线数据分别包括对应的点位置、点高程和曲线半径。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011642398.0A CN112733231B (zh) | 2020-12-31 | 2020-12-31 | 道路三维模型生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011642398.0A CN112733231B (zh) | 2020-12-31 | 2020-12-31 | 道路三维模型生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112733231A CN112733231A (zh) | 2021-04-30 |
CN112733231B true CN112733231B (zh) | 2023-01-31 |
Family
ID=75609135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011642398.0A Active CN112733231B (zh) | 2020-12-31 | 2020-12-31 | 道路三维模型生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112733231B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123075A (zh) * | 2017-05-12 | 2017-09-01 | 四川隧唐科技股份有限公司 | 道路结构物数据交互方法及装置 |
CN107423518A (zh) * | 2017-08-02 | 2017-12-01 | 中建基础设施勘察设计建设集团有限公司 | 利用Civil3D与Revit结合的综合管廊全线BIM协同设计方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3288566B2 (ja) * | 1994-11-10 | 2002-06-04 | 株式会社豊田中央研究所 | 走行レーン認識装置 |
CN101872376B (zh) * | 2010-06-04 | 2012-03-07 | 中国公路工程咨询集团有限公司 | 真三维道路智能设计方法及系统 |
CN105138788B (zh) * | 2015-09-06 | 2018-06-22 | 长江勘测规划设计研究有限责任公司 | 一种道路三维模型全参数化建立方法 |
CN106887020A (zh) * | 2015-12-12 | 2017-06-23 | 星际空间(天津)科技发展有限公司 | 一种基于LiDAR点云的道路纵横断面获取方法 |
CN111047694A (zh) * | 2019-09-29 | 2020-04-21 | 广东星舆科技有限公司 | 一种基于视觉与规则的三维道路建模方法及系统 |
CN111145157B (zh) * | 2019-12-27 | 2023-08-04 | 国交空间信息技术(北京)有限公司 | 基于高分辨率遥感影像的路网数据自动化质量检查方法 |
-
2020
- 2020-12-31 CN CN202011642398.0A patent/CN112733231B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123075A (zh) * | 2017-05-12 | 2017-09-01 | 四川隧唐科技股份有限公司 | 道路结构物数据交互方法及装置 |
CN107423518A (zh) * | 2017-08-02 | 2017-12-01 | 中建基础设施勘察设计建设集团有限公司 | 利用Civil3D与Revit结合的综合管廊全线BIM协同设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112733231A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111103595B (zh) | 一种数字线划图的生成方法和装置 | |
KR100946250B1 (ko) | 수치지도 제작용 항공촬영 영상물의 편집처리를 위한 항공촬영이미지의 식별코드 삽입용 영상처리시스템 | |
CN114969935B (zh) | 一种基建图形算量方法、系统、电子设备及存储介质 | |
US20160103936A1 (en) | Rule based three-dimensional (3d) intersection model | |
JPWO2005098792A1 (ja) | 地図情報生成装置、地図情報生成方法、および地図情報生成プログラム | |
CN115017569A (zh) | 一种二、三维联动的桥梁参数化建模、出图方法、装置、设备及介质 | |
Yang et al. | A map‐algebra‐based method for automatic change detection and spatial data updating across multiple scales | |
CN116994452A (zh) | 一种道路数据的处理方法、装置、电子设备和存储介质 | |
CN103970901A (zh) | 一种地理信息图形数据整合方法 | |
CN117011413B (zh) | 道路图像重建方法、装置、计算机设备和存储介质 | |
CN112733231B (zh) | 道路三维模型生成方法、装置、计算机设备和存储介质 | |
JP3613118B2 (ja) | 交通流シミュレータ及びナビゲーション端末 | |
CN115937352B (zh) | 矿山场景仿真方法、系统、电子设备及存储介质 | |
CN116597317A (zh) | 遥感图像变化检测数据生成方法、装置、设备及介质 | |
JP2007256402A (ja) | 地図データ生成装置 | |
JP2009217660A (ja) | 地図データ処理プログラム及びプログラムを記録したコンピュータ読取可能な記録媒体 | |
JP5320576B1 (ja) | 高台整地プログラム、ダイナミックリンクライブラリ及び景観検討装置 | |
CN115249303A (zh) | 基于图纸分割的布点绘制方法、装置、设备及存储介质 | |
Turner et al. | Creating a dataset of historic roads in Sydney from scanned maps | |
Di Benedetto et al. | Integration of LiDAR data into a regional topographic database for the generation of a 3D city model | |
CN114283441B (zh) | 适用于铁路客站的二维图纸识别建模方法和装置 | |
JP4795820B2 (ja) | 地図データ作成装置、地図データ作成方法、地図データチェックプログラム | |
JP2000276476A (ja) | 道路地図ベクトル化方法および装置 | |
CN117576255B (zh) | 作业区域确定方法、装置、计算机设备和存储介质 | |
JP5039978B1 (ja) | 三次元図形演算プログラム、ダイナミックリンクライブラリ及び景観検討装置 |
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 |