张文胜,吴 强,祁平利,伍忠国1,,王丙占
(1.石家庄铁道大学 交通运输学院,河北 石家庄 050043;2.石家庄铁道大学 河北省交通安全与控制重点实验室,河北 石家庄 050043;3.中国国家铁路集团有限公司,北京 100844;4.中铁第五勘察设计院集团有限公司 技术研究处,北京 102600;5.石家庄交通勘察设计院 总工办,河北 石家庄 050071)
建筑物信息模型(Building Information Modeling,BIM)与三维地理信息系统(Three-Dimensional Geographic Information System,3DGIS)集成技术是微观信息和宏观场景的结合。美国斯坦福大学的工程中心(CIFE)最先提出了应用BIM技术构建4D施工信息理论[1]。在BIM与GIS(Geographic Information System,地理信息系统)的转换与集成研究方面,Song Y和Karan E P等[2-3]使用语义Web技术确保现有BIM和GIS之间语义的互操作性,实现了异构信息的查询。Alvarado等[4]构建了AEC+FM(Architecture Engineering Construction,AEC;Facility Management,FM)集成框架,研究了应用BIM技术对施工计划编制进行集中安排的方法。BIM具有可交换的标准三维格式文件,即IFC(Industry Foundation Class,工业基础类)格式文件,Donkers等[5]提出了一种整合BIM中IFC格式文件和城市地理标记语言CityGML(City Geography Markup Language)数据格式的方法,将IFC格式文件的模型信息提取出来形成表面模型,并赋予语义信息。De Laat R等[6]提出了CityGML的扩展标准GeoBIM,并应用GeoBIM将IFC格式文件的语义信息集成到3DGIS框架中。Wu B等[7]从语义和几何信息的角度进行了BIM与GIS之间转换的优缺点分析,提出了用BIM数据集与GIS进行数据交换的优化方法。Liu Xin等[8-9]研究了BIM与GIS集成解决方案,确定了BIM与GIS集成的数据模型。赵霞、朱亮、汤圣君等[10-13]提出BIM常用软件Revit有语义约束的模型格式RVT到CityGML模型格式的转换方法,通过建立IFC格式文件到CityGML各层级的映射关系,实现了IFC格式文件到CityGML几何与语义信息的转换。秦勇等[14-16]探讨了基于GIS技术构建智能化铁路建设与管理信息系统的方法,为铁路施工管理提供辅助决策。彭雷、吉章伟等[17-18]设计实现了将典型BIM(Revit格式)几何及其语义集成到3DGIS的技术方案,整合了铁路建设过程中产生的空间数据和动态施工数据。Kang T W等[19]提出了一种将BIM集成到基于GIS的设施管理系统中的软件体系结构,并使用ETL(Extract-Transform-Load)概念将带有FM的BIM信息转换为GIS信息。Irizarry J等[20-21]研究了集成的BIM-GIS系统,基于GIS和决策支持系统DSS(Decision Support System)技术,建立了人机交互子系统、模型库子系统、知识库子系统和数据库子系统。上述文献介绍了BIM与GIS的标准格式、BIM与GIS的集成方法等,但这些集成方法存在步骤繁琐、易发生空间信息及属性信息丢失与改变的不足,并且对BIM与3DGIS集成技术的论述较少。
Revit软件是BIM的四大建模软件之一,Skyline软件是目前应用较广的3DGIS软件,因此,本文提出并实现了BIM与3DGIS的集成技术,即首先将Revit软件产生的BIM进行针对3DGIS的快速无损格式转换,然后再集成到3DGIS的软件Skyline中;构建基于BIM与3DGIS集成的铁路桥梁施工管理信息系统,并在蒙华铁路某特大桥的施工中进行应用与验证。
BIM与3DGIS的集成技术包括2部分:一是将Revit软件生成的BIM针对3DGIS的快速无损格式转换,这种转换包括几何信息(如形状、位置等信息)和属性信息(如建筑信息)的转换;二是BIM与3DGIS的集成,主要包括坐标系统的统一,姿态、方位及比例因子的信息读取与变换,模型转换文件的遍历读取与保存,BIM与3DGIS的综合集成与空间表达。
Revit软件生成的BIM针对3DGIS的格式转换方法包括2步:第1步是将BIM的几何信息转换成3DGIS可以接受的*.dae格式文件;第2步是将BIM的属性信息保存到数据库中,并采用元素的ID作为唯一字段,将*.dae格式文件与数据库关联起来,使3DGIS可以接收并导入BIM信息。具体方法是:解析Revit软件生成的BIM的几何信息和属性信息,将BIM按照不同族类型(Category)进行分类;对分类完成的BIM进行过滤,分解成不可再分的最小单元元素(Element);对最小单元元素的几何信息进行遍历,将结果保存到*.dae格式文件中,并以元素ID为文件名;对最小单元元素的属性信息进行遍历,将结果保存到数据库中,设置元素的ID为唯一字段。此方法的优点:在针对3DGIS的转化过程中提供具有唯一ID值的无歧义的最小转换单元元素,不会产生信息的丢失或改变,而且可以通过族库批量进行,从而实现BIM对3DGIS的快速无损转换。Revit软件生成的BIM针对3DGIS的格式转换方法如图1所示。
图1 Revit软件生成的BIM针对3DGIS的转换方法
1.2.1 几何信息的格式转换
几何信息格式转换的算法步骤如下。
步骤1:设置族类型过滤器,获取需要转换的最小单元元素。Revit中BIM的族可以分为用户自建标准族和系统族2类。标准族由FamilyInstance派生,通过ElementClassFilter(typeof(FamilyInstance))过滤。系统族由HostObject派生,通过ElementClassFilter(typeof(HostObject))过滤。用逻辑Or过滤器LogicOrFilter把2个类过滤器(ElementClassFilter)进行合并,获得所需的元素。
步骤2:通过saveFileDialog设置*.dae格式文件保存路径。根据元素的族类别自动建立文件夹,每个元素按照族类别分别保存到相应的族类别文件夹中。
步骤3:遍历元素,获取元素的几何信息GeometryElement。首先导出类ExportFactory,其主要函数为ElementExport,在函数ElementExport中调用函数GetGeometryObject获取元素的GeometryElement。然后对GeometryElement进行遍历,如果得到的几何图元类型为实体(Solid),即可继续执行步骤5。否则,得到几何图元类型为GeometryInstance,转步骤4。
步骤4:根据GeometryInstance的属性对SymbolGeometry遍历,如果得到的为GeometryElement,则转步骤3;否则,转步骤5。
浓香型白酒作为四大香型白酒之一,在我国白酒行业中占有举足轻重的地位。众所周知,白酒品质及风格往往是由各种风味物质的含量与比例关系所决定。优质浓香型白酒中,四大酯类的比例为己酸乙酯>乳酸乙酯>乙酸乙酯>丁酸乙酯[1]。而杂醇油是白酒中最重要的三大芳香组分之一,是3个碳以上的一元醇类物质的总称,其主要成分是正丙醇、正丁醇、异丁醇、异戊醇等高级醇[2]。但是,如果白酒中杂醇油含量过高,对人体有毒害作用,它对人体的中毒和麻醉作用比乙醇强,能使神经系统充血,使人感觉头疼。它还是白酒苦味和涩味的主要来源之一,同时也是造成白酒出现白色浑浊的原因之一[3-4]。
步骤5:遍历元素,获取元素中的几何信息。实体(Solid)由面组成,通过solid.Faces函数获取实体的所有面(Face),通过Face.Triangulate函数对面进行三角化处理得到三角网格模型(Mesh)。遍历Mesh中每个三角面获取元素的几何信息。通过triangle.get_Index获取点索引信息,通过triangle.get_Vertex获取点信息,通过坐标转换矩阵transform转换成全局坐标系坐标;同时对于三角面法线信息,如果是1个平面,则由planarFace.FaceNormal函数直接获取三角面法线,如果不是平面,则需要通过三角面点坐标计算三角面的向量外积,进而得到法线;最后通过坐标转换矩阵transform将法线转成全局坐标系坐标。
步骤6:将上面形成的数据文件通过文件流的方式将数据写入,并保存为*.dae格式。
其中步骤3—步骤5为算法的核心,其计算框图如图2所示。
1.2.2 属性信息的格式转换
首先对每个元素的属性进行遍历,得到属性信息;然后以SQL Server数据库为存贮载体,将属性信息进行保存,数据库表文件由3个字段ElementName、ElementParam和ElementParamValue组成,每条数据保存BIM的1个属性信息;最后以Revit文件名自动命名数据库表文件名,通过SQL插入语句将BIM属性信息数据保存到3DGIS数据库中,从而完成了BIM属性信息到3DGIS的格式转换,实现在3DGIS中进行BIM属性信息的查询和分析。
将BIM转换生成*.dae格式文件后,按照如下流程完成到3DGIS的集成。需要注意的是,采用Revit格式建立的BIM是按照族类别进行分类的,在与3DGIS集成时,也需将*.dae格式文件按照族类别划分入相应的文件夹,从而避免类别不一致带来的兼容性问题。具体的集成步骤如下。
图2 遍历元素获取几何信息的算法框图
步骤1:BIM坐标系与3DGIS坐标系的统一。BIM坐标系是模型坐标系,能够保持整个BIM中各个构件间的空间拓扑关系和空间位置关系的正确;而3DGIS的坐标系多为WGS-84坐标系。研究发现,BIM按照模型基准点进行建模,将模型基准点的坐标和实测基准点的坐标进行一致性转换,可以得到BIM模型在3DGIS中的坐标。具体做法是:将模型基准点在建模软件中设置成坐标原点,该坐标原点的值设置成3DGIS坐标系中的WGS-84坐标原点的值,从而实现BIM坐标系和3DGIS坐标系的统一。
步骤2:确定3DGIS的WGS-84坐标系中的模型坐标,输入高程、航偏角、倾斜角、旋转角和模型缩放比例等模型姿态信息。
步骤3:遍历文件夹中的*.dae格式文件,获取*.dae格式文件的绝对路径。
步骤4:根据*.dae格式文件绝对路径、坐标和模型姿态信息,通过sgworld.Creator.CreatePosition函数将*.dae格式文件集成到3DGIS中。
以1组架空房屋为例,采用Revit软件建立的BIM与集成到3DGIS中的模型效果图如图3所示,可见,Revit软件中的BIM已被完整地集成到3DGIS系统软件Skyline中,且没有发生几何信息与属性信息的丢失。
图3 采用Revit软件建立的BIM和集成到3DGIS中的对比
为了验证本文的BIM与3DGIS集成方法的可靠性,以蒙华铁路某特大桥为例,采用Revit软件构建该特大桥的BIM,并按照设计要求添加桥梁属性信息,构建后的部分模型如图4所示。应用本文方法,将建立的特大桥BIM按照构件类型针对3DGIS进行转换,然后集成到3DGIS中,集成后的模型姿态如图5所示,可见桥梁的空间几何信息及属性信息均完整准确,验证了本文提出的BIM与3DGIS转换集成技术正确可靠。
图4 桥梁的BIM模型
图5 BIM模型集成到3DGIS中
根据提出的BIM与3DGIS集成技术,采用C#编程语言和SQL Server数据库,开发了基于BIM与3DGIS集成的铁路桥梁施工管理信息系统,并在蒙华铁路某特大桥施工项目中进行了实际应用。蒙华铁路特大桥共包含桥墩215个,梁体212个,连续梁2个。构建BIM的桥梁构件种类多、数量大。基于BIM与3DGIS集成的铁路桥梁施工管理信息系统架构如图6所示。该信息系统包含了桥梁BIM与3DGIS的转换与集成模块及基于BIM的桥梁施工管理模块,可以实现BIM与3DGIS的集成、BIM模型的管理编辑、数据库构建与管理、桥梁BIM构件的查询、3DGIS空间分析、桥梁施工冲突检测、基于BIM的施工动态模拟及施工进度管理等功能。系统部分功能图形展示如图7—图10所示。
图6 基于BIM与3DGIS集成的铁路桥梁施工管理信息系统架构图
图7 系统主界面
图8 施工横道图
图9 基于BIM的分阶段施工进度模拟
基于BIM与3DGIS集成的铁路桥梁施工管理信息系统,应用于蒙华铁路某特大桥施工管理项目中,将大批量桥梁构件BIM对3DGIS进行快速无损转换,并集成到3DGIS系统后,利用3DGIS强大的空间管理与分析功能,实现了从3DGIS可视化、漫游和三维空间分析,到BIM施工管理、施工动态模拟和施工进度总览等功能。
图10 基于BIM的3DGIS施工进度总览
3DGIS是空间信息管理与分析的重要手段,BIM集成了建筑工程各阶段的多种信息。本文对BIM与3DGIS集成技术进行了研究,给出了BIM快速无损集成到3DGIS的方法及步骤,实现了BIM三维微观模型与3DGIS宏观场景的集成。
研发的基于BIM与3DGIS集成的铁路桥梁施工管理信息系统,经过蒙华铁路某特大桥1年多的现场应用与实践证明,系统应用稳定可靠,完成了大批量桥梁BIM构件到3DGIS的快速无损集成,实现了大批量桥梁构件BIM与3DGIS的集成,解决了设计、施工与管理不同阶段之间的数据共享与挖掘利用的难题。