张伟ZHANG Wei
(中铁第四勘察设计院集团有限公司,武汉 430063)
随着“铁路数字化”概念的提出和发展,三维BIM 模型在铁路工程中也得到了广泛的应用。其不仅可以向用户进行直观的模型展示还可以协助完成铁路线路的规划和设计,极大地推动了铁路行业的数字化进程。为了更好将三维BIM 模型融合到GIS 行业中,ESRI 公司提出了I3S规范,并基于该规范定义了新的三维数据格式SLPK(scene layer package)。SLPK 格式优化了BIM 模型的数据存储和树形结构,相较于其它三维数据格式,其在Arcgis客户端进行加载时更加高效。目前铁路行业应用较广的Blender、3DMax、Revit 等三维设计软件无法直接导出SLPK格式的模型供Arcgis 使用,但可以支持glTF 格式的导出[1]。本文通过研究glTF 格式数据组织结构,并基于SharpGLTF和i3s 等开源库进行二次开发,实现了三维模型从glTF 格式到SLPK 格式的转换。同时为了更方便地在Arcgis 中使用三维模型,在转换过程中可以支持将模型导出为Web 墨卡托坐标或经纬度坐标。其转换流程如图1 所示。

图1 模型转换流程
glTF(GL Transmission Format)是一种基于JSON 的三维模型文件格式,具有通用性强和数据解析简单的特点,目前绝大多数主流三维设计软件都支持对该格式的加载和导出。glTF 文件有两种后缀格式可以选择,.gltf 和.glb,其中.glb 是glTF 格式的二进制表示形式。
glTF 的数据组织结构主要包括JSON 文件和关联外部数据文件,具体来说外部数据文件包括图像文件、GLSL文件和bin 文件[2]。如图2 所示。

图2 glTF 数据组织结构
JSON 文件是glTF 数据的核心部分,文件中记述了模型相关的场景信息及数据的索引信息。……