复杂立交桥三维桥面模型的构建方法
2022-01-21刘一飞江文萍马家俊黄欣然夏竹君
刘一飞 江文萍 马家俊 黄欣然 夏竹君
(1.武汉大学 资源与环境科学学院, 湖北 武汉 430079; 2.中国地质大学(武汉)地理与信息工程学院, 湖北 武汉 430074)
0 引言
当今,随着城市化进程不断加剧,传统的平面交通道路不足以满足急剧增多的机动车通行需求,修建越来越多的立交桥,以缓解拥堵,提高城市交通水平,立交桥对于城市发展有重大意义[1]。随着立交桥数量的不断增多,其三维可视化也成为数字城市、智慧交通和三维地理信息系统等领域的重要课题。各类立体交通设施不断发展,为了更大化地提高交通运输效率,根据不同的地形与地理位置环境,各式各样的立交桥被修建[2]。一些复杂立交桥甚至难以用平面图进行表达,因此,对立交桥三维模型构建有了更高的要求。
目前主要的立交桥三维模型构建方法为依靠人工使用计算机辅助设计等方式手动建模[3],以及使用车载、机载等平台搭载遥感传感器进行数据采集并建模[4-5]。对于人工建模法,虽然能够构建出效果逼真、精细的立交桥模型,但建模过程需要耗费大量的人力和时间[6]。对于遥感类的建模方法,虽然能实现模型的高效构建,但是需要进行额外的外业作业并投入大量的物力资源[7]。为此,亟须一种效率高、低成本的三维立交桥模型构建方法。
相比于三维地理信息数据,二维基础测绘测量数据和数字表面模型(Digital Surface Model,DSM)数据较为容易获取。因而,本文提出了一种利用立交桥中心线及相应宽度、立交桥范围的数字表面模型进行复杂立交桥三维模型快速构建的算法和方案,基于三维开源图形渲染引擎(OpenSceneGraph, OSG)实现立交桥面模型的自动化构建和显示。
1 立交桥建模分析
立交桥形式多种多样。通常情况下,可按相交道路是否互通分为分离式立交和互通式立交。而互通式立交又可分为完全互通式立交和部分互通式立交[8]。完全互通式立交涉及多条车道交错,直接根据俯视图较难对其车道走向进行直接辨识。而且多数完全互通式立交为多枝多层,利用传统方法对这类立交桥建模更为困难。完全互通式立交桥按照外形划分,其代表有苜蓿叶形、菱形、喇叭形等[9]。因此,为说明建模方案的有效性与适用性,本文选取较为复杂的苜蓿叶形与菱形立交进行建模分析。实验数据形态(中心线)俯视如图1所示。
图1 立交桥俯视图
立交桥中心线及中心线对应的立交桥宽度较易获取,进而采用立交桥区域位置的DSM数据,处理得到含有高程信息的点要素数据[10]。因此,本文方法立交桥面建模选用的数据为带有宽度字段的立交桥中心线Shape格式折线数据,以及立交桥区域内带有高程字段的Shape格式离散点数据,如表1所示。
表1 立交桥建模所需数据
2 立交桥建模方案
由于互通式立交桥整体相对复杂,为更加准确地说明立交桥建模流程和算法,本章节选取一段立交桥局部区域详细说明立交桥面模型构建。
2.1 桥面有效高程获取
由立交桥中心线及桥面宽度属性可确定立交桥二维形态。为使立交桥中心线数据在三维层面延展,可根据高程点数据对其高程进行提取、计算和赋值。因为与桥面位置范围一致的高程点所表达的高程信息为桥面的真实高程,所以首先要将上述与桥面的位置范围一致的高程点进行筛选。
对全部高程点初筛,得到立交桥外接矩形范围内的高程点集P。然后,分别计算高程点集P中每个高程点Pi到每条立交桥中心线Lj的距离。因Lj是由多段折线构成的折线段,所以需要求Pi到Lj中每一折线段的距离,并记dij为Pi到Lj中各线段距离的最小者。如图2所示的局部区域,分别计算P1到线L1和L2中各线段的距离,用虚线表示。其中点到折线段最近距离用更深颜色的虚线标出,并分别标记为d11和d12。设立交桥中心线段Lj宽度的一半为wj,若dij≤wj,则认为高程点Pi为立交桥中心线段Lj的有效高程点,并将Pi与Lj互称相关。在图2的示例中,P1与L2相关。
图2 桥面相关高程点的计算
图3 高程点的吸附计算
根据求得的实际高程点,经线性内插法,得到立交桥的整体高程情况[11]。以每一条立交桥中心线端点作为起点,对每一条线建立道路线性参考坐标系[12]。在线性坐标系下,可计算出上文中求得的立交桥中心线实际高程点的线性参考坐标值。再利用线性坐标,找到距离每一折线段节点最近,即线性坐标差值最小的前后两高程点进行线性内插,得到立交桥中线各折线段节点的高程值。
2.2 桥面空间三角网构建
以立交桥中心线为轴线,桥面宽度的一半为半径构造缓冲区,得到中心线两侧的缓冲区边线,即立交桥边线。一般地,立交桥两侧边线的折线段节点高程值应与中心线对应位置的折线段节点高程值一致[13]。分别对立交桥边线折线段节点进行高程值的赋值,得到了具备三维属性的立交桥边线。
以立交桥两侧边线的折线段节点作控制点,以立交桥两侧边线作约束边,构建约束Delaunay三角网[14]。三角网应分段构建,即依次对每一段立交桥中心线对应的边界进行构建。由此得到分段的立交桥面不规则空间三角网。
而在实际场景中,立交桥桥面各处的宽度并非一致,且立交桥中存在多段道路交汇的场景。仅通过立交桥边线逐段构建空间三角网得到的桥面在不同段道路交汇的位置会出现衔接异常,具体体现在道路变宽变窄的情况,以及多条道路交汇、匝道位置。因此,需要对立交桥交汇衔接位置进行优化[15]。
为识别立交桥各处交汇情况,将每一座立交桥按照图结构进行存储。每一立交桥中心线作为图的边,而立交桥中心线的端点位置作为图结点[16]。下文对桥面宽度变化位置和匝道合并位置的三角网优化进行说明。
2.2.1桥面宽度变化位置的三角网优化
桥面宽度变化主要出现在两条立交桥中心线的衔接处,对应于立交桥图结构中结点度数为2的情况。由于不同段立交桥中心线具备不同的宽度,依据此形成的桥面空间三角网宽度也会不同。
对于某段待优化的单侧变窄局部立交桥面,经桥面三角网生成过程,已经得到的空间三角网在平面上的投影如图4(a)所示,为了便于后文中的叙述,将图中上侧的道路称为“较窄道路”,而下侧的道路称为“较宽道路”。首先移除较窄道路的三角网,并将较窄道路的中心线控制点按序标出,结果如图4(b)所示。接着,从交汇的位置点1出发,沿较窄道路立交桥中心线向上找到与其最近的控制节点2。从较窄道路的立交桥中心线控制节点集中移除节点1,将节点2作为较窄道路立交桥中心线端点,并重建较窄道路面三角网,如图4(c)所示。从较宽道路三角网中,找到节点1对应的立交桥边线控制节点,命名为节点A,B;从较窄道路三角网中,找到节点2对应的立交桥边线控制节点,命名为节点C,D,并将A,B,C,D组合为多边形,如图4(d)所示。最后,在这一多边形内部构建空间三角网,得到优化后的交汇面,整体效果如图4(e)所示。
图4 桥面宽度变化位置三角网优化过程
2.2.2桥面匝道合并位置的三角网优化
在立交桥中,通常将相交的主要道路称干线(主线),相交的次要道路称支线(引线),连接干线与支线互通的线路称为匝道[17]。它们对应立交桥图结构节点度数为3的情况。其优化过程涵盖干线支线的识别、交汇平滑过渡、支线交汇合并、支线重组分离与连通区域构建等工作,最终得到过度均匀并符合实际情况的匝道三角网。
对于某匝道交汇,经桥面三角网生成过程,得到的空间三角网在平面上的投影(粗实线)如图5(a)所示。记图5(a)中上方的道路L1为干线,而下方面的两条道路L2与L3为支线。进而,找到交汇位置处干线的两立交桥边线端点,即图5(b)中的点A和B。并找到交汇位置处两支线外侧的立交桥边线端点,即图5(b)中的点C和D。将点C移至A处,点D移至B处,得到结果如图5(c)所示。对两支线桥面三角网的二维投影进行多边形裁剪操作,按照区域取并处理,并将两支线内侧边界的交点设为点O,得到结果如图5(d)所示。
随后,从O点向支线的合并边界线两外侧做垂线,分别相交于两支线的中心线于点M,N,垂足为P,Q,如图5(e)所示。两支线的起始端点不变,将M,N作为两支线的末端点重建三角网,得到新的支线道路三角网,如图5(f)所示。最后,清除A,B,P,Q、O五点组成的区域内的所有三角网及边线要素,并在此区域重新进行三角网的构建,得到优化后的匝道交汇面,最终结果如图5(g)所示。
图5 桥面三路交会位置三角网优化过程
而度数大于3的其他交汇情况与匝道的优化基本相同,在提取一条干线和多条支线后,对支线做相似处理即可对匝道处桥面三角网完成优化。
根据上述方法对立交桥宽度变化位置及匝道进行处理,实现桥面空间三角网的创建。
2.3 桥面三维模型生成
为实现三维立交桥面模型实现自动化构建,本文在技术上采用OSG三维渲染引擎。OSG是一个专为3D计算机图形开发而设计的高层次的可编程接口,广泛用于虚拟仿真、动画设计以及各种可视化程序中。OSG具备快速开发、较高的渲染性能等优势[18]。
每段道路构建过程如下。首先,依据道路三角网、两侧道路边线构建出立交桥道路面,因桥面有一定的厚度,因此,还需要将道路面向z轴方向平移一定距离,创建立交桥底面。对于立交桥道路面,可以依据左右边界和中线进行纹理绑定,根据不同的道路宽度及车道属性,采用不同类别车道线纹理样式进行可视化;对于立交桥底部,采用水泥墙面样式纹理。而后,构建立交桥道路两侧墙体,设置墙体面的高度为道路底面创建过程的平移距离,然后根据道路面的边界线折点进行创建。墙体的纹理同样采用水泥墙面样式。由此,得到的一段三维道路面,如图6所示。
图6 三维道路面
为了得到完整立交桥三维模型,还需进行桥墩、桥侧护栏和指示牌等立交桥附属设施三维模型的创建[19]。这些附属设施模型可根据二维基础测绘数据中相应的点要素调取模型库中的三维模型,或人工进行标记建模。由此,实现高效且便于操作的三维立交桥模型交互构建。
2.4 立交桥模型实例构建
根据实验数据的苜蓿叶型与菱形立交进行立交桥模型的实例,结合本文方法进行三维桥面模型构建。利用优化后的空间三角网进行建模和贴图,并基于OSG实现,最终得到的整体效果和细节示意如图7所示。
图7 苜蓿叶形立交(左)与菱形立交模型及细节
上述整个建模过程无须人工干预,仅需要将数据导入程序,便可以根据建模算法自动化完成。
3 结束语
本文提出了一种复杂立交桥三维桥面模型的构建方法,根据这一方法,仅需通过二维基础测绘测量数据中的立交桥中心线及对应宽度、DSM数据即可自动化完成三维立交桥桥面的建模。在此基础上,用户可以通过3DsMax等软件对生成的桥面模型进行编辑,从而高效构建更加精细的模型。
立交桥三维模型快速构建方法中的自动化三维桥面构建算法总结为:首先,提取DSM中与立交桥相关的有效高程点;然后,按立交桥中心线和桥面进行缓冲区拓宽得到桥面三角网;进而,进行桥面三角网交汇位置的处理。利用得到的桥面三角网在OSG中进行贴图和可视化,从而完成三维立交桥桥面模型的构建。
在我国立交桥、高架桥数量急剧增长的今天,其三维模型的快速构建的需求更为迫切。依据本文提出的方法,可以自动化快速生成立交桥的粗模,并经相对便捷的人工操作就可以得到立交桥的桥面精细模型,从而应用于三维城市建模、智慧城市等多个领域。但是这一方法依然存在不足之处,如构建的桥面模型在匝道交汇衔接的位置难以得到绝对真实的效果,桥面底部和侧面只能以一种固定的模式呈现,其附属设施如桥墩及指示牌等还未能可视化呈现。后续的研究将针对这些不足进行完善,从而得到一个更加完备的立交桥自动化建模方法,建立更加精细的立交桥三维模型。