GIS融合之路(八)-如何用Cesium直接加载OSGB文件(不用转换成3dtiles)
最常见的做 OSGB 编辑的软件都是直接用 OpenSceneGraph 这个库里的 OSGViewer 开源项目来改的,这种方案的优势是 OSGB 的读取和渲染都无需自己写,只要在开源项目的基础上添加功能即可。但是这个方案的缺点也很明显,首先这个库是一个几乎 10 年前就停止维护的老库,渲染甚至还采用了 OpenGL1.0 的标准,想要在视觉上做一些调整几乎不可能。同时了解山海鲸的朋友应该知道,我们山海鲸创立了 CS/BS 动态切换的软件架构,我们所有的软件都可以既当作纯软件使用,也可以转换为服务器,变成内网协同的 Web 系统来使用。而 OpenSceneGraph 这套代码很难跑在 Web 上。
2025/09/09GIS融合之路(七)-Cesium实现夜空月亮星星渲染
系列传送门:山海鲸可视化:GIS 融合之路(一)技术选型 CesiumJS/loaders.gl/iTowns?山海鲸可视化:GIS 融合之路(二)CesiumJS 和 ThreeJS 深度缓冲区整合山海鲸可视化:GIS 融合之路(三)CesiumJS 和 ThreeJS 相机同步山海鲸可视化:GIS 融合之路(四)如何用 CesiumJS 做出 Cesium For Unreal 的效果山海鲸可视化:GIS 融合之路(五)给 CesiumJS 加上体积云(Volumetric Cloud)和高度雾(Height Fog)山海鲸可视化:GIS 融合之路(六)-Cesium 的雨雪风雷电效果
2025/09/09C/S架构和B/S架构两种数字孪生技术路线的区别是什么?
这就不得不聊到为什么山海鲸会做 CSaaS 了。首先,CS 本身的优势是下载和部署简单,一个安装包就能解决所有问题。但软件安装之后,只有一台电脑能使用,如需要在其他电脑使用则需要各自再装一个软件,且 CS 在协同编辑上也不方便。而山海鲸很多客户是政企客户,如若领导要查看某项数据就需要装一个软件的话,那估计领导电脑就爆了。因此山海鲸结合两者的特点,不仅能一键切换,还能热切换甚至同时在 BS 和 CS 上操作(目前因为定价原因做了限制)。底层我们自己实现了一套框架(我们称之为VenJS,即Vue+Electron+Nestjs),让一套代码同时跑在软件中或者浏览器和服务器上,同时,我们做了一个协议的中间件,封装了 http 协议和进程间通信。基于 VenJS 写代码时候无需关心底层通信协议,协议的接口直接暴露在 axios 接口中。写代码的时候完全当作网站来写,由框架来把程序打包到软件当中。同一套代码,VenJS 既可以打包成纯软件,也可以打包成纯网站,也可以打包出混血儿(就是现在山海鲸软件主版本采用的模式)具体代码细节以后有机会开一个专栏写一下,我们也有考虑后续框架成熟后可能会开源出来运营。
2025/09/09GIS融合之路(四)如何用CesiumJS做出Cesium For Unreal的效果
什么是大气散射呢?大家可以做一个思维实验,首先我们知道光在空气中是沿着直线传播的。我们也知道地球大气层以外就是一望无垠的宇宙空间,那么我们白天看向天空时,按说我们应该看到外太空才对(就像晴朗无云的晚上一样),为什么我们却看到的是蓝色呢?原因很简单,是因为太阳光被我们大气层中的大小粒子散射到了我们眼睛里,就是部分光线拐弯了,这个就是大气散射。同样的,当我们看向远处的山的时候,为什么山越远,看着就越接近天空的颜色(所谓秋水共长天一色)也是因为离视线越远,那么经过的空气粒子越多,那么太阳光经过空气粒子散射到我们眼睛里的颜色占比就越大,这个就是空气透视(AerialPerspective)。大气散射不同时间不同高度观测效果
2025/09/09