数字孪生与GIS数据为何高度互补?二者融合后能达到什么样的效果?

2023-10-10 18:01

本文主要是介绍数字孪生与GIS数据为何高度互补?二者融合后能达到什么样的效果?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

山海鲸可视化作为一款数字孪生软件,在GIS的融合方面处于业内领先水平,那么为什么一款数字孪生软件要花费巨大的精力,去实现GIS的融合,实现后又能达到什么样的效果呢?下面就让我们来一探究竟。

一、为什么数字孪生需要和GIS融合?

这其实来源于许多客户的现实需求,尤其是智慧城市项目中往往会涉及到测绘数据、DOM、DEM等各种GIS数据,这些GIS数据不仅需要导入数字孪生系统,并且还要能够享受数字孪生系统中的各种功能。

为了满足客户的需求,数字孪生和GIS的融合也就势在必行了。但是,这样的融合究竟要如何实现,才能在实现基本需求的同时,又能保障视觉效果的优秀呢?

二、如何实现数字孪生和GIS的融合?

针对上述问题,我们有下面几条路径可供选择。

1.整合CesiumJS到系统中

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

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

2.给iTown写一个中间件

优势:iTown底层是基于Threejs的,起码能看懂,好嫁接

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

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

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

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

最终,考虑到客户对于稳定性的需求,以及研发时间的限制,我们决定选择CesiumJS整合这条路径。

在解决深度缓冲区整合、相机同步、视效升级等一系列技术问题后,山海鲸Cesium成功问世。这意味着山海鲸可视化不仅能够支持接入GIS数据,还可以让数字孪生和GIS共享系统中的功能,提升整体视觉效果。

由于山海鲸内部采用CesiumJS原生接口,所以能够以超低成本实现Cesium项目迁移,用户无需进行繁杂的代码修改。同时软件内部默认整合大气散射,体积云,高度雾等视觉元素,用户无需任何代码基础,即可一键提升视觉层次。

三、二者融合后能达到什么样的效果?

图片来源:山海鲸可视化官网

图片来源:山海鲸可视化官网

图片来源:山海鲸可视化官网

图片来源:山海鲸可视化官网

可以看出山海鲸中默认的效果已经非常逼近CesiumForUnreal的效果了,山海鲸默认自带了体积云效果及非常灵活的体积云设置,同样在Unreal中想要达到类似效果需要购买插件或者需要自己用蓝图对体积云进行建模。同时由于山海鲸中整合的是CesiumJS,因此大家可以用自己熟悉的JS语言和CesiumJS接口来对山海鲸中CesiumJS进行二次开发,之前的CesiumJS项目甚至都不需要改什么代码就可以一键迁移,开发成本和学习难度远远低于Unreal的C++或者蓝图。

四、结语

在数字孪生与GIS数据的融合之中,我们可以看到巨大的潜力和机遇。数字孪生技术为GIS数据赋予了视效的全面升级以及更加直观、细致的使用体验。数字孪生和GIS二者的融合不仅能够提高城市规划、资源管理、应急响应等领域的效率,还有助于解决更加的复杂问题。它的潜力还远未被完全挖掘,我们可以期待在数字孪生与GIS数据的融合中看到更多的惊喜和成就。

这篇关于数字孪生与GIS数据为何高度互补?二者融合后能达到什么样的效果?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/182147

相关文章

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt