做过实景三维项目的朋友,手里大概率攒着一堆倾斜摄影成果——一个测区飞下来,建模软件输出的往往是一层套一层的OSGB文件夹。数据精度是没问题,可一旦想把它放进Web端的三维场景里展示,麻烦就来了:浏览器不认OSGB,Cesium、Mapbox这类WebGL引擎只认3DTiles。
怎么转?写代码自己切片对多数GIS从业者来说门槛太高,商用转换工具又价格不菲。GISBox完全满足该需求,实测"零代码"把OSGB倾斜摄影模型转换成3DTiles,顺带聊聊转换背后的原理和避坑要点。
OSGB是OpenSceneGraph二进制的简称,是倾斜摄影建模软件(ContextCapture、大疆智图等)最常用的一种输出格式。它的特点是按金字塔层级组织瓦片文件,配上一个metadata.xml记录坐标原点等信息。优点是该格式资历老、生态成熟;缺点是它是"为桌面端渲染而生",文件碎、元数据不统一,Web 引擎根本没法直接读。
3DTiles则是Cesium团队主导的开放式三维瓦片标准,可以理解为"三维版的地图切片规范"。它把海量模型组织成一棵层级化的空间索引树,引擎只加载视野范围内的瓦片,还支持按距离调度精细层级(LOD),这也是它能把动辄几十GB的倾斜摄影模型塞进浏览器的核心原因。
在真正动手之前,先盘一盘为什么这件事"看起来简单、做起来容易翻车":
GISBox是国产自研的一站式轻量化2D/3D GIS平台,面向测绘、实景三维、数字孪生行业,集场景编辑、切片转换、服务分发三大核心模块于一体,一套软件兼顾数据处理与GIS服务发布,不用再搭配多款工具协同作业GISBox。
用它来做OSGB转3DTiles,看重的是这几点:
下面以常规切片流程为例,一步步走一遍。整体操作非常轻量,真正需要动脑子的是参数怎么选。
拿到倾斜摄影成果后,先确认数据目录结构完整:一个Data文件夹(内含层层嵌套的瓦片目录和.osgb文件),加上同级的metadata.xml。这个xml记录了模型的空间参考和原点坐标,千万不能弄丢,否则软件无法正确解算模型位置。建议转换前先把原始数据备份一份。
打开GISBox,进入"切片转换"功能,选择"OSGB转3DTiles"。在新建任务窗口中导入文件,选中OSGB数据目录,再指定输出路径即可。软件会自动识别数据的基本信息,不需要手写任何配置。
这一步决定转换质量和效率,逐个小点说明:
参数确认后提交任务,剩下的就是等待。转换耗时主要取决于数据量、磁盘读写速度和刚才选的压缩项。软件支持任务管理,中途可以查看进度。
转换完成后,输出目录里会出现tileset.json 和配套的瓦片文件夹。验证方法很简单:在 GISBox的"服务分发"面板里直接预览服务,或者把tileset.json挂到Cesium里加载,绕场一圈检查模型位置是否漂移、瓦片加载是否流畅、纹理是否完整。
如果模型带着明显瑕疵,强烈建议转换前先走一遍"场景编辑"流程:新建三维场景,导入OSGB模型,用框选工具抠除车辆和杂物、压平突兀的凸起、对齐地形,确认效果后再走"发布3DTiles"流程。毕竟转换只是"搬家",搬家之前把屋子收拾好,比搬完再返工省力得多。
倾斜摄影数据从"躺在硬盘里"到"跑在浏览器里",中间差的往往就是一个顺手的工具。GISBox 这类免费工具把OSGB转3DTiles的门槛降到了"点几下鼠标"的程度,转换前后的编辑、发布也一并包办,对于预算有限的团队和个人开发者来说,值得装进工具箱常备。
关于GISBox的更多信息,请访问以下链接了解详情:
GISBox问答社区:https://www.gisbox.com.cn/community/
GISBox视频教程:https://www.gisbox.com.cn/video/yoyhkzygsv2v.html