汤圣君 朱 庆 赵君峤
(1.武汉大学测绘遥感信息工程国家重点实验室,武汉 430079;2.西南交通大学地球科学与环境工程学院,成都 610031;3.同济大学电子与信息工程学院计算机科学与技术系,上海 200092)
近年来,不同领域的空间数据标准的制订和领域间信息的共享成为了推动空间信息技术及其应用发展的重要驱动力[1]。建筑信息模型(BIM)精细程度高,包括几何、物理、规则等丰富的建筑空间和语义信息,可用来实现对工程全生命周期的数字化管理[2],在各类建筑工程领域得到了大量应用。由于BIM 模型数据量大,可视化预处理时间长,目前主要被用于对单个项目工程的设计、管理应用。三维地理信息系统(3DGIS)基于空间数据库技术,面向从微观到宏观的海量三维地理空间数据的存储,管理和可视化分析应用,支持大范围的空间数据集,从而可以用于支撑对大规模工程的协同分析和共享应用[3]。
BIM 和GIS 的集成一方面使得已有的三维模型可得到极大重用:大量高精度的BIM 模型可作为3DGIS 系统中一个重要的数据来源[4,5];另一方面,BIM 和GIS 的集成可以深化多领域的协同应用,如建筑分析、城市规划、轨道交通建设等[6]。还可实现从几何到物理和功能特性的综合数字化表达,从各专业分散的信息传递到多专业协同的信息共享服务,从各阶段独立应用到设计、施工、运行与维护全生命周期共享应用。BIM 与GIS 集成已经成为国际学术界和工业界的前沿技术。
IFC (Industry Foundation Classes)和CityGML(City Geography Markup Language)分别作为BIM 和3DGIS 领域通用的数据模型标准[7,8],前者具有面向设计和分析应用的多种几何表达方式和丰富的建筑构造、设施几何语义信息,后者更加强调空间对象的多尺度表达,以及对象的几何、拓扑和语义的表达的一致性。并且,其定义的多个细节层次(LoDs)的建筑物模型,为大场景可视化和空间分析提供了有利的条件。两类数据模型的几何、语义信息共享成为BIM 和GIS 集成的基础。
由于IFC 和CityGML 分别使用了不同的对象几何表达方式和语义,国内外关于两者互操作的研究主要有以下两个方面:基础数据模型的融合和现有数据格式的集成。
前者如BIM 和GIS 模型的统一表达模型。El-Mekawy 等人提出了一种统一的数据模型用于整合IFC 和CityGML 中的语义类型[1]。Berlo 使用ADE将IFC 数据集成到CityGML 中[10]。Isikdag,U.和S.Zlatanova 在[9]的基础上提出了一个从BIM 模型自动转换不同LOD CityGML 模型的框架[1]。de Laat 等人描述了一种CityGML 的扩展标准GeoBIM的发展状况,GeoBIM 可更大程度的将IFC 语义信息集成到GIS 框架中[11]。为实现在IFC 与CityGML之间标准化的映射,El-Mekawy 提出了一种双向转换的方法[12]。
由于不同领域内对空间对象的表达和理解的差异,并且对象语义的标准化尚待进一步研究。目前数据模型的融合还难以实现并得到不同领域的认同,因此大部分相关工作都集中于设计两者模型数据格式之间的转换方法[12]。
Nagel 设计了一个格式转换工具,以实现IFC格式模型到CityGML 格式LOD1 模型的自动转换[9]。IFCExplorer,BIMServer 和Feature Manipulation Engine(FME)等软件产品也开发了将IFC模型转换到多种层级的CityGML 模型的功能。但是,其都难以实现IFC 与CityGML 的完整映射。最近Donkers 提出了一种基于语义映射和三维几何运算的IFC 模型到CityGML LOD3 模型的自动转换方法[4],该方法对IFC 中与CityGML LOD3 模型相关的语义类型进行了分析,并在此基础上对相关的信息进行筛选,最后利用形态学算法和布尔运算提取出了模型的外壳,并赋之以正确的语义。本文借鉴了该研究成果,并试图将对两种标准的语义和几何融合的讨论扩展到更加广泛的范围,为实现IFC 到CityGML 多尺度自动转换提供基础。图1 描述了BIM 实体模型到多细节层次GIS 表面模型的转换流程。多层次语义信息过滤为几何信息提供过滤条件,经过语义信息过滤可获取IFC 实体几何且保留IFC 语义信息;经过几何信息转换为GIS 的表达形式后,实现IFC 到CityGML 的多层次语义映射,最后进行几何语义增强得到不同LOD 层级的CityGML模型。
IFC 是Building SMART 为BIM 应用提出的一种开放数据标准,以实现建筑内信息的表达,共享及应用,并已成为了国际标准(ISO16739)[13]。目前大部分BIM 软件均支持IFC 数据格式的导入导出。CityGML 是OGC (Open GIS Consortium)提出的为实现三维城市模型信息共享和可视化的国际标准,它定义了城市空间对象的三维几何,拓扑,语义信息。为实现IFC 与CityGML 数据集成,表1 中描述了两者在几何,语义等方面的区别和联系。
表1 IFC 与CityGML 数据表达的异同
在几何表达上,IFC 中通常有三类表达形式,边界描述(B-rep),扫描体以及由构造实体几何(CSG)[14]。在边界描述中,一个实体由多个边界面片的组合来呈现。扫描体可通过线性的拉升或者旋转拉升形成,拉伸的路径用轴和角度来进行定义。CSG 可以由多个基础几何体例如,球,立方体等经过布尔运算生成。而CityGML 中的三维几何主要是以边界描述来表达[15]。在语义信息上,IFC 模型包含大量的建筑细节描述,具体有600 多个对建筑实体的定义和300 多个对建筑类型的定义,同时还包含各种建筑部件间的语义连接关系,例如Ifc-Site,IfcBuilding,IfcBuildingStorey 三个类型之间的层次关系被IfcRelAggregates 连接表示。CityGML 中应用了5 个LoDs 对建筑物、建筑物部件以及建筑物附属设施由简到繁的表达。LOD0 表达了建筑物的底面平面以及屋顶平面;LOD1 则是简单表达建筑物体量的块体建筑;LOD2 在LOD1 的基础上加入了对房屋的附属结构和屋顶的描述;LOD3 在LOD2 的基础上进一步增加了详细的几何外观以及对"开口"的描述;LOD4 增加了对室内信息的表达,如楼梯、房间、家具等,具有最详细的几何和语义信息。图2描述了IFC 模型中BuildingElement 和CityGML 的语义信息对比。由于CityGML 的语义信息相对比较少,通过语义映射,CityGML 大部分的语义信息都可以从IFC 模型中获取。
图1 BIM 实体模型到多细节层次GIS 表面模型的转换流程
图2 IFC BuildingElement 与CityGML 语义描述
在模型外观上,CityGML 更加具有丰富的纹理贴图和材质信息,而IFC 模型中以材质贴图为主,几乎没有纹理贴图。所以从IFC 与CityGML 集成的角度讲,模型外观以CityGML 的数据结构进行表达具有更大的优势。
在应用尺度上,由于三维GIS 系统面向大范围三维场景的管理和可视化,其三维模型结构也相对简单,而BIM 模型数据复杂,数据量大,难以大范围的显示,更多的是以单个或多个建筑模型呈现,其分析也是以模型内部的分析为主,例如碰撞分析,布尔运算等。
IFC 中有900 个不同的类型,这些类型存储的信息各不相同,有关联关系,属性,几何表达等各种类型。在这些类型中,不是每种类型都包含有转换所需的几何信息,也不是所有的几何信息都需要转换到CityGML 中,因此几何信息过滤成为IFC 与CityGML 几何信息共享的第一步。几何信息过滤时,CityGML 中不同LOD 层次所需的几何信息不一致,需要根据语义信息类型进行过滤,例如LOD1 模型不包含窗户、门等信息。IFC 中大部分的类型用于表达要素之间的关联关系或属性等,其本身不包含几何信息,对于这类信息在几何过滤的过程中可将其直接筛选出去,最后将能映射到CityGML 中的有用的几何实体类型过滤出来。
通过对两个标准的分析,转换所需的几何信息都存储在IFC 标准框架中的IfcBuildingStorey、Ifc-Site、IfcSpace、IfcOpening、IfcBuildingFurnishing 和IfcBuildingElement 的子类型中,具体的几何信息过滤流程如图3 所示。
图3 IFC 几何信息过滤流程
从图3 可看出,IFC 几何信息过滤的流程是:首先根据IFC 框架确定所需过滤的几何信息类型,然后通过IFC 数据解析,遍历所有IFC 对象,判断其是否为需筛选类型,若判断出其类型为需筛选对象,则输出其几何信息和相关联的属性数据。由于IFC标准模型并不包含对建筑物对象的LOD 模型的表达,因此,在转换中还需要根据CityGML 模型的要求对几何信息和相关的语义信息进行进一步处理,例如根据建筑物的高度和地面轮廓生成对应的LOD1的CityGML 模型,根据建筑物构件的集合提取到LOD2 以及LOD3 模型的建筑外壳[16],这些转换处理所需的原始数据大都可直接通过IFC 几何过滤得到;LOD4 模型中室内信息的提取同样十分重要,需要区分内、外墙面、内、外天花板面和内、外地板面。现有的面向LOD3 模型的转换方法能获取到模型的外部信息,但是缺乏对其内部信息的筛选。因此,在针对LOD4 模型的转换过程中,必须使用内、外信息区分算法。LOD4 中Room 空间信息可从Ifc-BuildingStorey 或IfcCovering 内提取,但部分IFC 模型内IfcBuildingStory 没有区分每个Room 空间,而是表达整个楼层的空间。所以需要基于已获取的几何数据,包括WallSurface、GroundSruface、Interior-WallSurface 和FloorSurface,通过空间提取算法将建筑中的Room 空间提取出来,详见3.2 节。
表2 CityGML 中各语义信息的特性
IFC 模型中包含四个不同的层次,包括资源层,核心层,信息交换层以及领域层,其中信息交换层定义了建筑设计、施工管理、以及大量的建筑元素等,用以各项目间的信息交换。IFC 和CityGML 模型转换可从信息交换层中的实体(Entity)信息层开始[1]。建筑元素包括建筑模型中基本的构件,例如横梁,地板,墙面等。每个建筑元素都包含Defined Type,Enumeration,Select Type 和Entity 等信息,每一个Entity 中都包含几何表达方式,位置等信息。而CityGML 中,不同LOD 层级包含的语义信息不同,每类都具有其特性,其中如表1 所示,描述了CityGML 中各语义信息的特性[17]。
通过分析IFC 各类型的数据特性,其到CityGML 模型的语义映射方法可分为一对一映射,一对多映射[6,16],及间接映射三种类型。以下为三类映射方法实现的详细描述:
1)一对一映射
一对一映射即一个IFC 类型直接映射为一个CityGML 类型,例如IfcWindow 和IfcDoor 可以一一映射的方式分别映射为CityGML 中的Window 和Door,如表3 中为IFC 到CityGML 一对一映射规则,在CityGML LOD4 中没有对室内物体进行单独的语义描述,大部分室内实体都可用BuildingInstallation 来表示[16],例如楼梯,横梁,阳台等,所以可将IFC 中的室内信息映射为BuildingInstallation。IfcDoor,IfcWindow,IfcRoof,IfcOpening 可分别以一一映射的方式映射为Door,Window,RoofSurface 和ClosureSurface。
2)一对多映射一对多映射即一个IFC 类型可映射为多个CityGML 类型,例如可将IfcFooting 映射为Wall,Floor 或Ceiling,具体参考[6,16]。然而[3]在提出语义映射规则之后,通过几何算法只提取了建筑外壳信息,未对室内对象,如内墙,天花板以及地板进行处理。而室内信息对于IFC 模型向CityGML LOD4 模型的转换中是非常重要的,WallSurface 和InteriorWallSurface,OuterCeilingSurface 和CeilingSurface,OuterFloorSurface 和FloorSurface 之间的区分,需通过内外面区分几何算法区分开。如图4 所示为IFC 与CityGML 一对多语义映射流程。图中语义映射规则在[3]的基础上上加入了InteriorWallSurface、CeilingSurface、FloorSurface、Room 等语义要素。
3)间接映射
间接映射即无法从IFC 类型直接映射到CityGML中,基于一对一映射和一对多映射结果经过几何运算才能得到。CityGML 中的Room,在IFC 模型中Ifc-BuildingStore 和IfcCovering 类型可获得Room 空间时可以一对一或一对多的方式实现映射,部分情况下Ifc-BuildingStore 和IfcCovering 不直接包含Room 空间信息,通过传统方式无法获取到Room 信息[16][13]。
经过一对一映射和一对多映射之后,可获取到GroundSurface、FloorSurface、WallSurface 和InteriorWall-Surface 的几何信息。以墙面及地板几何信息为基础,可通过室内空间提取算法实现Room 的二维空间提取。本文基于Navigation Mesh Generation 实现了Room 的空间提取。图5(a)为原始模型,包括WallSurface 和GroundSurface 要素,(b)为经过空间提取或获取的Room 空间轮廓。可看出,通过此算法可正确的提取出Room 的二维轮廓,然后根据IFCBuildingStorey 中提供的楼层高度,还原出CityGML 中的Room 空间。
图4 IFC 与CityGML 一对多语义映射流程
表3 IFC 与CityGML 一对一映射规则
为验证以上提出的IFC 与CityGML 语义信息共享的方法可行性,本文以Building SMART (http://www.buildingsmart-tech.org/)网站提供的标准的IFC 三维模型进行测试,使用开源代码IfcOpenShell library Version 0.3.0 进行IFC 文件的解析,使用本文提出的方法,成功筛选出CityGML 所需的几何信息,并将IFC 几何表达转为三角网形式进行表达,但个别会有材质缺失的情况。语义映射中,内外区分算法在建筑轮廓为凹多边形的情况下会存在识别错误的问题,需要继续改进算法。但对于矩形建筑来说本文提出的方法能够有效的区分出内部信息和外部信息,而且通过室内空间提取算法能准确将Room 空间提取出来。图6 中a 图为IFC 原始模型,b 图为CityGML 的拆分模型,两图对比可看出,经过筛选后,各个类型为独立的几何要素,且包含对应的语义信息。
图5 Room 空间提取-间接映射
图6 IFC 原始模型与CityGML 拆分模型
本文提出了一种IFC 与CityGML 建筑几何语义信息共享的方法,详细描述了IFC 到CityGML 的转换中的几何信息过滤方法及语义映射规则。此方法可初步将实现规则IFC 建筑模型到CityGML 的几何和语义映射。但将IFC 转换到CityGML 后,经过几何过滤和语义映射后也难以完全符合当前的CityGML 标准,例如房间的两个相邻的墙在IFC 中会用两个相邻的实体表达,在CityGML LOD4 模型中则会分别用一个外墙面和内墙面表示,所以相应几何、语义精化方法是下一步工作中的研究重点。本方法的提出为IFC 模型到多细节层次CityGML 模型的自动转换提供了良好的基础。
[1]Isikdag U,Zlatanova S.Towards defining a framework for automatic generation of buildings in CityGML using building Information Models[M].3D geo-information sciences,Springer,2009,79-96.
[2]Hallberg D.On the use of 4D BIM in LMS for construction works[J].Journal of Information Technology in Construction.2009.
[3]Zhu Q,Zhao J,Du Z,et al.Towards semantic 3D city modeling and visual explorations[M].Advances in 3D Geo-Information Sciences,Springer,2011,275-294.
[4]Peachavanish R,Karimi H A,Akinci B,et al.An ontological engineering approach for integrating CAD and GIS in support of infrastructure management[J].Advanced Engineering Informatics.2006,20(1):71-88.
[5]李德超,张瑞芝.BIM 技术在数字城市三维建模中的应用研究[J].土木建筑工程信息技术.2012(1):47-51.
[6]El-Mekawy M.An evaluation of ifc-citygml unidirectional conversion[J].International Journal.2012.
[7]Liebich T,Adachi Y,Forester J,et al.Industry foundation classes IFC2x edition 3 technical corrigendum 1[Z].2012.
[8]Consortium O G.OGC City Geography Markup Language CityGML encoding standard version 2.0.0[Z].2012.
[9]Nagel C,Kolbe T H.Conversion of IFC to CityGML[C].2007.
[10]Van Berlo L.CityGML extension for Building Information Modelling (BIM)and IFC[J].Free and Open Source Software for Geospatial (FOSS4G),Sydney.2009.
[11]de Laat R,van Berlo L.Integration of BIM and GIS:The development of the CityGML GeoBIM extension[M].Advances in 3D geo-information sciences,Springer,2011,211-225.
[12]El-Mekawy M,östman A.Semantic mapping:an ontology engineering method for integrating building models in IFC and CityGML[J].Proceedings of the 3rd ISDE Digital Earth Summit.2010:12-14.
[13]Iso.Industry Foundation Classed(IFC)for data sharing in the construction and facility management industried[S].2013.
[14]张建平,张洋,张新.基于IFC 的BIM 三维几何建模及模型转换[J].土木建筑工程信息技术.2011(1):40-46.
[15]Foley J D,Van Dam A,Feiner S K,et al.Introduction to computer graphics[M].Addison-Wesley Reading,1994.
[16]Donkers S.Automatic generation of CityGML LoD3 building models from IFC models[D].TUDelft,2013.
[17]Boeters R.Automatic enhancement of CityGML LoD2 models with interiors and its usability for net internal area determination[D].Master's thesis Section GIS Technology,Delft University of Technology.URL:http://www.gdmc.nl/publications/ 2013/Automatic_enhancement_CityGML.pdf,2013.