BIM与GIS信息融合方法浅析【原创】

摘要:BIM与GIS信息的有效融合,是在工程类项目中深入应用BIM+GIS技术的重要基础。基于开源技术的二次开发,实现了BIM模型信息和GIS数据在三维地球场景下的融合,相对于形式各异的商用产品解决方案,本文介绍的技术具有更普遍的推广意义。通过在多个工程项目中的实际应用,证明本解决方法具有较好的实用性。

1 引言

随着计算机技术、网络技术的发展,建筑信息模型(Building Information Modeling,BIM)与地理信息系统(Geographic Information System,GIS)在Web 端的集成已成为各界关注的技术重点。从两者所含信息来看,GIS 侧重于大尺度宏观环境,BIM侧重于建筑物内部微观信息,两者存在互补关系。目前行业对BIM+GIS研究的主要方向是将IFC数据集成到CityGML中[1] [2],这种方法会存在如下一些问题:1、IFC、GityGML是面向数据存储和共享的格式,在可视化时需要即时翻译成图形显卡可以渲染的数据格式,大模型存在加载时间过长、系统崩溃等问题。2、通过从Revit等BIM设计软件中导出IFC格式文件的方法[3],目前存在几何信息丢失、语义信息丢失等问题。

本文提出了一套基于开源技术集成的解决方法,可快速实现BIM+GIS信息的融合,总体技术路线如图1。

 

图1 BIM与GIS信息融合技术路线图(上部分)

 

图1 BIM与GIS信息融合技术路线图(下部分)

2 融合方法研究

2.1数据标准选用

采用BIM+GIS,还是GIS+BIM?从BIM、GIS的定义及实际内容来看,应该是在GIS环境中融合BIM模型。所以一种可行的方法是将BIM模型转换成与GIS数据标准兼容的格式,在一个统一场景中显示BIM和GIS信息。

GIS领域最大的开源联盟是OGC(Open Geospatial Consortium)国际标准组织,它制定了一系列数据和服务标准,GIS厂商按照这些标准进行开发可保证空间数据的互操作性[4]。OGC在Web 3D方向上的国际三维标准有3DTiles和i3s,其中i3s标准规范由Esri发起;3DTiles是一种社区标准,并且有一个开放源代码的3D WebGIS框架cesium,用于实现三维数据共享、可视化、融合和与大量异构3D内容交互比较方便[5]。本文选用3DTiles作为BIM与GIS信息融合的三维数据标准。

2.2 BIM模型转换

工程项目中一般会根据项目的需求和特点选用不同的建模软件,工民建类项目一般选用Revit软件,基础设施类项目一般选用Bentley,异形结构多选用Catia,钢结构选用Tekla,而IFC又是BIM模型数据交换的行业标准,所以BIM模型的转换就是要将以上这些格式的数据转换成3DTiles数据格式。

项目的初步方案阶段设计人员往往会使用快速建模软件,如Sketch Up、Blender等;某些特定场景下,设计人员需要创建比较美观逼真的模型,这时候又会使用3dsMAX、MAYA等软件。(此文称这类模型为“类”BIM模型)各类情况比较多,使用的软件也比较多,但大多数该类软件都支持将数据导出为FBX、obj、dae等通用三维数据格式。所以“类”BIM模型的转换就是将FBX(推荐)等格式的数据转换成3DTiles数据格式。

下文以Revit模型转换成3DTiles数据格式为例进行说明。为了解决Revit等BIM模型在转换过程中的数据丢失问题,比较常用的方法是基于模型设计软件定制开发数据导出插件。Revit的二次开发官方提供的SDK为.NET框架语言,而在生成3DTiles数据的过程中需要用到大量C++的开源库,所以存在开发语言之间的跨越问题,这里用文件数据库作为中间过渡方式,选用了比较轻量化的SQLite数据库。主要步骤如下,具体流程见图2。

S1、通过Revit的二次开发,将BIM模型构件完整提取到SQLite中间数据库文件,主要存储BIM模型场景树、BIM模型文件、BIM构件、BIM几何体、材质贴图以及BIM属性;

S2、从数据库表中解析构件信息,如果数据量较大,需要分批次处理,在内存中构造三维地球场景结构,结构主要包含1个或多个BIM构件,BIM构件包含属性集合、几何体三角网集合,三角网包含顶点、法向量、纹理坐标、顶点索引、材质;

S3、将三维场景按照空间优先(适用于材质重复率高的模型)或者材质优先(适用于材质重复率低的模型)等策略划分为一个个子场景进行分组处理,分组阈值为切片文件大小的默认值;

S4、每个子场景通过几何误差递减系数,在最大和最小几何误差之间插值,构造子场景空间层级结构,即HLOD。根据每个级别的几何误差对数据进行筛选、简化和合并;

S5、按照国际标准gltf规范填充顶点、批次、法向量、颜色、纹理、索引、材质等数据,对三角网顶点数据采用google的Draco压缩算法,对纹理数据采用crn压缩,结合FeatureTable、BatchTable,输出单个B3DM文件,作为一个瓦片tile;

S6、按照八叉树构建瓦片tile集合的树状空间结构。

 

图2 Revit模型转3dtiles数据流程图

其中涉及到如何将BIM模型转换为B3DM内置的坐标规格,主要步骤如下:(1)模型坐标 + srsorigin(地球直角坐标系) = 在srs坐标系下的坐标P;(2)使用地理投影变换,把坐标P变换为经纬度坐标LBH(地球大地坐标系);(3)使用cesium的笛卡尔坐标定义,把LBH转为笛卡尔坐标G;(4)求得当前分组里的笛卡尔坐标中心点C;(5)计算实际 gltf内存储顶点坐标p,依据公式为p =G – C[6];(6)用当前分组里的笛卡尔坐标中心点C 计算当前tile中的绝对矩阵 M,依据公式为 p * M = G;(7)计算当前tile中需要存储的转换矩阵T,当前tile的M=当前tile的T*父tile的M,而父tile的M=父tile的T*父父tile的M,递推可从以下公式计算出当前tile的T,即p *(当前tile的T) * (父tile的T)* ….  * (root的T) =G[7]

2.3 GIS数据转换

近年来,为了还原工程项目现场真实环境,倾斜摄影和点云数据作为3D GIS的主要数据,越来越普遍地应用到各类项目中。上文提到3DTiles数据标准来源于GIS领域,所以目前GIS领域对该数据标准支持较好。以倾斜摄影数据为例,常用的倾斜摄影数据处理软件CC(ContextCapture),支持直接导出为3dtiles数据格式。

点云数据(通常为las格式),可按照如下流程转换成3dtiles数据格式:

S1、利用第三方libLAS开源库加载las文件。通过las文件公共头区块可以获得整个点云数据的点数量及空间包围盒;通过las文件点数据记录区可以获得点云的空间位置、颜色通道、脉冲相关参数及波形相关参数。判断点数据量超过阈值,需要通过四叉树分割成多个子文件然后处理。

S2、计算获得整个点云数据的最大级别:从点云数据中选取一个样本数据集合(比如从中间选取10万个点),计算样本数据间的平均距离,k-nearest近邻个数选用6;将地球按金字塔结构分级、分块,第0级长度为地球周长的一半,每个级别对应一个误差(误差=长度/块中的最小网格数);样本计算获得的点云平均距离大于某个级别i的误差,则点云数据的最大级别为i。

S3、将地球空间构建成金字塔区块结构:zoom=0级有两个区块,分别是东西半球,zoom<8按经纬度进行分裂,第0级长度为180,数据结构为四叉树递归;zoom>8按相对坐标系分裂,第0级长度为地球周长的一半,数据结构为八叉树递归;这样可以保证有较好的速度和精度。zoom分裂到S2中计算获得的该点云数据的最大级别即停止。每个区块设定有512个网格,每个网格只落1个点。

S4:将点填充到S3生成的金字塔分块结构中:遍历点云的点填充到分块的网格中,同一个网格内后来的点更新前面的点。zoom<8级别的块中,点的坐标转换成经纬度再计算;zoom>8级别的块中,点的坐标需要转换成相关坐标再计算。

S5、输出tileset.json:遍历点云的金字塔分块结构,利用第三方CesiumPNTs开源库,参照3dtiles中节点为点云的相关规范,将叶子节点的las转为3dtiles pnts,非叶子节点使用它的子节点的合并数据进行点云体素抽稀获得本节点的las,一个pnts输出对应一个json输出。

 

图3 点云数据转换流程图

 

3 工程应用

通过本解决方案提出的BIM与GIS信息融合方法,设计人员只需要通过一键导出,即可以实现BIM模型在3DGIS地球上的在线浏览,业主只需要打开浏览器就可以看到BIM模型,大大方便了设计人员与业主的交流沟通;同时该研究方法还能够提供BIM+3DGIS数据服务供各种应用系统调用,实现BIM与专业应用的深度融合。本方法已经应用到如下多个项目中:

1)某高速公路改扩建项目采用无人机倾斜摄影、车载雷达扫描老路断面等多种手段获取外部环境及既有道路路面GIS数据;采用Catia、Revit等BIM建模软件,以各主线、匝道的路线设计作为模型骨架,所有结构依附骨架模型。通过将BIM模型与GIS环境数据进行集成,解决了改扩建公路普遍存在的路面三维拟合困难的问题,并且建立施工过程推演和交通组织方案,缩短施工工期,降低施工成本。

 

图4 某高速公路改扩建项目BIM+GIS信息融合应用

2)某高速公路方案初步设计阶段,将BIM模型与GIS融合,并发布到互联网上,在三维环境中进行方案展示、对比及讨论,让项目各干系人清晰了解项目的整体情况,有效提高讨论时的沟通效率。

 

图5 BIM+GIS信息融合方法应用于方案讨论

 

图6 BIM+GIS信息融合方法应用于不同方案对比

3)某港口调度管理平台基于BIM+GIS信息融合的三维场景,支持港口、港区、泊位以及船舶等基础资源的可视化调度和管理。

 

图7 某港口调度管理平台应用

4 总结与展望

本方法基于国际三维数据标准3DTiles,实现了BIM模型和GIS数据在三维地球场景下的信息融合,为作者所在单位的多个工程项目提供了数据服务。未来,在云计算SaaS服务模式越来越流行的当下,可以进一步研究将BIM+GIS信息融合的方法固化为工具并部署成云端服务,用户只需要提交原始BIM设计模型和GIS数据到云平台,即可获得模型处理结果的云端数据服务地址,在各业务类应用系统中可以直接使用。

 致谢

  本文由江苏省交通科学研究计划项目(2019Z02)资助。

 

参考文献

[1]武鹏飞,刘玉身,等.GIS与BIM 融合的研究进展与发展趋势[J].测绘与空间地理信息,2019,42(1).
[2]徐照,等.基于工业基础类的建筑物3D Tiles数据可视化[J].浙江大学学报(工学版),2019,53(6).
[3]赵 霞,汤圣君,等.语义约束的RVT模型到CityGML模型的转换方法[J].地理信息世界,2015,22(2):15-20.
[4]OGC标准[EB/OL].:https://www.ogc.org/.
[5]3DTiles 标准[EB/OL].:https://www.ogc.org/standards/3DTiles.
[6]glTF Specification[EB/OL].:https://github.com/KhronosGroup/glTF.
[7]3D Tiles Format Specification[EB/OL].:https://github.com/CesiumGS/3d-tiles/tree/master/specification.
posted @ 2021-02-05 11:44  IT华仔  阅读(2084)  评论(2编辑  收藏  举报