| 基于语义映射的BIM与3D GIS集成方法研究 |
BIM(建筑信息模型)包含了几何、物理、规则等丰富的建筑空间和语义信息,但由于精细程度高、模型数据量大等特点,目前仅应用于单个桥梁、建筑物等小范围综合体。相比较而言,3D GIS基于空间数据库技术,侧重于大范围、宏观的数据[1]。由此可见,3D GIS与BIM存在着一种互补关系,将宏观领域的3D GIS与微观领域的BIM集成起来,是连接室内与室外、建设彻底的数字化城市的最佳方案。
1 BIM与3D GIS的集成现状针对BIM与3D GIS的集成,目前业界有两种方法,一是BIM将地下管网、地形等基础设施附加到建立的建筑物模型周边;另一种是GIS利用已开发的3D GIS技术和标准将精细的建筑物模型作为地理空间的一种数据源。由于采用的是完全不同的技术和标准,BIM中包含GIS与GIS中包含BIM两种路线得到的结果完全不一样,达不到真正的融合。更关键的是,BIM与3D GIS领域的数据格式完全不一样,3D GIS不能无缝获取BIM信息,反之亦然。由此可知,要解决BIM与3D GIS集成的问题,必须先实现两个领域的数据格式的集成。 IFC(industry foundation classes)和 CityGML(city geography markup language) 作为目前BIM 和3D GIS 领域通用的数据格式标准[2,3],对这两种数据模型融合的研究可以作为两方集成的数据基础,助力BIM和3D GIS真正融合。
2 IFC与CityGML 2.1 IFC与CityGML格式IFC(工程基础类)标准由国际协作联盟(international alliance for interoperability,IAI)于1997年发布,是针对建筑工程领域的产品模型标准,用来实现系统集成、数据交换与共享而定义的一种建筑业的公共语言。IFC 模型中包含4个不同的层次,包括资源层、核心层、信息交换层以及专业领域层,其中信息交换层定义了建筑设计、施工管理以及大量的建筑元素等,用于各项目间的信息交换[4]。
CityGM(城市地理标记语言)包括了城市区域内大部分的地形与地理对象模型及其几何、拓扑、语义与外观属性,还包括不同主题之间的泛化结构、聚合结构、所含对象之间的关系与空间属性[5]。
2.2 IFC与CityGML的差异IFC与CityGML主要有以下几个大的差别:
1) 两个模型对语义对象的定义不一样。IFC关注建筑物的建造和设计,并且提供了板、梁和墙等房屋构件,这些构件通常是多个房间的边界,同时也是建筑物外边界的一部分。CityGML的定义则描述了建筑物如何观察或使用,因此,房间、墙壁或者天花板等对象定义了一个房间。
2) CityGML关注建筑是如何使用和观察的,因此它使用了边界描述来定义空间属性。根据CAAD(computer aided architecture design,计算机辅助建筑设计)/AEC的建设性质,IFC还另外使用了CSG(constructive solid geometry,实体几何构造图形)和扫描几何图形。
3) IFC关注建筑,而并不解决其他对象,比如交通、水体等,这有别于CityGML。
4) IFC的对象仅仅用一个LOD表示,不能像CityGML那样多分辨率显示。
总的来说,IFC具有面向设计和分析应用的多种几何表达方式和丰富的建筑构造、设施几何语义信息,CityGML更加强调空间对象的多尺度表达,以及对象的几何、拓扑和语义表达的一致性。
3 IFC与CityGML的集成方法 3.1 IFC与CityGML数据集成研究现状IFC和CityGML使用了不同的对象几何表达方式,包含的语义信息也有区别,两者的集成方式比较多样化,很难一概而论。目前业界有基于模式、服务、实体、过程、系统等5种技术路线,各个方法的特性如表 1所示。
| 表 1 IFC与CityGML集成技术路线 Table 1 Technology Roadmap of the Integration of IFC and CityGML |
![]() |
按表 1可以把IFC与CityGML的集成再划分成两个大类,即基础数据模型的融合和现有数据格式的集成。
基础数据模型的融合是要建立BIM和3D GIS模型的统一表达模型。Mekawy等人提出一种统一的数据模型用于整合IFC和CityGML中的语义类型[6] 。Laat等人定义了一种CityGML的扩展集GeoBIM,与IFC中的Psets类似,GeoBIM可在CityGML的建筑中添加IFC数据[7]。
IFCExplorer、BIMServer、FME等商业软件都开发了将IFC模型与多层LOD级别的CityGML模型的双向转换功能。其中,IFCExplorer目前已能够实现对IFC模型和CityGML模型的导入、场景整合、模型规范验证,但仍停留在对IFC模型到较低细节层次(LOD2) 的CityGML模型的转换研究上;BIMServer能够在线分析IFC模型并进行版本管理,还支持导出成CityGML、KML等格式,但功能仍显单一,且到CityGML的转换精度不够; FME是目前业界最为流行的格式转换软件,本文设计了一个基于FME的IFC到CityGML(LOD3) 的工作流,并使用BIM主流软件Autodesk Revit制作的IFC格式模型进行测试。 测试结果如图 1所示。
![]() |
| 图 1 FME测试结果 Figure 1 Test Results in FME |
可以看出,虽然模型主体结构得到了保留,但原IFC文件中非常详细的墙、板等分类信息和模型的玻璃幕墙材质全部丢失了。为了实现更好的转换效果,本文进一步设计了一种基于语义映射的转换方法。
3.2 基于语义映射的IFC与CityGML转换方法IFC中含有较丰富的语义信息,图 2为IFC与CityGML语义信息比较的一个示例。
![]() |
| 图 2 IFC与CityGML语义信息比较 Figure 2 Difference of Semantic Information between IFC and CityGML |
在模型外观上,CityGML 具有更加丰富的纹理贴图和材质信息,而 IFC 模型中以材质贴图为主,几乎没有纹理贴图。所以从 IFC 与 CityGML 集成的角度讲,模型外观以 CityGML 的数据结构进行表达具有更大的优势。通过语义信息映射的方法,先对IFC的语义信息通过筛选过滤进行提取,再以此为两者的几何信息提供转换条件,将IFC的几何信息转换为CityGML的表达形式,最后将IFC中与几何信息相关联的语义信息映射到CityGML中,IFC与CityGML的集成就能较好地实现。 方法示意图如图 3所示。
![]() |
| 图 3 基于语义映射的方法示意图 Figure 3 Sketch Map Based on Semantic Mapping |
图 3中,W代表墙,D代表门,F代表地板,R代表天花板。外部数据集的数据包括日期、标记、代码、序列号等。
1) 语义信息提取及映射
IFC的信息交换层定义了建筑设计、施工管理以及大量的建筑元素等,用于各项目间的信息交换。IFC转换为CityGML的语义映射可从信息交换层中的实体信息映射开始。建筑元素例如地板、天花板、墙面等,都包括了预定义类型、实体、详细表等属性信息,每一个实体又包含几何表达方式和空间位置等信息。而在CityGML中,不同LOD级别包含的语义信息都不相同,需要详加区别。 因此,根据映射对象的特性,IFC到CityGML的语义映射可分为1对1映射、1对多映射和间接映射三种类型。
1对1映射。 1个IFC类型直接映射为1个CityGML类型。1对1的部分映射规则如表 2所示。
| 表 2 1对1映射部分规则表 Table 2 Partial Rules of 1 to 1 Mapping |
![]() |
在CityGML LOD4 中没有对室内物体进行单独的语义描述,大部分室内实体都可用 [Inner|Outer]BuildingInstallation 来表示,这时在映射的名称前可以加上具体属性,例如用“TYPE_Beam”表示梁,这样1对1映射中IFC类型的语义信息就能够完整保留。
1对多映射。 1个IFC类型映射为多个CityGML类型。由于IfcBeam等对象对应的CityGML类型[Inner|Outer]BuildingInstallation有内外面的区分,所以还需要通过内外面区分算法将建筑室内与室外对象区分开来。
间接映射。某些使用场景当中,IFC类型无法直接由1对1或者1对多映射到CityGML中,这时就必须使用特定算法(比如空间提取算法)去获取传统方法无法获取的信息,再进行1对1或者1对多的语义信息映射。
2) 几何信息转换
IFC到CityGML几何转换的流程为:解析IFC数据,遍历所有IFC对象,筛选须转换的IFC对象,输出其几何信息和相应的属性数据。由于IFC没有LOD表达机制,所以还必须设置一个LOD映射算法,例如根据IFC建筑物的高度和轮廓生成LOD1的CityGML数据,提取建筑物表面生成LOD2和LOD3,提取室内信息生成LOD4。LOD4的映射中还需要区分内外墙面、内外天花板等。
LOD映射流程如图 4所示。
![]() |
| 图 4 LOD映射示意图 Figure 4 Sketch Map of LOD Mapping |
IFC到CityGML的几何信息转换还包括坐标系的转换,大部分IFC模型都是基于本模型的几何坐标系,还需要转换成CityGML中的世界坐标系。坐标转换矩阵TM可以由下式计算:
| ${{T}_{M}}={{R}_{Z}}R{}_{Y}{{R}_{X}}{{T}_{P}}$ | (1) |
式中,
| $\begin{align} & {{T}_{P}}=\left[ \begin{matrix} {{S}_{X}} & 0 & 0 & 0 \\ 0 & {{S}_{Y}} & 0 & 0 \\ 0 & 0 & {{S}_{Z}} & 0 \\ {{P}_{X}} & {{P}_{G}} & {{P}_{A}} & 1 \\ \end{matrix} \right],{{R}_{Z}}(\alpha )=\left[ \begin{matrix} \cos \alpha & -\sin \alpha & 0 & 0 \\ \sin \alpha & \cos \alpha & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{matrix} \right], \\ & {{R}_{Y}}(\beta )=\left[ \begin{matrix} \cos \beta & 0 & \sin \beta & 0 \\ 0 & 1 & 0 & 0 \\ -\sin \beta & 0 & \cos \beta & 0 \\ 0 & 0 & 0 & 1 \\ \end{matrix} \right],{{R}_{X}}(\gamma )=\left[ \begin{matrix} 1 & 0 & 0 & 0 \\ 0 & \cos \gamma & -\sin \gamma & 0 \\ 1 & \sin \gamma & \cos \gamma & 0 \\ 0 & 0 & 0 & 1 \\ \end{matrix} \right] \\ \end{align}$ | (2) |
PL=CoordinateSystemPosition::Latitude
SX=CoordinateSystemScale::ScaleX
α=CoordinateSystemOrientation::Tilt
PG=CoordinateSystemPosition::Longitude
SY=CoordinateSystemScale::ScaleY
β=CoordinateSystemOrientation::Roll
PA=CoordinateSystemPosition::Altitude
SZ=CoordinateSystemScale::ScaleZ
γ=CoordinateSystemOrientation::Heading
3.3 方法测试利用本文的方法(自动,CPU-i7,8 G内存,64 bit),以某标准IFC模型进行测试,成功将IFC模型转换成CityGML模型。如图 5所示。
![]() |
| 图 5 利用语义映射的转换方法测试结果 Figure 5 Test Results Using Semantic Mapping Method |
从图 5可以看出,模型的几何结构与大部分的语义信息都得到了较好的保留,选取其他的IFC模型进行测试,效果类似。由此可知,转换方法整体上是正确的。但由图 5也可以看出,纹理映射规则还是有些问题,个别模型会出现纹理丢失的情况。室内信息提取算法也需要继续改进,一些复杂的室内模型比较难提取。利用本文方法与现有的手工操作方法进行测试效率对比,结果如表 3所示。
| 表 3 不同方法消耗时间对比结果/s Table 3 Comparison of Wasted Time/s |
![]() |
可以看出,利用本文的方法的效率比手动操作要高得多,数据映射时间也短很多。
4 结束语BIM与3D GIS的集成给智慧城市的建设带来了新的思路和方法。而IFC与CityGML格式的集成则是BIM与3D GIS集成的数据基础。本文提出了一种基于语义映射的BIM与3D GIS集成方法,可以初步地将IFC和CityGML两种格式集成、融合起来,对BIM与3D GIS的有效集成起到了推动作用。当然该方法在转换精度、规则设计等方面还有很多问题,包括语义简化、几何信息过滤等,都需要进行更进一步的研究。
| [1] |
赵霞, 汤圣君, 刘铭崴, 等. 语义约束的RVT模型到CityGML模型的转换方法[J].
地理信息世界,2015,(2) : 15–20.
Zhao Xia, Tang Shengjun, Liu Mingwei, et al. Semantics-Constrained Conversion Approach of RVT Model to CityGML Model[J]. Geomatics World,2015,(2) : 15–20. |
| [2] | Liebich T, Adachi Y, Forester J, et al. Industry Foundation Classes IFC2x[S]. International Alliance for Interoperability, 2006 |
| [3] | Gr ger G, Kolbe T, Czerwinski A. Candidate OpenGIS CityGML Implementation Specification[EB/OL]. http://www.opengeospatial.orgllegall, 2007 |
| [4] | Liebich T. IFC4-the New BuildingSMART Standard[S]. International Home of Open BIM, 2013 |
| [5] | Kolbe T H, Gr ger G, Plümer L. CityGML: Interoperable Access to 3D City Models[M]. Berlin, Heidelberg: Springer, 2005 . |
| [6] | EI Mekawy M E, stman A, Shahzad K. Towards Interoperating CityGML and IFC Building Models: A Unified Model Based Approach[M]. Berlin, Heidelberg: Springer, 2011 . |
| [7] | Laat R D, van Berlo L V. Integration of BIM and GIS: The Development of the CityGML GeoBIM Extension[M]. Berlin, Heidelberg: Springer, 2011 . |
2016, Vol. 41








