众所周知,OSGB数据以开源、LOD(多层次细节)、数据压缩与轻量化、支持大规模场景加载与渲染著称,同时具备强大的格式转换能力,不仅能够转成3DTiles、SLPK等瓦片,而且能够转换成OBJ、FBX、GLTF等常用三维模型格式,支撑Cesium、ArcGIS、CityEngine等三维GIS或WebGIS引擎以及Unity、Unreal Engine等主流游戏引擎,在数字孪生、智慧城市等三维应用领域中发挥着重要的数据基础支撑作用;其开放、多平台兼容的特征,也是我在数据转换过程选择OSGB作为必须支持的一种格式的原因,比如谷歌地球倾斜摄影数据产品、台湾倾斜摄影数据数据、台湾建筑模型数据产品,都全面支持OSGB格式。
虽然OSGB优点众多,它也并非完美,因为它与三维的3DTiles、I3S还是二维的卫星影像瓦片、地形瓦片数据,没有本质区别,都是瓦片数据,瓦片数据就有它天然的缺陷;首先是文件碎片化,OSGB采用了分块存储机制,导致文件数量众多且碎片化,特别是高级别金字塔文件体积庞大,至今未有标准化的网络发布方案,增加了数据共享与跨平台使用的难度。其次是兼容性问题,不同软件生成的OSGB存在兼容性问题,CC软件、大疆智图等主流处理软件导出的OSGB组织结构就不一样,也相互不兼容,需要进行转换,其数据处理难度进一步加重。
本月初我发布了全台湾建筑模型OSGB数据(1115GB! 全台湾建筑模型OSGB数据发布),该数据覆盖台湾省全省共计22个县市,共计1115GB,并采用了UTM投影;上次发布只是从技术角度介绍了这份数据的外在特征,并未针对数据技术应用场景做进一步说明,很多读者可能会一头雾水,这份数据怎么用,用到什么地方,怎么与自己业务相结合,心里存在着不少疑问,因此这篇文章我将针对全台建筑模型OSGB数据的技术场景做简要说明,或许会给大家一点启发与思考。

1.作为瓦片数据直接使用

将数据作为图层加入到三维空间场景中,并叠加在卫星影像、地形等基础数据之上,构建三维环境,这种应用方式和3DTiles等瓦片数据一样,直接将可视化作为最主要应用;3DTiles是加载到Cesium上使用,基于Cesium强大的技术栈,CesiumJS、Cesium for Unreal、Cesium for Unity 、Cesium for Omniverse、Cesium for O3DE……意味着Cesium能够在Web端、桌面端、移动端、VR/AR/MR等显示端多端运行,3DTiles是Cesium社区定义的三维瓦片数据标准,Cesium对3DTiles是完全支持的,因此3DTiles能够直接与JS、游戏引擎等各大开发平台结合。但是OSGB比较尴尬,OSGB是OSG社区自定义的三维瓦片数据标准,其主要是加载到OsgEarth三维数字地球上显示,而OsgEarth目前主要支持C端,在Web端、移动端、VR/AR/MR等平台并未发布官方的开发平台,很多都是个人开发者开发的第三方插件,在功能迭代速度与稳定性上无法与3DTiles相提并论,这就导致OSGB的使用场景大大受限,目前还是以C端为主,在电子沙盘、智慧城市等行业还有一定的应用场景,但是也越来越受到Cesium的挤压,因为OSG的开发人员越来越少,Cesium的开发者众多。

2.利用OSGB强大的数据转换能力,将OSGB数据转换成其他格式,支持应用场景

目前很多平台和工具支持对OSGB数据进行编辑,比如大势智慧、FME、SVS MeshEditor等实景编辑软件,具备OSGB数据悬浮物删除、地形压平、OSGB纹理映射、漏洞修补、空三影像纹理映射、纹理提取等能力,虽然功能复杂性无法与AutoDesk、Maya等三维建模软件相比,但是在实景三维数据处理专业领域上,其专业性让这些建模软件望其项背;将OSGB数据导入到这些实景编辑软件进行裁剪修复后,数据质量更高,生成的数据显示画面也更干净。将OSGB数据进行修饰后,转换成OBJ、FBX等模型文件,其应用方向更加广泛。
三维GIS与游戏引擎的结合近些年来地理信息领域与游戏开发技术融合的重要趋势,其核心在于将真实地理空间数据与游戏引擎的渲染能力结合,构建高保真、交互性强的虚拟场景。OSGB转换成的OBJ、FBX等文件,能够直接导入到游戏引擎当中,在游戏引擎编辑器中进行编辑与修饰,这样全台湾的建筑模型数据就能融入到游戏引擎中,按照游戏的标准流程进行场景制作与发布,借助游戏引擎的实时渲染技术,提升大场景精度与光影效果,实现影视级画面表现。无论是常用的Unreal Engine、Unity游戏引擎,真实的三维GIS数据都具备强大的表现力。

此应用技术路线,让OSGB数据在数字孪生、军事仿真等领域应用发挥着越来越重要的作用,特别是Unreal Engine游戏引擎,不仅具备强大的引擎编辑、发布能力,能够在X86、ARM等平台运行,满足相关领域信创环境下国产化需求。

基于以上两种技术应用场景,我采用同一数据源生成了两套OSGB数据,两套数据的区别在于是否带LOD,分别满足数据可视化以及数据转换需求,这两套数据各有优势,带LOD的数据作为可视化使用,显示效率高,最开始生成的数据是带LOD的,因为当初考虑的首选技术应用场景是可视化;不带LOD的数据作为数据转换使用,转换效果好,这是在后期发现了全台建筑模型OSGB数据新的应用场景后,重新生成的。总结下来,直接作为显示使用,使用带有LOD机制的数据,保证了数据的流畅加载显示;需要转换成三维模型数据,则使用不带LOD的数据,转换出来的数据质量更好。
以上是两种比较常见的技术应用场景,其实还有很多其他应用方向,比如OSGB数据想在Cesium上使用,我们可以将OSGB数据转成3DTiles或GLTF格式就能解决问题,而不是开发基于Cesium的OSGB插件;比如OSGB数据想在Arcgis上使用,我们可以把OSGB转成I3S格式;通过这种间接的方式,大大扩展了OSGB数据的应用场景,正因为OSGB强大的数据转换能力,这也是OSGB数据在OsgEarth日渐式微的条件下仍然流行的原因。
简而言之,全台湾建筑模型OSGB数据虽然覆盖全面、数据质量相对较高,但我们需要充分利用其优势和特点,与实际业务需求相结合,才能创造出满足实际使用要求的系统和产品。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐