cesium API介绍

1. cesium API 结构

在这里插入图片描述
在实际的开发过程中,基本上会用到上图所示的Cesium API中各个类,我们可以把它按照以下分类进行记忆。

1.1 Viewer类属性

imageryLayers 影像数据
terrainProvider 地形数据
dataSources 矢量数据
entities 几何实体集合(用于空间数据可视化)
Widgets 组件,即Viewer初始化界面上的组件
Camera 相机
Event 事件,鼠标事件、实体选中事件等

1.2 Scene类属性

primitives 图元集合(几何体和外观)
postProcessStages 场景后期处理
环境对象,大气圈、天空盒、太阳、月亮等
Event事件,更新、渲染事件等
Camera类属性
位置、方位角、俯仰角、翻滚角

1.3空间计算

三维矩阵、四元数、四维矩阵、转换等

2. Cesium中Primitive与Entity

Cesium为开发者提供了丰富的图形绘制和空间数据管理的API,可以分为两类,一类是面向图形开发人员的低层次API,通常被称为Primitive API,另一类是用于驱动数据可视化的高层次API,称为Entity API。
总的来说,Primitive偏底层,图形绘制和数据加载效率较高,但开发难度更大,而Entity基于Primitive做了进一步封装,调用便捷。

2.1Primitive

Primitive通常有两个部分组成:
(1)Geometry:几何形状,定义了Primitive的结构,例如点、线、面、体等。
(2)Appearance:外观,定义了Primitive的着色(shading),包括顶点着色器(vertex shader)、片元着色器(fragment shader),以及渲染状态(render state)。

使用Geometry和Apperance的优势是:
(1)高性能。绘制大量Primitive时,可以将其合并为单个Geometry,提高效率,合并由Web worker执行,UI保持响应性。
(2)灵活性。Geometry与Appearance相互独立,可分别修改。
(3)低级别访问,易于修改着色器,使用自定义的渲染状态。
不足之处:
(1)实现同样的功能,需要比entity编写更多的代码。
(2)需要开发者对图形编程,OpenGL有较为深入的了解。

2.2Entity

entity是对primitive的封装,使得使用者专注于数据的呈现,而不用去纠结底层的实现机制。
entity中绘制几何体的接口是graphics,而primitive则是geometry。
对于材质而言,entity是MaterialProperty,而primitive的材质则是Material,使用上要注意区别。
entity更方便于实际可视化的操作,虽然便捷,但不利用自定义可视化效果。

本文为学习笔记,第一节来自GIS李胜,简书https://www.jianshu.com/p/46dd28ddfde0
第一节来自https://blog.csdn.net/weixin_45782925/article/details/122690683

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值