cesium-atom
v0.1.8
Published
提供 Cesium 三维可视化场景的常用工具函数集合,支持 TypeScript/JavaScript 开发
Readme
Cesium 3D 可视化工具库
提供 Cesium 三维可视化场景的常用工具函数集合,支持 TypeScript/JavaScript 开发
功能特性
- 📍 多种标记类型创建(GLTF 模型/图片/标签/线框等)
- 🌐 地理坐标与笛卡尔坐标互转
- 🎮 相机模式切换与控制
- 🧭 三维空间数学计算工具
- 🖱️ 交互式拖拽支持
- 📐 视锥体与轮廓绘制
- 💡 场景光照设置
安装
npm install cesium cesium-atom快速开始
typescript
import { Viewer } from 'cesium';
import {
setLight,
createGltfModelMarker,
transformWGS84ToCartesian
} from 'cesium-atom';
// 初始化场景
const viewer = new Viewer('cesiumContainer');
// 设置场景光照
setLight(viewer);
// 创建飞机模型标记
const position = transformWGS84ToCartesian({
lon: 116.3974,
lat: 39.9093,
alt: 1000
});
const aircraft = createGltfModelMarker(position, {
uri: '/models/aircraft.glb',
heading: 45
});
viewer.entities.add(aircraft);API 文档
场景控制
setLight(viewer: Viewer)
设置场景光照系统
toggleCameraMode(viewer: Viewer)标记创建
createGltfModelMarker()
createGltfModelMarker(
position: Cartesian3,
options: {
uri: string,
heading?: number
},
properties?: Record<string, any>
): Entity
createImageMarker()
createImageMarker(
position: Cartesian3,
image: string
): Entity坐标转换
transformWGS84ToCartesian()
typescript
interface GeoPosition {
lon: number;
lat: number;
alt: number;
}
transformWGS84ToCartesian(
position: GeoPosition,
alt?: number
): Cartesian3空间计算
calculateNextPosition()
typescript
calculateNextPosition(
position: Cartesian3,
heading: number,
vector: number,
direction: 'a' | 's' | 'd' | 'w'
): Cartesian3交互工具
dragPlane()
dragPlane(
viewer: Viewer,
movement: { endPosition: Cartesian2 },
startPosition: Cartesian3
): Cartesian3 | undefined数学工具
getModelMatrix()
typescript
getModelMatrix(
pointA: Cartesian3,
pointB: Cartesian3
): Matrix4功能示意图
graph TD
A[场景控制] --> B[光照设置]
A --> C[相机模式]
D[标记系统] --> E[3D模型]
D --> F[图像标记]
D --> G[线框绘制]
H[坐标系统] --> I[WGS84转换]
H --> J[笛卡尔运算]
K[交互系统] --> L[平面拖拽]
K --> M[垂直拖拽]
N[数学工具] --> O[矩阵计算]
N --> P[方位角计算]