数字孪生遇上GIS系统,艰难的融合之路

文章探讨了数字孪生技术在实际应用中与GIS系统的结合,以山海鲸可视化软件为例,分析了三种可能的融合路径:CesiumJS、iTown和loaders.gl。尽管CesiumJS因其成熟度被选为首选,但整合过程仍面临技术难题。文章提出了一种在同一个Canvas上先后渲染CesiumJS和ThreeJS的潜在解决方案,但此方法也带来诸多挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数字孪生与GIS的关系

在数字孪生技术的实际项目应用中,有大量GIS系统的相关需求。例如大部分智慧城市项目几乎都有自己的测绘数据、DEM、DOM、倾斜摄影等数据,都需要接入到数字孪生系统当中。数字孪生需要的功能可以用类似山海鲸可视化这样的软件来实现,但是GIS系统能否接入到数字孪生软件当中,同时还能共享数字孪生软件中所有的功能呢?这里便引出了我们的下一个话题。

2.道阻且长的融合之路

这里以山海鲸可视化这款比较典型的数字孪生软件为例,它的3D引擎专门用于数字孪生,同时支持在软件内进行3D场景编辑,非常契合GIS融合这方面的需求。

这里惯例推荐一下山海鲸可视化这款数据可视化软件,它的数据可视化相关编辑功能全部可以免费使用,并且没有任何限制,甚至如果你制作的是纯二维项目,那么私有化部署也是完全免费的。那么三维项目呢?尽管三维项目无法像二维项目一样免费部署,但是仍然可以免费编辑制作,只是最终导出后会存在水印。不过与同类产品相比,山海鲸可视化的免费化程度可以说是相当高了。

(贴一下山海鲸可视化官网,有兴趣的朋友可以自己试试看,反正是免费的。)

目前,数字孪生软件和GIS系统的融合大概有以下三条路可以走:

1.整合CesiumJS到系统中

优势:CesiumJS非常成熟,几乎支持了大部分常用的GIS协议,且性能优化较好

劣势:CesiumJS自己实现了底层的渲染功能,无法直接嫁接到软件的渲染引擎当中

2.给iTown写一个中间件

优势:iTown底层基于Threejs,易于嫁接

劣势:iTown本身不成熟,即使整合成功也可能会面临额外工作

3.使用loaders.gl加载成功后,直接写入渲染引擎

优势:开发起来自由灵活,类似自研

劣势:对tiles的加载几乎需要自己实现

最终,考虑到市场对于稳定性的需求,以及研发时间上的限制,还是决定选择CesiumJS整合这条路径。然后经过一番深入的研究发现这条路实际也是道阻且长,网上仅搜索到了几篇文章谈到了ThreeJS和CesiumJS的整合方式。

(1) 直接将两个Canvas叠加到一起,并同步相机实现。但这种实现方式远不能满足深度整合的需求。

(2) 采用CesiumJS的DrawCommand来实现ThreeJS的渲染底层,这种方式整合程度更深,但是软件已经在自己的渲染引擎中做了太多的定制,几乎不可能在这个时候迁移到CesiumJS的DrawCommand当中去。

那么有没有既不需要动目前的渲染引擎底层,又不至于像是两个Canvas这种非常浅的整合方式呢?当然是有的。实际上,无论是CesiumJS还是类似ThreeJS,他们底层目前都是基于WebGL/WebGL2绘制到Canvas来实现的(WebGPU还远没有成熟),那么我们是不是可以直接在一个Canvas让CesiumJS先画,ThreeJS后画呢?答案显然是可以的。但是依然会面临非常多的整合问题和技术难关,这个在后面的文章中会逐一给大家解释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值