# 开发指南

Cesium(opens new window) (opens new window)是一款开源的基于 JavaScript 的 3D 地图框架,是一款用于创建虚拟场景的 3D 地理信息平台。目标是用于创建以基于 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.94.3 (opens new window)(发布时间:2022-06-11 04:10:51) 下载 zip 包(63.9MB) (opens new window)Gihub releases 列表 (opens new window)

Cesium 包中的资源及代码

  • Assets:Cesium 中的静态资源,包括图片数据及 JSON 数据
  • Scene:自定义着色器指南,新手可以直接忽略
  • ThirdParty:Cesium 中使用的第三方库
  • Widgets:Cesium 中的 CSS 样式文件
  • Workers:Cesium 多线程工作代码
  • Cesium.js:Cesium 主文件

Cesium 架构图,建议使用前先熟悉整体架构图,以便能够快速使用。

readme

# 4. GEOWAY 三维地图 SDK 与 Cesium 的关系

Cesium 库总体来说入门门槛较高、API 接口不友好,所以我们对 Cesium 的类的使用做了一致性的封装,统一的 API 接口风格、并对一些事件、调度等做统一内部处理,外部使用更加简单易用。 两个 SDK 是互相独立解耦的,可以理解为 GEOWAY 对 Cesium 做了扩展和提升,并重新封装、并增加了很多新功能。