Appearance
GIS Cesium 引擎
@space-air/gis-cesium 是基于 CesiumJS 的地理空间战术仿真引擎封装库。
核心能力
| 模块 | 说明 |
|---|---|
| CesiumViewer | Viewer 初始化、Clock 管理、实体 CRUD、生命周期管理 |
| EntityManager + CombatEntity | 作战实体管理:卫星/战机/舰船/车辆/导弹/雷达/基地 |
| CameraControl | 飞行漫游、视角锁定、实体跟踪、场景模式切换、快照系统 |
| BaseMapManager | 底图运行时切换、快照/恢复、多源叠加 |
| TerrainManager | 地形 Provider 管理、预设切换 |
| LayerManager + GeoJsonLayer | 图层 CRUD、排序、显隐、GeoJSON 加载 |
| HeatmapLayer | 热力图渲染(实体/图元/影像三种模式) |
| HexGrid | 六边形格网生成 |
| PopupManager | 屏幕空间弹窗(HTML/组件/回调三种内容模式) |
| DrawManager | 绘图工具:点/线/多边形/矩形 |
| MouseEvents | 鼠标交互封装:移动/左键/右键 + 坐标转换 |
| ConnectionManager | 实体间连线:直线/虚线/流动线/激光/脉冲锥/金字塔 |
| ActionRenderer | Action 动画系统:MoveTo / TLEOrbit / MissileStrike |
| Effects | 爆炸粒子特效 + 实体探测范围特效 |
| Materials | 自定义材质:流动椭球 / 虚线流动折线 |
| Plugins (12 Mixins) | Viewer 扩展:网格/材质/场景配置/动画面板/离屏渲染/坐标轴/卫星工具/姿态变换/相对路径 |
| GIS Utils | 坐标转换 / 卫星轨道计算 / 相对轨道 / 时间工具 |
| Providers | 底图工厂:OSM/高德/WMS/ArcGIS/XYZ/单图 |
安装
bash
pnpm add @space-air/gis-cesium需要 peer dependency:
json
{
"cesium": "^1.133.1",
"vue": "^3.5"
}快速开始
ts
import { CesiumViewer, viewerEntityMixin, viewerCameraMixin } from '@space-air/gis-cesium'
// 1. 创建 Viewer
const viewer = new CesiumViewer('container', {
animation: false,
timeline: false,
baseLayerPicker: false,
})
// 2. 安装插件
const v = viewer.viewer
viewerEntityMixin(v)
viewerCameraMixin(v)
// 3. 创建实体
const entity = v.createEntity({
id: 'sat-001',
name: '卫星-001',
entityType: 'Satellite',
components: [
{ id: 'pos-1', type: 'PositionComponent', lon: 108.94, lat: 34.26, alt: 400000 },
{ id: 'lbl-1', type: 'LabelComponent', text: 'Sat-001', color: '#ffd700' },
],
modules: [],
})
// 4. 飞行到实体
v.cameraControl.flyToEntity(entity.entity)架构
@space-air/gis-cesium
├── CesiumViewer # 核心 Viewer 封装
├── Plugin Mixins (12) # Viewer 扩展:注入方法到 viewer 实例
├── EntityManager # 实体 CRUD + 事件
│ └── CombatEntity # 实体数据 → Cesium Entity 同步
├── Manager Classes # 独立管理器:底图/地形/图层/绘图/弹窗/连线
├── Action Renderers # 可注册的 Action → 动画渲染器
├── Effects # 爆炸/探测特效
├── Materials # 自定义 GLSL 材质
└── Utils # 坐标/轨道/时间/离屏渲染详细内容请参阅左侧导航栏中各模块指南。