APP下载

浅析基于3DTiles 的BIM 模型网络共享方案

2020-05-08王占军

科学技术创新 2020年8期
关键词:数据格式海量浏览器

王占军 王 鹏 吕 婧 刘 荣

(1、成都金隧自动化工程有限责任公司,四川 成都610031 2、内蒙古交通设计研究院有限责任公司,内蒙古 呼和浩特010010)

建筑信息模型(Building Information Modeling, BIM)是以计算机信息技术表达建筑物几何、材质、地理等特性的方式。地理信息系统(Geographic Information System,GIS)是一种具有信息系统空间专业形式的数据管理系统,能集中、存储、操作和显示地理空间信息。在基础设施运维管理中,GIS 可用于设施外部环境宏观尺度的管理,BIM 用于设施内部微观尺度精细化的管理。建立BIM+3D GIS 信息管理平台是土木工程行业信息化发展的趋势。首先,BIM模型的建模软件用于创建复杂的3D 场景和模型,根据创建软件系列的不同而采用不同的文件格式,这些数据格式的解析依赖专业软件,很难直接在网络中渲染显示。其次,大多数BIM应用场景都是建筑群或特大高复杂度模型,模型体量非常大,以城市三维空间数据为例,其三维空间数据的数据量就可高达几个Tb。大体量的BIM数据与3D GIS 数据在Web 端集成会受限于网络宽带和服务器性能,当计算机处理海量的三维数据时会出现加载时间过长、系统崩坏等问题[1]。

本文针对BIM+3D GIS 在网络端集成所面临的技术问题和海量BIM 数据在Web 浏览器端的高效加载显示的技术要求,提出一种可以直接应用于应用程序界面,解析时间短,重量轻,开放性和统一性高的3D 数据格式,最终实现海量BIM模型在web 端快速加载和高效渲染。

1 总体实施流程

1.1 需求定义。本文通过BIM+3D GIS 在Web 端集成显示作为主要功能性需求,旨在利用WebGL 技术实现3D模型在浏览器的动态浏览和交互。所设计的展示平台需要具有如下功能:

(1)实现BIM数据和GIS 数据在Web 端的渲染和展示。解除BIM模型文件的解析对专业建模软件的依赖,可使用电脑、平板、手机端等通用设备进行模型显示。

(2)实现浏览器端BIM数据和GIS 数据两种不同构造的数据类型融合。BIM+3D GIS 的融合是一种互补的关系,对实现智慧城市建设发挥了不可替代的作用。

(3)实现浏览器端海量BIM数据的高效传输与渲染。BIM三维模型数据量大,通常仅一个室内场景的三维模型数据量就可达数百兆,需要占用大量的宽带资源进行数据传输与图形渲染展示。

1.2 实施流程。综合上述需求,现阶段GIS 数据已经广泛地被部署在Web 网络端,可在浏览器中直接显示,本文主要考虑含有BIM 模型的GIS 数据网络端的集成与高速渲染的流程。GIS 和BIM 数据可以通过转换或直接整合两种手段集成,而BIM 与传统的3D GIS 数据格式有很大差别,无法直接与3D GIS 信息进行无缝融合,目前可行的方案采是将BIM数据格式转换为可解析、易融合的数据文件格式。BIM在网络端共享流程如图1 所示。

图1 BIM 从桌面端到浏览器端的共享流程

该流程主要由数据转换部分和数据传输部分组成:数据转换部分完成由专业建模软件建立的精细化三维模型数据格式转变为可供网络传输和解析的中间数据格式;数据传输部分完成从中间数据格式出发,经过网络传输在客户端进行模型加载重构与渲染显示工作。在流程中通过考虑BIM轻量化技术可以实现将BIM 模型从桌面端显示传输到浏览器端高效显示的功能。

2 BIM 模型数据转换

BIM模型大部分以特有的数据格式存储,需要在桌面客户端以专有的软件完成模型的渲染显示,加之三维数据格式文件体量大的特点,其在网路中传输和加载的难度大。要实现BIM数据在网络端应用需要采用高效轻量可解析的传输数据格式。JSON(JavaScript Object Notation,JavaScript 对象标记语言)是JavaScript 轻量级的数据存储格式,可以同时存储三维模型文件的模型信息和属性信息,适合做Web 端的数据交换(三维建筑模型WebGL 显示及优化)。glTF (GL Transmission Format) 是面向实时渲染应用的一种3D 内容的格式标准,以JSON 文本文件作为整个数据的核心,描述场景结构,通过提供一种高效,易扩展,可协作的格式,填补了3D 建模工具和现代GL 应用之间的空白,可以被选为中间数据格式。

glTF 的核心是一个JSON 文件,如图2 所示。该文件描述了3D 场景的全部内容。它由场景结构本身的描述组成,由定义场景图的节点层次结构组成。scene 是存储在glTF 的场景描述的入口点;node 是在场景图层次中的一个可包含几何变换的节点,节点可以引用其他节点;摄像机(camera)描述渲染器的视图配置;accessor 被用作任意数据的抽象源,用于访问其他节点的数据源本身;material 包含定义对象在呈现时的外观的参数,用于模型的渲染。

图2 gltf JSON 结构元素之间的概念关系

通用的3D 模型格式(如obj 等)都可以用对应的转换工具转换为glTF,对于BIM软件创建的三维格式文件,借助BIM 系列产品提供API(Application Programming Interface)进行二次开发,自定义转换器将BIM模型进行数据转换并导出为glTF 格式。在转换插件设计时,可以通过考虑参数化几何描述、减面优化、实例化图元描述、数据压缩等轻量化技术进行数据转换,在保证三维数据格式glTF 完整的情况下,减少数据量,提高后续传输和解析的速度。

glTF 3D 模型格式有两种:*.gltf 是一个基于JSON 的文本文件,通常引用外部文件,如纹理贴图和二进制网格数据。*.glb是二进制版本,将*.gltf、*.bin、*png、*.jpg 整合封装在一起,是对*.gltf 格式文件的进一步压缩,通常较小且独立,如图3 所示。

图3 两种glTF 格式文件

3 模型数据传输与浏览器端集成渲染

随着互联网技术的飞速发展和HTML5 标准的成熟,使用网页技术渲染三维图形成为可能。WebGL(Web Graphics Library)是浏览器3D 渲染的核心技术,目前用WebGL 封装的三维 可 视 化 引 擎 包 括Three.js、OpenWebGlobe、WebGLEarth 和Cesium 等[2]。其中Cesium 是AGI(Analytical Graphics Inc)公司研发的三维地球虚拟平台[3],是目前WEB 端3DGIS 应用中最常用的工具库。

尽管Cesium 自成立以来就支持glTF 文件加载,但是直接渲染大体量glTF 文件在目前的硬件条件下还不可行,而大体量3D 模型的加载和渲染是目前3DGIS 和智慧城市等应用中的最大难点。

3D Tiles 格式是开放的规范,任何人都可以参与定义内容的讨论,其用于传输海量的异构三维模型数据集,可使建筑物数据集、BIM模型、点云和摄影测量模型等在Web 端进行流畅的浏览展示。3D Tiles 在2019 年2 月被开放地理空间联盟(OGC)纳入社区标准。

3D Tiles 数据由配置文件和瓦片数据结构组成,类似二维地图中的地图瓦片加载。配置文件是一个树结构的对象,通过JSON 文件记录其所有的节点信息,可以通过遍历得到所有瓦片的信息;瓦片数据结构包含了具体的模型信息,针对模型的数据格式为批处理3D 模型(Batched 3D Model,后缀名为*.b3dm),批处理3D 模型允许离线批处理异构的3D 模型(例如城市中的不同建筑物),以高效地流式传输到Web 客户端以进行渲染和交互。

在3D Tiles 中,一个tileset 就是一系列空间数据结构(树)组织下的一组瓦片(tiles)。一个瓦片索引一个或者一系列要素,比如表达建筑物或树木的三维模型,点云中的点,矢量数据集中点线面要素。这些要素需要捆绑在一起,形成单独的一个要素,来减少客户端加载时间,防止WebGL 的绘制请求过载。tile以具有空间连贯性的树形结构来组织空间索引,结合了详细层次结构(Hierarchical Level of Detail,HLOD)的概念,可最佳呈现空间数据。每个tile 都有一个边界体积,定义了一个完全包围其内容的空间范围,子图块的内容完全在父级的边界体积内。tilesets 可以使用类似于栅格和矢量等提供预定义的多细节级别(或缩放级别)的2D 空间切片索引方案(例如Web 地图切片服务(WMTS)或XYZ 方案),但是,由于tileset 的内容通常是不一致的,或者可能不容易仅在二维上组织,因此3D Tiles 索引结构树可以是具有空间一致性的任何空间数据结构,包括k-d树,四叉树,八叉树和网格,如图4 所示。

图4 树形空间索引结构

4 流程归纳及案例演示

4.1 流程归纳。BIM网络端共享需要将BIM模型文件进行多次文件格式的转换与优化工作,中间数据格式采用可解析的、通用的与API 无关的运行时三维资产交付格式glTF 文件格式对BIM模型数据进行特殊化的数据存储,采用用于流式传输和渲染海量异构3D 内容的开放标准格式3D Tiles 进行网络端传输,选择合适的空间索引机制进行浏览器端渲染。如图5所示。

图5 完整的BIM 模型网络共享方案

4.2 案例演示

本文选取了一段钢架桥的绗架作为实例来验证3DTiles 在BIM模型网络共享和可视化中的效果,BIM模型图如图6。

图6

原BIM 模型为250M 左右,转换后的glTF 模型体积只有3M,示例中将绗架重复了10 次,模型中有1000 多个螺钉实例,这也是BIM模型体积大的主要缘故。原模型在Autodesk Revit中只能编辑一段,而且在本文使用的机器环境(Intel i7 + Nvida GTX 1060)下已经比较卡顿。经过3DTile 处理后,在150M无线局域网测试环境中3 秒内就能完成模型的加载,重复10 份之后能保证在10 秒内完成模型渲染显示。在浏览器中的展示效果如图7。

图7

5 结论

BIM和GIS 的融合应用是当前信息化技术的热点。两者的优势互补,构建了一种多层次多尺度全方位的空间模式,是建立智慧城市的可视化基础,能更好的支持大规模市政交通工程的协同分析和共享应用,也能提升基础设施结构运行维护管理的效率。从研究中我们发现三维数据的动态获取、可视化技术发展、海量数据的储存分析都取得了重大的进展。本文探讨了基于数据转换、传输和网络端渲染等技术等可以实现BIM模型和GIS 模型在浏览器端的集成。探索了构建BIM+3D GIS 可视化平台方法。结果表明,经过一些列的数据格式转换的方法能够实现多源异构数据在网络端的完美融合和共享。

参考文件

[1]徐照,张路,索华,等.基于工业基础类的建筑物3D Tiles 数据可视化[J].浙江大学学报(工学版),2019,53(6):1047-1056.

[2]高云成.基于Cesium 的WebGIS 三维客户端实现技术研究[D].西安:西安电子科技大学,2014.

[3]朱栩逸,苗放.基于Cesium 的三维WebGIS 研究及开发[J].科技创新导报,2015,12(34):9-11.

猜你喜欢

数据格式海量浏览器
一种傅里叶域海量数据高速谱聚类方法
海量快递垃圾正在“围城”——“绿色快递”势在必行
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
“海量+”:大学生品格提升的浸润方——以高职艺术设计专业为例
MIT—BIH心率失常数据库的识读
基于RFID的户外广告监管系统的设计与实现
一种融合多业务的信息化系统框架研究
一个图形所蕴含的“海量”巧题
浏览器