三维 GIS 引擎该用什么?结合目前主流引擎进行分析

news2024/11/26 18:49:19

相信大多数人在谈到三维 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 绝对非常合适。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/753519.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3ds Max 无插件制作燃烧的火焰动画特效

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在 3ds Max 中对火焰进行动画处理 如果您能找到“大气装置”设置,这很容易做到。基本上,你选择一个“Gizmo”(BoxGizmo,SphereGizmo或CylGizmo)&…

HashMap的遍历方式及底层原理

目录 概述MapMap的全谱系图HashMapkey和value HashMap的四种遍历方式keySetvaluesentrySetIterator性能分析应用场景二维表 底层原理key是数值型key是字符类型 总结: 概述 Map Map是Java中的一个接口,它继承自Collection接口,定义了键值对的…

GB35114双向身份认证(A级)学习笔记

GB35114双向身份验证学习笔记 温故而知新 SSL单向认证 摘录自:https://blog.csdn.net/qq_45759354/article/details/128672828 SSL协议用到了对称加密和非对称加密,在建立连接时,SSL首先对对称加密密钥使用非对称加密。连接建立好后&…

Docker 安装 Nacos 单节点

Docker 安装 Nacos 单节点 1 搜索 Nacos2 下载 Nacos3 安装 Nacos Nacos(中文名“云注册中心和配置中心”)是一个用于动态服务发现、配置管理和服务管理的开源项目,它由阿里巴巴集团开发并开源。Nacos提供了一种简单而强大的方式来实现微服务…

自动化用例编写思路 (使用pytest编写一个测试脚本)

目录 一,明确测试对象 二,编写测试用例 构造请求数据 封装测试代码 断言设置 三,执行脚本获取测试结果 四,总结 经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口…

系统调用与函数调用有什么区别?

本文我们来聊聊系统调用与普通的函数调用之间的区别。 作为程序员你肯定写过无数的函数,假设有这样两个函数: void funcB() {} void funcA() { funcB();} 函数之间是可以相互调用的,这很简单很happy有没有。 要知道是代码、是函数就可以相…

ABAP 发送特定格式内容的邮件

项目中,经常会有需求,向客户,供应商发送邮件,但是会有一些格式上的要求。 我们一般使用长文本来处理此类需求 举例,客户需要发送一个如下邮件主体内容(带格式) Dear Customer, Attached is y…

相机图像质量研究(2)ISP专用平台调优介绍

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

洛谷:P5016 龙虎斗 ← NOIP2018 普及组T2

【题目来源】https://www.luogu.com.cn/problem/P5016【题目描述】 轩轩和凯凯正在玩一款叫《龙虎斗》的游戏,游戏的棋盘是一条线段,线段上有 n 个兵营(自左至右编号 1∼n),相邻编号的兵营之间相隔 1 厘米,…

psutil库使用详解

一、背景 在Python的世界里,有一些库因其强大的功能和易用性而备受开发者们的喜爱。今天,我们要介绍的就是其中的一员——psutil库。psutil(python system and process utilities)是一个跨平台的第三方库,用于获取系统运行时的进程和系统利用…

MySQL 事务与存储引擎

目录 一、MySQL事务的概念 二、事务的ACID特点 2.1 原子性 2.2 一致性 2.3 隔离性 2.4 持久性 2.5 事务之间的相互影响 三、Mysql及事物隔离级别 3.1 查询全局事务隔离级别 3.2 查询会话事务隔离级别 3.3 设置全局事务隔离级别 3.4 设置会话事务隔离级别 …

Android自定义圆环进度条/刻度仪表盘(单环单点带动画)

效果图: 1.自定义HeartDashBoardView /*** 刻度仪表盘*/ public class HeartDashBoardView extends View {private static final float START_ANGLE 135f;private static final float MAX_ANGLE 270f;private float progress 0;private float centerX;private float center…

快快快快快快快快快快排

作者简介:დ旧言~,目前大一,现在学习Java,c,Python等 座右铭:松树千年终是朽,槿花一日自为荣。 望小伙伴们点赞👍收藏✨加关注哟💕💕 C语言实现快排☺️ ℹ️…

应届毕业生要如何准备秋招简历?

秋招对于应届毕业生是一个求职的重要渠道,但是很多应届毕业生却不知道要如何制作秋招简历。那么,秋招简历应该如何制作呢?接下来,小编给大家讲一讲简历制作(https://www.jiaobu365.com/)的哪些事&#xff0…

2023 世界人工智能大会(WAIC)人才培养论坛成功举办!

Datawhale论坛 来源:2023 世界人工智能大会(WAIC) 前 言 2023 年 7 月 8 日,“2023世界人工智能大会”(WAIC)落下帷幕。7 月 8 日上午,WAIC 的主要分论坛之一“AIGC时代下的青年开发者人才培养…

什么样的性能测试工具才算是好的工具呢?

一、性能测试工具的特征 调度能力 因为性能测试不可能由一台压力机完成或者说大部分情况下,我们不能不可能由一台压力机来完成,凡是对压力真正有所要求的场景,往往是多台压力机共同施加压力完成性能测试;因此,性能测…

【GitHub】强大的终端录制工具-Terminalizer

Terminalizer 是一个GitHub上优秀的开源项目,目前项目点赞数已达:14k,该项目可以轻松记录下你在命令行的操作,并将录制好的内容输出成 gif 图像或直接分享到网上。 项目开源协议:MIT 项目主开发语言:JavaSc…

Vue计算属性:简化数据处理和视图更新的利器

一、计算属性的基本使用 计算属性:一个特殊属性,值依赖于另外一些数据动态计算出来。🚩🚩🚩计算属性特点:函数内使用的变量改变,重新计算结果返回。💣💣💣注…

uniapp实现聊天消息触,vue3和vue2实现聊天消息触底 scrollTop ,scrollHeight Pc端H5端都适用

uniapp触底SDN链接如下(本人的另一篇博客) uniapp聊天时时触底链接 Pc端 模拟手机端H5 vue3写法 <template><div><!-- 聊天窗体 --><div class"test" id"gundong"><div class"text" v-for"p in chat"&…