
cesium
文章平均质量分 66
搞GIS图形的sky.
三维GIS、图形相关,公众号:sky的数孪技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Cesium开发基础之坐标参考系统(2)
世界大地测量系统(WGS84)定义了地球的参考椭球体、水平基准、垂直基准和坐标系统。WGS84同时定义了一个地心坐标系统和地理坐标系统。通常,当我们想到ECEF坐标(x, y, z)或地理坐标(经度、纬度、高度)时,我们就会想到WGS84。WGS84定义了一个以地球为中心、固定在地球上的(ECEF)右手坐标系统。它的原点位于地球的中心。X轴通过赤道和本初子午线的交点,Y轴通过赤道和90°经线的交点,Z轴指向北极。默认单位是米。半长轴为6,378,137米,扁率为298.257223563。原创 2025-03-12 17:05:53 · 1053 阅读 · 0 评论 -
Cesium开发基础之坐标参考系统(1)
笛卡尔坐标是二维或三维直线坐标。地心坐标是相对于地球中心的笛卡尔坐标。由于地球赤道的半径大约是6,378,137米,地球表面的地心坐标通常在六百万到七百万之间。地心地固(ECEF)坐标是固定在地球上的地心坐标;随着地球的旋转,这个系统也会旋转,定义在ECEF中的物体相对于地球保持不变。ECEF与ECI(地心惯性)相对,后者的坐标轴是固定的,而地球在自转。ENU坐标是在一个局部的东-北-上参考框架中的笛卡尔坐标,其中X代表东,Y代表北,Z代表上。对局部区域的瓦片集应用缩放因子。原创 2025-03-12 17:05:13 · 1032 阅读 · 0 评论 -
CesiumJS进阶之路:IBL、动态环境贴图与环境光遮蔽技术升级
欢迎关注公众号【sky的数孪技术】随着Cesium在Unreal Engine和Unity中的普及,原生应用开发者对地理空间应用的视觉表现提出了更高要求。游戏引擎特有的动态日光系统、光探针和全局光照等技术已开始应用于地理空间领域。CesiumJS团队一直在探索基于浏览器的地理空间三维应用的次世代光照方案。良好的照明对于充分利用基于物理的渲染(PBR)至关重要,PBR 是模型和 3D Tiles 中常见的渲染技术。想象一下抛光的金属球:它看起来平坦而暗淡,没有任何东西可以反射。原创 2025-03-04 16:51:24 · 1377 阅读 · 0 评论 -
Cesium开发基础之地理空间概念
椭球体是由以下方程定义的隐式曲面:其中a、b和c分别是沿x、y和z轴的三个半径。如果两个半径长度相同,椭球体就是一个球体。如果第三个轴较短,椭球体就是一个扁球体。较大的相等半径称为长半轴,较小的半径称为短轴。下面的左下角椭球体是一个扁球体。参考椭球体用于近似地球或其他行星体的形状。地球具有扁球体的特征:它在赤道处等距,而在两极比赤道宽。地球的参考椭球体通常由两个参数定义:长半轴和扁平度,其中扁平度由以下方程定义:其中a是长半轴,b是短半轴。原创 2025-02-25 10:53:54 · 941 阅读 · 0 评论 -
GIS图形库更新2024.11.10-12.10
本期发布了 2.11.0 版本。这是 Cesium for Unreal 支持 Unreal Engine v5.2 的最后一个版本。未来版本将需要 Unreal Engine v5.3+。本期发布了 1.124 版本,此次更新主要集成了 Bentley 旗下的 iTwin 平台。本期发布了 3.8.0 版本。此版本更新了大量的试验性支持,将可能会出现下一个大版本。优化后,AO 效果会变得更模糊,并且在远离相机时仍然可见(尽管强度较低)优化前,AO 效果在缩小时会消失。原创 2024-12-10 13:24:49 · 1150 阅读 · 0 评论 -
Cesium里关于Primitive位置更新问题
时,是同步创建,可以在创建时移除,缺点是大量渲染会造成阻塞。但是如果指定异步方式,就会出现渲染闪烁的问题,因为无法确定primitive在哪一帧才能创建完成。中没有位置更新的回调方法,只能先移除再重新创建。创建primitive时,我们可以指定异步方式,当我们设置。来更新实体的位置,但是如果涉及到大量实体(比如线)位置更新的话,用。属性来判断primitive何时创建完成,但是需要通过。在Cesium里面,我们可以用。对于这个问题,我们可以利用。加载实体的方式,来通过。来绘制大量实体,但是。原创 2024-10-21 13:26:31 · 1542 阅读 · 1 评论 -
Cesium动态水波纹效果
关注公众号【sky的数孪技术】,技术交流、源码下载请添加VX:digital_twin123。原创 2024-07-22 13:12:11 · 585 阅读 · 0 评论 -
Cesium雷达扫描线效果
更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加VX:digital_twin123。原创 2024-07-22 13:11:12 · 1006 阅读 · 3 评论 -
Cesium的Picking过程原理
这时,会更新screenSpaceRectangle,只对点击的相关区域进行渲染,也就是只会更新局部区域,并返回PickFramebuffer中的FBO,因此渲染结果都是保存在PickFramebuffer的帧缓冲中,完成ID纹理。其实拾取的思路很简单,就是来一张“ID”纹理,对每一个渲染的Object赋予一个唯一的ID并将ID转为RGBA,在渲染到“ID纹理”时,渲染的是ID颜色。这时用户点击想要拾取每一个地物,则查找对应ID纹理中的颜色值并转为ID,根据ID找到对应的地物。原创 2024-03-15 13:24:03 · 684 阅读 · 0 评论 -
Cesium插件系列——3dtiles压平
中获得该顶点的模型局部坐标。如果我们要实现压平,最好是在ENU坐标下来进行修改顶点坐标的高度。所以我们要实现的逻辑就是:将顶点坐标转成ENU坐标 -----> 判断是否在多边形范围内 -----> 若是则修改高度 -----> 转回模型坐标。我们转成ENU坐标后,其实可以在EN平面上去进行判断。将多边形的经纬度点都转成ENU坐标,只取xy值,然后跟该顶点进行平面判断。这里是根据Cesium提供的CustomShader来实现的。本系列为自己基于cesium写的一套插件具体实现。原创 2024-03-01 18:05:17 · 1713 阅读 · 0 评论 -
Cesium地表透明
通过将地表的drawCommand放到透明队列里渲染。现在发现有了新的方法(其实2020年就有该方法了):GlobeTranslucency。之前Cesium是不能地表透明的,需要改内部代码,将GlobeSurfaceTileProvider.js中的。也可以设置根据到相机的距离获取或设置地球背面的近和远半透明属性。当相机位于地下时,背面和正面会交换,即背面几何形状被视为正面。来计算的,所有这些都可能包含半透明度。还可以设置矩形范围,来呈现范围内的透明表面。下面代码是修改影像的透明度,可以看到地下。原创 2024-03-01 17:51:12 · 1339 阅读 · 0 评论 -
新版本cesium的注意点
之前基于1.99版本写了一套插件,最近想替换成目前的新版本(114),发现有很多写法都不能用了,这里做一下记录。原创 2024-02-20 14:27:16 · 3021 阅读 · 0 评论 -
CesiumJS 中绘制大多边形
尽管它们通常会扭曲面积(这就是为什么这种类型的投影在极地区域之外的映射中不常见的原因),但保留形状对于我们在多边形上执行的几何操作至关重要。从性能的角度来看,在创建几何图形时,分割多边形可能是一项昂贵的操作,因为该算法对每个多边形和每个分割平面进行操作。但是,一旦进行三角剖分,任何分割的多边形都会稍后在管道中重新组合,作为几何批处理步骤的一部分,以确保与以前相同的渲染性能。在Cesium的早期版本和一些引擎中,我们绘制这种跨度比较大的多边形,经常会看到一些奇怪的冲突问题,如下图所示。一种简单的解决方案是。原创 2023-10-22 19:46:47 · 635 阅读 · 0 评论 -
Cesium里自定义primitive
在不改Cesium源码下,在外部添加一个primitive。原创 2023-07-09 10:16:52 · 1261 阅读 · 0 评论 -
Cesium阴影技术
【以前的文章存档】Cesium的阴影技术用的是Cascaded Shadow Mapping(简称CSM),先来说下两种阴影类型,一种是另一种是。原创 2023-07-02 10:07:44 · 2986 阅读 · 0 评论 -
Cesium之雾的实现
以前记录的文章。雾是一种让远处几何渐隐的图形技术。早期的游戏引入了雾来隐藏在远处渲染的几何图形。即使在不再需要它之后,游戏仍然支持fog,因为它增加了场景的真实性,减少了draw call的数量,因为完全在fog中的几何体可以被剔除。在Cesium中,雾是大气颜色和地平线上地形的混合。部分处于雾中的地形瓦片会增加其屏幕空间误差(SSE),这样可以渲染低分辨率的地形。完全在雾中的瓦片将被完全剔除,甚至不被请求。这些优化将地平线视图中渲染的瓦片和从服务器请求的瓦片的数量都减少了35%。原创 2023-07-02 10:02:27 · 769 阅读 · 0 评论 -
Cesium天空盒生成及顺序调整
此时如果直接用于cesium的天空盒的话,会发现有问题,个别图片颠倒,并不能使用,所以我们需要将这几张贴图做一下顺序调整。天空盒设置的时候,找好对应顺序即可加载。转换之后可以获得六张盒子贴图。nx:顺时针旋转90°。px:逆时针旋转90°。原创 2023-06-14 12:38:14 · 924 阅读 · 0 评论 -
protobuf高效传输
protobuffer cesium大数据量高效传输原创 2017-05-20 17:22:23 · 5296 阅读 · 0 评论 -
Cesium-3D Tiles 跳跃式层级细节
翻译自http://cesiumjs.org/2017/05/05/Skipping-Levels-of-Detail/ ,有改动 Cesium的3D Tiles使用分层细节(HLOD)来自适应地加载和优化3D模型。这样做能够使模型在离相机很远的时候能够渲染低分辨率的瓦片,在离相机近的时候渲染高分辨的瓦片。但是,展示HLOD模型的通用方法是加载每一级别分辨率的瓦片直到所需的翻译 2017-05-11 16:17:39 · 10999 阅读 · 3 评论 -
Cesium热力图实现
生成热力图的算法我是用的一个热力图插件 heatmap.js。heatmap中热力图生成原理:heatmap中首先会根据输入的渐进色参数,在内部生成一个0-255色值的调色板。var _getColorPalette = function(config) { var gradientConfig = config.gradient || config.defa原创 2017-05-14 10:01:46 · 21640 阅读 · 7 评论 -
Cesium之地形(1)
Cesium地形简介Cesium支持多种地形格式和服务,Cesium的母公司AGI提供了两份免费使用的地形数据,一个叫“STK World Terrain”,它是高分辨率,基于mesh的地形数据;另一个叫“PAMap Terrain”,处于美国宾夕法尼亚州的一处地形数据。在Cesium中,地形和影像是不同处理的,默认是影像覆盖在地形上,任何的影像的provider都可以在任何的地形原创 2017-05-11 12:28:17 · 20608 阅读 · 1 评论 -
Cesium学习笔记(5)
1.更改cesium的选择框大小 在Souce/Widgets/SelectionIndicator/SelectionIndicator.js中修改: 在Souce/Widgets/SelectionIndicator/ SelectionIndicator.css中修改: 2.对于label和billboard字体或图片不清晰问题的解决方案:原因:billboard是栅格图像,处在原创 2016-12-25 16:08:27 · 9101 阅读 · 1 评论 -
基于Cesium的demo赏析(持续更新)
更新于2017.1.14Cesium的强大不用多说,所以有很多政府、组织基于cesium做了一些应用,其中不乏有很多优秀的示例,我们大都可以从中获得对自己的项目有益的东西。另:有的网站需要翻墙。 1.一个NASA的海洋风向可视化项目 网址:http://mwsci.jpl.nasa.gov/rapidscat/ 2.Cesium官网的一个滑雪的demo,里面还有视频播放 网址:http原创 2016-12-05 22:42:29 · 37266 阅读 · 22 评论 -
Cesium加载MBTiles矢量切片
MBTiles 是由 MapBox 制定的一种将瓦片地图数据存储到SQLite数据库中并可快速使用,管理和分享的规范。该规范由MapBox制定,详见http://mapbox.com/mbtiles-spec/。 透过数据库索引的方式提高瓦片索引的效率,比通过瓦片文件方式的读取要快的多。MBTiles其实只是一个SQLite数据库文件,优点在于小,方便迁移,可以存在于移动端。 MBTiles切分后原创 2016-11-27 22:28:57 · 20123 阅读 · 14 评论 -
Cesium之Primitive相关探索
Primitive: 它代表着场景(scene)中的几何体,这个几何体可以是一个几何实例,或者由一组几何实例合并而成,即便它们是不同种类的几何体,例如一个矩形和一个椭球。 primitive通过把几何体和外观进行解耦,能够让我们混合和匹配他们中的大多数来添加一个新的几何体,或者彼此独立的外观。 它主要由两部分组成: ①.几何实例(GeometryInstance):定义了primitive的原创 2016-10-07 15:46:53 · 10208 阅读 · 1 评论 -
Cesium学习笔记(4)
1.方位与方向(orientation和position)Orientation:若以正北为参照。Heading:初始方向为正北,正角度为向东旋转,即水平旋转Pitch:正角度为平面之上,负角度为平面之下,即前后旋转Roll:左右旋转Position:关于position有多种类型,如SampledPositionProperty类型,是一个含有多个样本点位置的对象,主原创 2016-09-24 20:10:12 · 23696 阅读 · 5 评论 -
Cesium学习笔记(3)
1.解决czml生成轨迹后,模型无法转向的问题生成运动轨迹:在czml文件中储存轨迹点数据,通过load方法加载该czml文件,return一个CzmlDataSource类型的Promise对象,然后在回调中处理该对象。viewer.dataSources.add(Cesium.CzmlDataSource.load(czmlTest)).then(function(ds){原创 2016-09-17 13:42:23 · 8921 阅读 · 3 评论 -
Cesium学习笔记(2)
Cesium学习笔记(2)(1).坐标系转换cesium中常用的坐标有两种WGS84地理坐标系和笛卡尔空间坐标系(世界坐标)。我们平时常用的以经纬度来指明一个地点就是用的WGS84坐标,笛卡尔空间坐标系常用来做一些空间位置变换如平移旋转缩放等等。二者的联系如下图, 笛卡尔空间坐标的原点就是椭球的中心. Pick----屏幕坐标 Cartesian----世界坐标 cartog原创 2016-09-11 12:12:40 · 24532 阅读 · 9 评论 -
Cesium学习笔记
一、Cesium简介Cesium 是一个JavaScript库用于在Web浏览器创建 3D 地球和 2D 地图,无需任何插件。Cesium 使用 WebGL 来进行硬件加速图形化;跨平台;跨浏览器;实现真正的动态数据进行可视化。Cesium 基于 Apache 开源协议,支持商业和非商业免费使用。该框架不需要任何插件支持,但是浏览器必须支持WebGL。Cesium 主要特性原创 2016-08-06 22:30:31 · 5695 阅读 · 0 评论 -
批量obj格式直接转gltf
注意:由于库改变,批处理代码有问题,此为老代码。 -2018.2.7在cesium中的模型需要的是gltf或glb格式的文件,之前的做法是用将模型从3d max中导出dae格式的文件(需要插件),然后用collada2gltf工具将dae格式转成gltf。 最近翻看cesium的官博上,推荐了一个obj2gltf的库,地址https://github.com/AnalyticalGraphic原创 2016-11-09 21:30:39 · 20482 阅读 · 11 评论