Cesium坐标系转换指南
一、坐标系概览
Cesium作为三维地球可视化引擎,其核心是多个坐标系的转换与计算。主要包括:
- 地理坐标系(WGS84): 经纬度表示位置
- 笛卡尔坐标系: 三维空间XYZ坐标
- 屏幕坐标系: 二维平面像素坐标
这些坐标系就像不同语言,Cesium就是这些"语言"间的"翻译官"。
二、核心坐标系详解
1. 地理坐标系(WGS84)
// 经纬度坐标,通常表示为:
const position = Cesium.Cartographic.fromDegrees(
116.391, // 经度(longitude)
39.904, // 纬度(latitude)
100 // 高度(height),单位米
);
2. 笛卡尔坐标系
// 笛卡尔空间直角坐标系
const cartesian = new Cesium.Cartesian3(
-2178530.169, // X
4382085.332, // Y
4092134.036 // Z
);
3. 屏幕坐标系
// 屏幕坐标,单位像素
const windowPosition = new Cesium.Cartesian2(
512, // x
256 // y
);
三、坐标转换详解
1. 地理坐标转笛卡尔坐标
// 经纬度 → 笛卡尔坐标
const cartesian = Cesium.Cartesian3.fromDegrees(
116.391, // 经度
39.904, // 纬度
100 // 高度
);
// 弧度形式转换
const position = new Cesium.Cartographic(
Cesium.Math.toRadians(116.391), // 经度(弧度)
Cesium.Math.toRadians(39.904), // 纬度(弧度)
100 // 高度
);
const cartesian = Cesium.Cartographic.toCartesian(position);


8256

被折叠的 条评论
为什么被折叠?



