Cesium JS 三维地球开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_d03b9e2c/cesium-js。
技能介绍
要解决什么问题
在浏览器里做三维地球或 Web GIS,Cesium JS 的 API 面很广:从 Viewer 初始化、Cesium.Ion.defaultAccessToken 到影像/地形/3D Tiles 加载,再到 Entity 与 Primitive 两套建模方式,新手往往卡在坐标系、异步加载和性能取舍上。本技能把常见开发路径整理成可查阅的说明与可复制的模板,而不是只罗列官方文档目录。
技能如何组织
场景与坐标:覆盖 CesiumWidget 轻量容器、Viewer 配置项,以及 Cartesian2 / Cartesian3 / Cartographic 之间的转换习惯(例如优先用 Cartesian3.fromDegrees()、角度用 Cesium.Math 工具)。
数据与对象:
- 影像:
ArcGisMapServerImageryProvider、UrlTemplateImageryProvider(XYZ/TMS)等 - 地形与 3D Tiles(倾斜摄影、大模型 LOD)
- 矢量与实体:Entity 高级 API;大量静态点用 Primitive /
PointPrimitiveCollection
交互与分析:相机控制、拾取与绘制、天气/后处理/雷达等场景特效,以及可视域、剖面、淹没等空间分析思路;时间轴与动画也有对应章节。
assets/templates/ 下提供 basic_viewer.html、data_loading_examples.js、entity_examples.js 等,可按任务拆函数迁入项目;API 摘要见技能内 references/api_summary.md,复杂案例仍建议对照 Sandcastle 与官方论坛。
适用边界与注意点
- Entity 写法直观但海量点会拖性能;静态几何与大批量标注应下沉到 Primitive 并注意销毁(
viewer.entities.remove、scene.primitives.remove)。 - 异步
fromUrl类加载务必做错误处理,并用Cesium.defined()判空。 - 本技能是开发指引与示例汇编,不替代 Cesium 版本变更后的完整 API 阅读;生产环境需自行核对 Ion 令牌、服务协议与数据坐标系。
使用场景
- 在浏览器政务一张图里接入 WMS/WMTS 或 XYZ 影像,并叠加业务矢量与标注图层
- 为倾斜摄影或 BIM 成果加载 3D Tiles,按场景规模调整 LOD 与相机视角
- 在应急或水利项目中做淹没分析、可视域或剖面分析,并把结果画回三维场景
- 用相机拾取与绘制交互实现量测、漫游路线,或叠加天气、雷达扫描等专题特效
适合人员
- 负责数字孪生或智慧城市前端,需要在 Web 里从零配置 Cesium Viewer 与 Ion 令牌的工程师
- 做 GIS 服务集成,要把 ArcGIS MapServer、地形与 3D Tiles 统一加载到同一三维场景的开发者
- 做测绘、应急或环保可视化,经常要在 Cesium 里实现量测、可视域或淹没等分析交互的实现人员
- 维护 Cesium 大屏项目,需要在 Entity 与 Primitive 之间做性能取舍并规范销毁与异步加载错误处理的前端