三维GIS引擎用什么好?结合目前市面上的主流引擎进行分析
相信大多数人在谈到三维GIS引擎时,第一个想到的首先是CesiumJS,CesiumJS以其免费开源的特点,快速占领了三维GIS这个领域,同时也催生了许多以CesiumJS为基础的衍生产品。CesiumJS作为一个功能强大的JavaScript库,可以用于在Web浏览器中创建高性能的三维地球和GIS应用。它具有广泛的GIS数据集成能力、强大的可视化效果和丰富的功能扩展库。不过它最主要的优势还是其在Web平台上的广泛应用和大型的社区支持。

CesiumForUnity目前的处境比较尴尬。由于Unity本身视效不如Unreal,同时在学习门槛方面又和CesiumForUnreal差不多,毕竟也是要对Unity和C#进行一定程度的学习,这就导致了CesiumForUnity目前基本没什么人用,这又导致相对于CesiumJS和CesiumForUnreal,CesiumForUnity的社区和插件生态系统相对较小,形成了一种恶性循环。

CesiumForUnreal混的就比CesiumForUnity好很多了,毕竟在视效方面CesiumForUnreal利用Unreal Engine强大的渲染引擎和工具集,提供了逼真的地理空间可视化和交互功能,视觉效果上比CesiumForUnity好很多。当然,CesiumForUnreal比较明显的问题就是存在一定学习门槛,同时学习曲线也比较陡峭,虚幻引擎和C++对于大部分GIS开发人员来说都是完全陌生的东西,想要从头开始了解还是一件非常费时费力的事情。不过考虑到还有蓝图这种比较方便的手段给开发人员“偷懒”用,CesiumForUnreal也算是一种比较好的选择了。

CesiumLab听名字应该就能想到,这也是一个基于Cesium的扩展项目,与CesiumJS相比它提供了更多的工具和功能,以便于开发者构建更复杂和丰富的地理空间应用程序。CesiumLab可以帮助开发者快速构建自己的地球仪应用。其中一个非常有用的功能是生成地形JSON数据。使用Cesiumlab生成地形JSON数据非常简单,只需要在Cesiumlab的代码编辑器中编写如下代码:
var terrainProvider = new Cesium.CesiumTerrainProvider({
url : 'https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles',
requestWaterMask : true
});
CesiumLab.Terrain.extractTerrain(terrainProvider, {
maxHeight : 10000,
tileWidth : 25,
tileHeight : 25,
enablePicking : true,
debugMode : false
}, function(json) {
console.log(json);
});
该方法需要传入三个参数:
- terrainProvider: 必选参数,代表提供地形数据的CesiumTerrainProvider对象
- options: 可选参数,包含各种提取地形数据的配置选项,如最大高度,切片宽度,切片高度等
- callback: 必选参数,回调函数,接收提取出来的地形JSON数据。

最后一个介绍的是山海鲸Cesium,这也是一个集成到了数字孪生系统中的GIS渲染引擎,它的特别之处在于相较于以上引擎,学习门槛特别的低,如果你熟悉CesiumJS应该不用任何额外的学习,就可以直接上手开搞,并且之前提到了山海鲸Cesium是集成在了数字孪生系统中的,而山海鲸Cesium的数字孪生系统中默认整合了大气散射、体积云、高度雾等视觉元素及非常灵活的设置,能够达到CesiumForUnreal的视觉效果。对于又想升级视效又想节约时间的开发者来说山海鲸Cesium绝对非常合适。

三维GIS引擎用什么好?结合目前市面上的主流引擎进行分析的更多相关文章
- 三维GIS引擎地图可视化渲染方案设计
1.GIS地图可视化流程 GIS地图可视化就是将空间数据转化为地图数据再进行交互处理的方法,下图一展示了地图可视化的可编程渲染的典型管道,原始空间数据必须处理为图形API支持基础图元用以地图渲染.下图 ...
- OpenWebGlobe-开源三维GIS初体验(附源码和演示)
1.OpenWebGlobe简介 OpenWebGlobe是一个高性能的三维引擎.可应用于可视化仿真,游戏,三维GIS,虚拟现实等领域.它使用纯javascript编写,可以运行在任何支持HTML5. ...
- 开源(免费)三维 GIS(地形,游戏)
先写想法: 想做个简单的地形漫游,于是考虑在ww直接开发,或找个控件形式的开发组件. 最大的期望有: 1. 支持google的sketchup,快速智能三维建模 2. 设计模式做好点,最好先做成组件形 ...
- .NET平台下开源三维 GIS (地形与游戏)平台资料
.net平台下开源(免费)三维(地形,游戏)GIS平台 open source (free) 3d (terrain,game) gis platform based on .net (C#) Axi ...
- 19个三维GIS软件对比
19个三维GIS软件对比 麦豆科研技术中心 days ago 我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方 ...
- 国内外主流的三维GIS软件
我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方向之一.上世纪八十年代末以来,空间信息三维可视化技术成为业界研 ...
- 华为HMS Core携手超图为三维GIS注入新动能
6月30日,在2022(第五届)GIS软件技术大会GIS基础软件新技术板块论坛上,华为联合超图推出了基于HMS Core 3D Engine开发的高保真三维GIS插件,通过3D渲染技术助力三维GIS实 ...
- 三维GIS
三维GIS数据结构 三维GIS数据库 三维渲染显示 点云处理 cnki:http://kns.cnki.net/kns/brief/default_result.aspx
- 类似阿里双十一的可视化看板是怎么做的?无人机三维GIS看板也来了!
天猫双十一数据可视化看板 每年的双十一,天猫都会在整点时刻直播战绩,惊叹于可怕战绩的同时,也会被背后展示的数据大屏吸引,这样让人眼前一亮的可视化数据看板是怎么做出来的? 所谓可视化数据看板,就是挂在墙 ...
- [多平台]pymo – 手机上的 GalGame 引擎
[多平台]pymo – 手机上的 GalGame 引擎 介绍下这个能在手机上玩移植 GalGame 的游戏引擎,不知道有多少人听过呢?相信如果有喜欢在手机上玩 GalGame 的同学肯定听过类似的东西 ...
随机推荐
- Vue.js 官方脚手架 create-vue 是怎么实现的?
Vue.js 官方脚手架 create-vue 是怎么实现的? 摘要 本文共分为四个部分,系统解析了vue.js 官方脚手架 create-vue 的实现细节. 第一部分主要是一些准备工作,如源码下载 ...
- Ds100p -「数据结构百题」1~10
1.「一本通 4.6 例 1」营业额统计 原题来自:HNOI 2002 Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger 拿出 ...
- nacos2.X版本无法注册的几个原因以及解决方案(踩坑避雷!)
在使用nacos+dubbo 注册服务的时候 遇到了无法注册的问题 记录一下踩的坑以及解决方案 com.alibaba.nacos.api.exception.NacosException: Requ ...
- 初识FreeRTOS
FreeRTOS是一个迷你的实时操作系统内核.作为一个轻量级的操作系统,功能包括:任务管理.时间管理.信号量.消息队列.内存管理.记录功能.软件定时器.协程等,可基本满足较小系统的需要. 一.Fr ...
- 9.12 多校联测 Day2 总结
还是有不少不该挂的分. 开考看了 T1 约 40min 仍然毫无思路,试着推 mod=2 无果.吸取昨天经验教训,赶紧扔掉看 T2. 在 9:00 想到了 dp 的可能性,苦于设计不出状态.9:20 ...
- 【Qt6】列表模型——几个便捷的列表类型
前面一些文章,老周简单介绍了在Qt 中使用列表模型的方法.很明显,使用 Item Model 在许多时候还是挺麻烦的--要先建模型,再放数据,最后才构建视图.为了简化这些骚操作,Qt 提供了几个便捷类 ...
- git 忽略已提交(commit)的文件/文件夹
git 忽略已提交的文件或文件夹 最好是在工程一开始就编辑好 .gitignore 文件, 在第一次提交的时候仔细检查避免添加那些无用的文件 因为 .gitignore 只能对未提交过的文件起效, 也 ...
- 26. 干货系列从零用Rust编写正反向代理,如何发布Rust项目到Docker
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现 ...
- Java Lambda 表达式常见面试问题与解答
公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享. 在本文中,我们将讨论一些重要且常见的 Java Lambda 表达式面试问题和解答 1.什么是 Lambda 表达式? l ...
- 小闫s人格大爆发 | 坐椅子上?study:sleep
hadoop视频 搭建环境 刷单词 看电影