根据《中长期铁路网规划(2016年)》,2030年我国高铁将覆盖80%以上大城市,形成“八横八纵”的布局,总体铁路网基本成型
[1]。随着科学技术的迅速发展和我国社会需求的不断变化,传统铁路行业难以满足现代化要求,转型已成为必然趋势
[2]。我国铁路“十三五”发展规划中已明确提出要“大力促进数字化、信息化、智能化铁路建设”,将智能技术融入铁路的全生命周期,加速传统产业的改造升级
[3-4]。其中,在铁路生命周期中的各阶段建设信息平台是实现“三化”的主要手段之一。马建军等
[5]提出了1套基于“平台+应用”模式的铁路一体化信息集成框架,并详细说明了各子平台的功能和相应关键技术。朱欣
[6]基于多模式关系型数据库系统(Multi-model Relationship Database System,MRDBS)搭建了1个供多方协作联通的铁路项目信息化管理平台,从而实现了参建各方的信息共享,有效降低沟通成本,提升项目管理水平。虽然这类平台功能强大,但由于其架构复杂、体量庞大、完成难度较高,需要投入大量建设、运营、维护成本,因此不适用于铁路细分领域。
高铁路基变形对高铁的安全建设和运营有着极大的影响,因此需要进行严格控制。对路基结构进行现场监测是分析高铁路基变形的常用方法之一。Lei等
[7]依托软土地区某高架桥建设工程,通过现场监测和数值模拟等方法,探究了临近基坑群开挖对既有铁路路基竖向变形和水平变形的影响,并提出相应的防护措施。Wang等
[8]针对膨胀土地区路基隆起现象,对高铁路基的纵向连续变形和分层变形进行监测,结合数值模拟和室内试验,总结了高铁路基的膨胀机理和变形响应规律。传统路基监测虽然积累了大量数据,但由于技术滞后,数据整理和分析变得异常困难,导致其工程意义和科研价值无法充分发挥。
近年来,随着智能传感技术和互联网技术的不断发展,构建铁路路基监测信息平台已逐渐成为研究热点。张斌等
[9]以京沪高铁济南西站为工程背景,开发了基于激光测量、先进传感器和无线网络技术的铁路路基沉降远程自动监测系统。Min等
[10]为提高变形监测的精度,建立了1套基于摄像机姿态测量的成像系统,实现了高铁路基沉降的在线实时监测和分析。Li等
[11]针对山区铁路路基结构状况实时监测难度较大的问题,开发了远程数据采集和分析平台,实现了静态和动态数据的自动采集、传输和处理。尽管上述信息平台已实现了部分监测数据存储、分析功能,但是更偏重于实现数据的远程传输,忽略了数据管理混乱和可视化表达程度不足等问题。
建筑信息模型(Building Information Modelling,BIM)技术以三维数字信息工程模型为基础,结合国际通用的工业基础类(Industry Foundation Classes,IFC)标准,经过2次开发,可有效实现信息扩展和多专业协同
[12]。该技术不仅能直观展示项目各部分的空间布局,还具备良好的数据承载力,能够集成多源工程项目信息,并呈现实时交互的数据可视化效果。这些优势使得后期数据的查找和提取更加便捷,有利于提高项目的整体管控能力和标准化管理水平
[13-14]。张田等
[15]针对拱桥施工监测数据利用不足的问题,采用参数化方法建立BIM模型,并进行2次开发,实现了数据的有效管理。Deng等
[16]以Revit软件为开发平台,通过2次开发功能插件实现了桥梁健康监测信息的统一集成和可视化管理。上述研究中的数据可视化方法依赖于专业的BIM软件,并基于客户端/服务器(Client/Server,C/S)架构实现,其集成仍停留于软件互操作层面,对用户设备的性能和操作人员的专业水平要求较高,难以应对工程中出现的各种复杂情况。
网络图形库(Web Graphics Library,WebGL)等可视化技术的发展为解决这些问题提供了新的思路。徐照等
[17]以3D Tiles为中间格式,结合WebGL技术,实现了BIM和地理信息系统(Geographic Information System,GIS)大体量模型在网页端的集成和渲染。刘东海等
[18]利用基于WebGL技术的Forge Viewer工具,实现了BIM模型在网页端的显示,并通过关键字段映射的方法集成监测数据,实现了海量数据的高效管理和可视化表达。刘惊灏等
[19]建立了铁路运维管理云平台,利用基于WebGL技术的Three.js及Cesium.js引擎实现了铁路运维数据和模型在网页端的集成。虽然现有研究对于BIM模型及工程信息在网页端的集成管理及可视化效果方面已取得了一定的进展,但仍然存在平台搭建及模型展示流程不清晰、工程设计与监测数据融合度低等问题。
本文依托现有研究成果,提出一套基于浏览器/服务器(Browser/Server,B/S)架构的高速铁路路基建、运、维监测展示平台构建方案。梳理工程相关信息,利用Revit软件建立传感器实体模型,并基于IFC标准进行了传感器属性的扩展。利用Java语言实现了传感器属性从IFC文件到MySQL数据库的映射。将集成传感器的高铁路基BIM模型转换为图形语言传输格式(graphics language Transmission Format,glTF),通过攻克模型轻量化处理、展示及数据关联等关键技术,实现了模型和监测数据在网页端的集成。并验证方案的可行性,为类似高铁路基监测展示平台的构建和实施提供技术支持。
1 监测展示平台总体架构设计
目前市面上主流监测平台的实现模式主要分为2类。一类为C/S架构模式,该模式下每个用户机都需要安装分配了一定任务的客户端,以充分利用服务器和客户端2部分的硬件环境优势,从而提高响应速度。同时,通过集中管理和分布式计算的方式增强了数据安全性。但是,该模式的适用面相对较窄,存在升级困难、维护成本高等问题。随着互联网的兴起和信息化管理的不断发展,另一类B/S架构模式逐渐得到了广泛应用。该模式下用户机仅需具有操作系统和浏览器即可,无须安装特定软件,所有任务均在服务器端完成,对用户机硬件配置要求较低,其体系结构如
图1所示。在该类网络结构模式下,各层结构在逻辑上具有一定的独立性,系统维护升级操作相对简单,整体可移植性、可维护性和可扩展性较高。
考虑到后期扩展需求和成本,选用B/S架构,以数据库技术、SpringBoot技术、Vue技术和WebGL技术为底层手段,开发前后端分离的高铁路基监测展示平台,具体实现流程如
图2所示。
根据工程实际情况和相关资料,对监测工点、监测数据等信息进行整理,将其传递至基于关系型数据库建立的监测信息库中,实现监测信息的高效存储与综合管理,为高铁路基监测展示平台奠定良好的数据基础
[20]。基于Revit软件建立1套适用高铁路基监测的精细化传感器BIM模型族库,并基于IFC标准实现传感器属性的表达与扩展;基于Java语言构建IFC数据模型与数据库表的映射方法,以实现数据有组织、可共享的长效存储。由于目前高铁路基设计仍然以二维为主,缺少相应的BIM模型交付成果,故根据相关设计图纸进行了简单的监测段BIM模型数字底座逆向重建工作。基于Revit软件,完成了数字底座与路基监测传感器的集成。根据唯一的映射规则实现了监测传感器与相应监测信息的集成,为网页端的可视化展示奠定了基础。
2 基于IFC的监测传感器信息扩展与存储
2.1 监测传感器的建立与属性扩展
监测传感器是监测信息可视化的主要载体,而在高铁监测项目中,涉及的监测传感器种类繁多。为了满足项目需求,并实现监测数据及相应的信息拓展应用,应当建立精细化、参数化的传感器BIM模型。
本文基于Revit软件,根据实际采用的监测传感器以及厂家提供的前后左右立面图,建立相应的监测传感器BIM模型族,部分成果如
图3所示。由于监测项目为高铁路基,呈长大带状分布,而传感器模型相对较小,故其在整体模型中的可视化效果不佳。为进一步增强模型的展示功能,本文在建模过程中设置了1组共享参数,并设定了相关控制参数及逻辑关系,实现了传感器模型尺寸参数化更新的功能。
使用Revit软件建立的传感器BIM模型具有完整的几何属性信息,但对非几何属性信息的描述并不完善。基于传感器数据存储和应用的目的,为保障数据的完整性,避免信息丢失,本文选用IFC标准对高铁路基监测项目所涉及的传感器相关属性进行描述。
IFC标准是一项由国际组织buildingSMART创建和维护的BIM数据标准,采用EXPRESS语言描述,其体系结构从上至下可分为如下4个层次。
(1)领域层:涉及各领域的专业知识,深入领域内部,使得模型能够更准确地描述领域特性和需求。
(2)共享层:包含多领域通用的概念和实体,有助于解决领域信息交互的问题,促进多领域合作。
(3)核心层:是构建IFC模型的基础,定义了模型的基本结构,确保模型的一致性和可扩展性。
(4)资源层:描述标准中用到的基本信息,可以统一管理模型中使用的资源,避免数据混乱和不一致性。
各层能且只能引用同一层次或更低层次的信息,即下层数据资源不会随着上层数据资源的改变而改变。IFC数据体系结构不仅提高了数据的表达能力和互操作性,还保障了标准数据的稳定性和信息扩展的可靠性。
一份基于IFC标准建立的完整数据模型应当包括实体、类型、属性集3大要素,利用相关软件,即可实现该模型在相关领域各专业和各阶段之间的数据交换与共享。目前最新版本的IFC标准(IFC4X3_ADD2版)中与传感器信息存储、表达相关的实体仅有建筑控制领域的IfcSensor和IfcSensorType,且相关的枚举类型IfcSensorTypeEnum中仅定义了32种具体传感器类型及其属性集,并不能覆盖高铁路基监测项目中所应用的全部传感器,故需利用用户定义(USERDEFINED)和未定义(NOTDEFINED)2种可自定义的传感器类型对上述传感器进行扩展。
对于部分已在IFC中预定义的传感器类型,以压力传感器为例,尽管可以利用PredefinedType属性确定其类型为压力传感器,但是在高铁路基监测项目中使用的压力传感器可进一步分为土压力传感器和孔隙水压力传感器,而IFC中预定义的压力传感器却无法进行更细致的分类。此外,压力传感器仅包含量程、单位、安装位置等部分特征,缺少生产厂家、型号、精度等信息,导致模型的整体可读性和精确性无法满足监测传感器信息描述完整性的需求。因此,有必要对其进行扩展。
IFC标准信息扩展主要有3种方式。
(1)扩展实体类型定义:在现有IFC标准实体框架基础上,增加新的实体,但该方法需对IFC标准有深刻的认知,学习难度大,且与现有BIM软件兼容性差。
(2)扩展IfcProxy实体:利用IfcProxy实例化生成对象,然后将其与属性和类型进行关联并拓展,但该方法在现有BIM软件中的识别效率较低。
(3)扩展属性集:基于IFC标准中已定义的实体,利用自定义属性集进行信息扩展,该方法兼容性好,识别效率高
[21]。
本文选用扩展属性集的方式完善监测传感器的信息表述。以沉降物位计为例进行属性扩展分析,其实现流程如
图4所示。
基于Revit软件建立的传感器BIM模型族,利用IFC共享参数文件实现传感器模型与IFC标准的映射,通过定义其IfcExportAs参数为IfcSensor,IfcExportType参数为USERDEFINED,实现模型族实体和枚举类型的指定。利用IFC for Revit工具,实现BIM模型按照IFC标准,以IFC4 Design Transfer View格式导出为IFC数据文件。基于IFC数据文件解析工具包xBIM完成IFC属性集的扩展和IFC内部关联,首先确定传感器扩展的属性集,可分为2类:①存储传感器技术参数相关信息的属性集,即Pest_SensorTechParameter;②存储传感器监测目标相关信息的属性集,即Pset_SensorTarget。各属性集包含的扩展属性见
表1。任一基于Revit建立的传感器BIM模型均会生成唯一标识符ElementID,导出为IFC文件后以Tag属性值存在,可用于定位传感器实体。使用IFC标准中的IfcProperty定义单个属性,使用IfcPropertySet聚合成属性集,使用IfcRelDefinesByProperties物化关系实现属性集与传感器实体的关联。IfcRelDefinesByProperties属于多对多的关系,可以将1个或多个属性集分配给1个或多个实体,这些实体也可以共享相同的属性定义。将扩展属性集后的IFC文件导入IFC数据模型查看软件BIMvision,以验证BIM模型与属性的集成情况。根据
图4所得结果可知,使用上述方法可成功实现传感器属性的扩展。
2.2 监测传感器IFC数据的映射
IFC标准作为建筑信息交换的标准,是目前BIM领域最常用的数据交换格式之一,可支持软件的2次开发,但其文件存在结构复杂度高、冗余信息量大、内部缺乏合理安全机制等问题
[22]。此外,高铁路基监测展示平台是基于B/S架构进行开发的,IFC文件在并行操作和共享数据上的局限性使其无法成为监测信息展示平台的长期数据存储形式。MySQL是一款开源免费的关系型数据库管理系统,具有可扩展性强、读写速度快、灵活性和安全性高等优点,将其作为监测平台数据存储服务器的相关技术成熟,应用广泛,故选用MySQL作为高铁路基监测展示平台数据管理模块的主要软件,相关数据库设计见文献[
23]。为实现传感器属性信息与监测项目信息、动态监测数据的有效融合,本文参考文献[
24],依托Java语言完成了传感器IFC数据模型的解析,并将其映射到MySQL数据库表中,实现了扩展属性后的监测传感器数据的长效存储。通过主键和外键约束,实现了数据信息之间的关联,形成了统一的数据源。
IfcSensor实体与Java语言中的Sensor类和MySQL数据库中的Sensor表形成映射,其数据类型的映射规则见
表2。以IFC模型的属性名作为Java定义的属性名和MySQL对应的字段名。以IfcSensor中的SensorNum属性作为数据库表的非空主键,同时作为监测数据表的外键,实现传感器与监测数据的关联。在MySQL的Sensor表中增设字段名AcquisitionId,数据类型为int,约束类型为外键、非空,实现与采集仪信息的关联;增设字段名MonitoringProjectsId数据类型为int,约束类型为外键、非空,实现与监测项目信息的关联。
3 网页端监测模型及数据可视化
3.1 路基BIM模型的建立及轻量化处理
依赖监测传感器实现数据可视化可以解决相关监测信息的归属和拓展应用问题,但仍然不足以支撑高铁路基监测项目展示的需求。为解决传感器在实际项目中的定位问题,选用与Revit软件属于同一个平台且能进行友好交互的Infraworks软件和Civil 3D软件建立含周边地形的高铁路基模型,作为展现实际工程项目复杂环境的重要载体。
Dynamo是一个开源的编程工具,具备直观的图形化界面和高度的灵活性。它能与Revit软件结合使用,扩展其功能,帮助用户创建和定制复杂的工程模型。此外,该工具的学习成本较低,资源库丰富,能够有效增强工作效率。利用Dynamo工具,可以从Civil 3D中导出包含周边地形的高铁路基模型,并将其导入Revit中。在Revit中,可以使用相应的功能命令建立钢轨、轨枕等轨道模型。最后,将已扩展属性的传感器IFC文件导入Revit,根据实际工程情况将传感器模型放置于高铁路基模型的对应位置。
考虑到Revit软件生成的rvt或rfa格式的文件难以在网页端解析,因此需要对这些文件进行格式转换,以便被物理引擎解析,实现模型在网页端的加载、重构和显示。glTF格式是一种用于传输、加载三维模型和场景的开放型格式,具有轻量、高效和高可扩展性的优点,适用于多种引擎,能够实现网页端的快速加载和渲染,本文选用glTF作为BIM模型的中间格式完成含传感器的高铁路基模型在网页端的展示。将Revit软件中的BIM模型转为glTF格式,首先需要利用Github网站上的开源代码Revit2glTF,结合Revit API接口中的IExportContext接口及封装的函数,以添加外部应用的方式完成对Revit软件的2次开发,实现将BIM模型导出为glTF文件和bin文件。glTF文件存储了模型的结构、材质和场景信息,bin文件存储了模型的几何、纹理和动画等二进制数据。
由于上述glTF格式的高铁路基模型文件体积较大,在网页端加载速度缓慢,影响了平台运行的稳定性,因此需要进一步优化模型。Draco压缩算法是由Google发布、用于压缩和解压缩三维几何数据的开源项目,采用了多种压缩技术,满足各种三维几何数据的压缩需求。该算法压缩率高,能有效减小模型文件的大小,从而提高网络传输和加载的速度。gltf-pipeline是由Cesium团队开发、基于Draco压缩算法封装的开源工具,可从Github网站获取。依托Node.js和命令行窗口,利用该工具可完成对glTF文件的压缩优化处理,具体流程如
图5所示。压缩后模型完整性良好,能够满足高铁路基监测展示平台的需求。
3.2 基于Three.js的监测模型网页端展示
随着数字化技术的发展,网页端动画渲染展示平台也在不断升级,对其性能和功能的要求也逐渐提高。WebGL作为一种万维网三维绘图系统,逐渐得到了广泛应用。WebGL是一种基于JavaScript API的三维绘图协议,可以在浏览器中充分利用显卡、图形处理单元等硬件的性能加速图形渲染,从而实现复杂动态交互式三维图形的创建。此外,目前市面上主流的浏览器均内置了WebGL协议,使得WebGL技术能在不安装插件或额外软件的情况下,借用超文本标记语言第5版中的Canvas元素,实现三维模型在各种设备和操作系统上的正常运行,具有良好的兼容性和跨平台性。但是由于WebGL技术使用了大量的底层代码,复杂度较高,对于编程经验较少的开发者而言,开发和调试难度都偏大,学习曲线过于陡峭,不利于快速入门。Three.js是一种基于WebGL技术封装的JavaScript 3D图形库,隐藏了WebGL的底层细节,提供了高度集成的抽象接口,从而简化了开发过程,使得各种三维场景的创建更为方便快捷。本文选用Three.js对高铁路基监测模型进行渲染,构建相应的网页端展示平台,流程如
图6所示。
3.3 传感器属性及监测数据可视化
在高铁路基监测展示平台中,将传感器模型与监测数据关联,并实现可视化是平台必不可少的功能模块。由前文可知,传感器模型设置有SensorNum这一属性,而数据库的传感器表中将SensorNum作为主键,现场监测数据表中将SensorNum作为外键。基于这一设置,结合Three.js中的射线投射功能,可实现传感器模型与数据库信息的连接。前端用户界面采用了Vue渐进式框架构建,实现了与Three.js的有效整合,从而创建了交互式界面。设置监听鼠标点击事件,可在用户点击页面时激活Three.js的射线投射功能。通过发射射线并检测与模型的交点,确定用户点击的传感器模型,获取相应的SensorNum。随后,前端向后端发送包含SensorNum信息的请求,后端接收请求后,根据信息查询数据库以获取特定的传感器属性和监测数据,并将其返回前端。最终在Vue框架中,利用ElementUI中的对话框组件展示所获取的信息,并通过集成ECharts.js在该组件中展示监测数据时序折线图,实现了用户界面和后端数据的高效连接和实时更新展示。具体流程如
图7所示。
在系统后端的SpringBoot框架中,针对不同类型的传感器,设置不同的触发器,实现对MySQL数据表的监测。即当某特定传感器监测数值超过预定阈值时,后端会触发相应操作,将该传感器SensorNum信息发送至前端。利用Three.js呼吸灯中的高亮和边缘发光显示功能,可在前端接收到监测数据超限信息时,使页面传感器模型呈现出红色示警状态,以便为用户提供直观且有效传感器状态提示,显著提升了监测数据的可视化展示和实时感知效果。
4 基于WebGL的高铁路基监测展示平台应用
在我国,膨胀土广泛分布,由于其不良工程特性,在膨胀土地区建设高速铁路时,需要严格控制高铁路基的变形,以确保线路的平顺性、运营的安全性和乘车的舒适性。针对云桂客专路基实际情况,制定了现场监测试验方案
[25],并通过本文方法建立了云桂客专路基监测展示试验平台。平台集成了含地形的高铁路基监测模型,实现了用户对模型的可视化漫游,深化了BIM模型的应用。通过上述方法,将传感器模型与监测数据一一对应,为用户提供了传感器相对监测位置、属性及其监测数据的时序变化曲线等信息的直观展示,有助于用户实时、动态地了解项目的基本情况。通过呼吸灯完成传感器状态超限示警功能,帮助用户直截了当的判断监测断面状态,快速定位安全性较低区域,避免了繁复的传感器确认工作,有效提高决策效率。
高铁路基监测展示试验平台运行界面如
图8所示。除模型展示页面外,平台还设置了工程概况说明、监测断面展示、传感器数量统计、监测数据统计及警示信息统计等模块,直白简单的布局形式可降低平台的使用门槛,帮助用户快速掌握相关信息。
5 结论
(1)提出了一套基于3层B/S架构的高速铁路路基监测展示平台总体构建方案。该方案通过简洁的流程实现了监测数据和工程数据的高效集成和可视化管理,具有良好的可实现性、可扩展性和可移植性,为铁路路基监测信息化提供了新思路。
(2)基于传感器相关信息,利用Revit软件建立了高度精细化和参数化的传感器模型,并根据IFC标准进行了属性扩展。为保障信息的长效存储,提出一种基于Java语言构建的IFC文件与MySQL数据库表映射方法,通过设置主键约束和外键约束,将传感器属性信息和其他工程信息进行关联。
(3)利用BIM软件建立了含地形信息的高铁路基模型,并成功集成了属性扩展后的传感器模型。同时,提出一种模型格式转换和轻量化处理方法,借助封装了WebGL底层代码的Three.js引擎,在网页端实现了BIM模型可视化展示、监测数据实时更新和传感器超限示警定位功能,有效提升了用户体验,可帮助工程相关人员快速全面地掌握路基状态,促进各方交流协作,辅助决策实施落地。
国家重点研发计划项目(2022YFE0104600)
国家自然科学基金资助项目(52378463)
中铁二院华东勘察设计有限责任公司科研项目(KYL202112-0022)