私藏篇:【Cesium 学习地图】一份超全资源清单,请收好!
📘 专栏说明
本专栏旨在手把手带你从零开始,基于开源三维地球引擎 Cesium 封装一套功能完善、可复用的 WebGIS 增强型 SDK。内容涵盖核心封装思路、关键代码实现、常用 GIS 功能抽象,以及基于该 SDK 构建的 UI 组件库开发。如果你更关注结果而非实现过程,也可直接使用已发布的成果:
🌟 GitHub仓库 📦 NPM 包 ✨ 公众号:经纬码客(欢迎关注)
💡 建议:即便你打算直接使用 SDK,也推荐订阅本专栏 -- 理解设计思路,才能更灵活地扩展属于你自己的专属 GIS 能力!
由于作者需兼顾全职工作,更新主要安排在晚间或节假日,无法保证高频发布,但会持续迭代,直至 SDK 达到实际项目落地标准。届时将完整开源所有源码,供学习与商用(遵循许可证协议)。
大家好,我是 Cesium 酱(也可以叫我“本猿”),一名在 WebGIS 领域摸爬滚打多年的前端开发者。
在《Cesium酱の百宝箱》专栏里,我们一直在“造轮子”——封装 Viewer、设计事件系统、管理底图……
但很多读者留言问:“酱,我该从哪里开始学 Cesium?”
于是,我花了几天时间,把过去几年收藏、验证、踩坑过的学习资源,全部整理成一张 “Cesium 学习地图”。
今天,毫无保留地分享给你!
💡 文末表格省流链接均来自本猿收集项目,有GitHub参考,有在线Demo样例,有网站地址,有些仓库已经N久没更新了,但是亲测还是可用的(资料收集时间截至 2025 年 12 月)。
建议 收藏 + 转发 给需要的小伙伴!
🏛️ 一、官方资源 —— 学习的起点
一切从官方开始,最权威、最及时。
| 类别 | 资源 | 说明 |
|---|---|---|
| 官网 | https://cesium.com/ | 产品介绍、新闻、商业服务入口 |
| API 文档 | https://cesium.com/docs/cesiumjs-ref-doc/ | 最全类库参考,支持搜索 |
| 官方示例 | https://sandcastle.cesium.com/ | 必看! 几乎涵盖所有功能的可运行 Demo |
| CDN 引用 | 链接比较长,见文末表格吧 | 快速引入指定版本(如 V1.136) |
| 源码仓库 | https://github.com/CesiumGS/cesium | Star 30k+,深入理解原理的唯一途径 |
✨ 小技巧:在 Sandcastle 中修改代码后,点击 “Share” 可生成永久链接,方便团队协作调试!
🧩 二、核心技术文档 —— 深入底层
想真正掌握 Cesium,必须了解其两大基石:
-
Quantized Mesh 地形格式
Cesium 默认地形的数据结构规范,高效压缩高程数据。
-
3D Tiles 开放标准
OGC 认证的三维数据分发标准,支持 BIM、点云、倾斜摄影等。
🔍 建议:即使不写底层,也应通读 3D Tiles 规范,理解 tileset.json 结构。
⛰️ 三、地形处理工具链 —— 从数据到服务
想用自己的 DEM 生成 Cesium 地形?这些工具帮你搞定:
| 工具 | 语言 | 简介 |
|---|---|---|
| cesium-terrain-builder | C++ | 最经典的 DEM → Quantized Mesh 转换工具 |
| Cesium-GeoserverTerrainProvider | TypeScript | 通过 GeoServer 发布地形服务 |
| cesium-terrain-server | Go | 轻量级 TMS 地形服务端 |
| mbtiles-terrain-server | TypeScript | 支持 mbtiles 格式地形发布 |
| WCSTerrainProvider | JavaScript | 通过 WCS 服务加载地形 |
💡 推荐组合:gdal2cesium(Python)预处理 + cesium-terrain-builder 切片 + cesium-terrain-server 发布。
🧱 四、3D Tiles 转换与优化 —— 让模型“跑起来”
你的 OBJ、OSGB、LAS 数据如何变成 3D Tiles?试试这些:
| 工具 | 语言 | 亮点 |
|---|---|---|
| 3dtiles (fanvanzh) | C++ | 号称“世界最快”,支持 LAS/BIN 点云 |
| objTo3d-tiles | JavaScript | Node.js 工具,基于 obj2gltf |
| Cesium3DTilesConverter | C++ | 支持 OSGB、Shp、GDAL 多源转换 |
| 3d-tiles-tools | TypeScript | 官方出品!转换、优化、分析一体化 |
| 3d-tiles-validator | TypeScript | 验证 Tileset 合规性,上线前必备 |
🚀 进阶玩家可关注:py3dtiles(Python)、pg2b3dm(PostGIS 直接输出)。
🌍 五、开源示例与扩展库 —— 站在巨人肩膀上
别重复造轮子!这些高质量项目值得学习:
🧪 功能扩展
- cesium-extends(2025-04)
-
cesium-navigation
添加指南针、缩放控件、比例尺
-
CesiumVectorTile
实现小数据量矢量动态切片 & 贴地
🎨 行业应用
-
3dcitydb-web-map(2024-09)
基于 Cesium 的 3D 城市数据库查看器
-
cesium-draw(2024-07)
Vue + Cesium 绘制标记、多边形、多段线
-
3D-Wind-Field(2025-02)
全球风场可视化
-
czml-editor(2025-08)
CZML/KML 可视化编辑器
🧱 国产生态
-
cesium-map(2025-05)
支持天地图、高德、百度等国内地图底图
-
webgis-demo(2025-03)
Vue + 自定义曲面示例
❤️ 特别推荐:cesium-extends 和 cesium-map,中文开发者福音!
🖥️ 六、优秀应用案例 —— 看别人怎么做
灵感来源于实践。这些线上应用展示了 Cesium 的无限可能:
- replay.flights:航班轨迹回放
- radio.garden:全球电台地理分布
- www.3drotterdam.nl:鹿特丹城市数字孪生
- spaceaware.io:太空态势感知
- maris.iaea.org:海洋放射性监测
- map.geo.admin.ch:瑞士官方地理平台
👀 建议:打开控制台,观察它们如何组织数据、优化性能。
🧰 七、部分 SDK 与平台 —— 更贴近本土需求
如果你在国内开发,这些平台能省下大量时间:
Mars3D、DC.DVGIS、Converse3D
⚠️ 注意:部分平台为商业产品,也有开源的,不多解释,自行评估授权成本。
📖 八、学习材料与教程
最后,送上几份优质学习资料:
- Awesome Cesium:精选资源集合
- CesiumJS-tutorial:中文入门教程
- CesiumJsSamples(2025-06):最新样例库
- vue3-use-cesium(2025-08):Vue3 组件封装
💌 写在最后:学习,是一场共建之旅
这份清单,不是终点,而是起点。
Cesium 生态每天都在生长,新的工具、新的项目不断涌现。
欢迎你在评论区补充:
- 你用过哪些好用的工具?
- 有没有踩过什么大坑?
- 最想看到哪类教程?
我会定期更新这份“学习地图”,让它成为 中文 Cesium 开发者的共同知识库。
愿你在三维世界的探索中,少走弯路,多见风景 🌍✨
🌟 项目开源,欢迎Star✨!
GitHub:https://github.com/jianlei-wang/Arc3DLab_SDK
NPM:https://www.npmjs.com/package/arc3dlab
🥰表格整理,速速取走
Cesium 酱の百宝箱 · 学习特辑
资料因分享而增值,技术因交流而精进。
2026 年,一起学无止境!
本专栏旨在手把手带你从零开始,基于开源三维地球引擎 **Cesium** 封装一套功能完善、可复用的 **WebGIS 增强型 SDK**。内容涵盖核心封装思路、关键代码实现、常用 GIS 功能抽象,以及基于该 SDK 构建的 UI 组件库开发。
浙公网安备 33010602011771号