Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有一定的保证。
#1. Cesium的作者:AGI公司
Cesium隶属于AGI公司,该公司一直致力于时空数据业务。正如很多开源项目都有一个个性化的名字,Cesium也不例外。Cesium原意是化学元素铯,铯是制造原子钟的关键元素,通过命名强调了Cesium产品专注于基于时空数据的实时可视化应用。 AGI的英文全称为Analytical Graphics Incorporation,三位创始人曾在通用公司宇航部的供职工程师,提供STK(System/Satellite Toolkit Kit)和Cesium两款产品。该公司是航天分析软件的领导者,而STK则是该公司的旗舰产品。经过多年来在时空数据的积累,AGI公司逐渐掌握了大量3D可视化技术,也感受到各行各业对海量3D数据的强烈需求,因此于2012年创建了cesiumjs开源项目,围绕Cesium生态圈打造了一套安全可靠易扩展且平台独立的企业级解决方案。
#2. Cesium官方网站
建议大家将Cesium官网的博客都读一遍,博客大概分为三类,主要是技术类,比如性能优化,调度算法等,一类是定期的新版本特性,能够了解Cesium新功能和新特性,还有一类是大事记,比较轻松,不妨感受一下Cesium的团队文化。
#3. Cesium的源码
Cesium遵循Apache 2.0许可开源协议,可以免费的用于商业和非商业用途,无论是个人还是商业用途,可以任意修改源码不用开源,需要声明该产品使用了Cesium,比如Cesium.js,LICENSE.MD;MODIFICATIONS.md声明你的修改清单。
Cesium目前更新比较频繁,每个月月初会发布一次版本,当前最新版本是:
版本:v1.89 (发布时间:2022-01-04 04:44:19) 下载zip包(62.2MB) 或 Gihub releases列表
Cesium架构图,建议使用前先熟悉整体架构图,以便能够快速使用。 新窗口查看大图
#4. mars3d-Cesium库说明
因为cesium本身也有一些bug或需要优化的地方,Mars3D使用的cesium也修改了部分cesium源码文件。我们修改Cesium的原则:
主要扩展都在mars3d类库中,没法外部扩展的,才会在内部去修改cesium底层;
尽量不改变ceisum本身逻辑,通过参数来可控改变;
并且所有修改都有完整注释说明。
#4.1 mars3d中如何使用Cesium
开发时如果需要 Cesium 的内部接口可以直接使用Cesium.*来调用即可,vue等环境中也可以通过mars3d.Cesium.* 来获取 Cesium 相关对象。
#5. 原生Cesium开发 相关学习网站
最好的教程其实是官方教程 和官方示例 ,并在学习中随时查阅API文档 。
#教程
PeterLu博客教程 超图大牛作品,国内较早的深入研究教程,该教程比较老,是2016年编写的,但写的很深入很底层。
伐罗密的Cesium中文网教程 :伐罗密编辑的Cesium编程入门和中级博客网站,2018年推出的目前还在更新。
coinidea中文社区 :coinidea组织的中文社区,里面包括2019至2020年编写的教程。
Cesium基础知识讲解 :火星科技2019年编写的Cesium教程文档和视频。
ND_DoYouService整理的教程 :ND个人2021年对其他人编写的教程简单整理了下。
GIS李胜Cesium开发教程 :GIS李胜2021年编写的一系列教程。
#代码
Cesium官方示例zgeo整理版 :如果看不习惯官方的示例,可以看下zgeo整理的这个版本。
张言哲github代码 :张言哲个人在2018至2019年Cesium学习中记录并汇总的代码
#其他
vtxf编写的Cesium资料大全 :唐晓飞(vtxf)对cesium及其周边整理的相关资料。
Cesium for Unreal快速入门 :Cesium for Unreal值得拥有。