0%

Cesium坐标转换

  1. 弧度和角度转换
  2. 坐标系转换
    1. 经纬度 与 地心坐标

弧度和角度转换

1
2
const radians = Cesium.Math.toRadians(degrees);  // 角度转弧度
const degrees = Cesium.Math.toDegrees(radians); // 弧度转角度

坐标系转换

主要处理经纬度坐标如何得到,其他的比如EPSG:4326转EPSG:3857,没有直接提供

  • 制图坐标系(Cartographic):通常是弧度表示的经纬度
  • 笛卡尔坐标系(Cartesian3):三维地心坐标系,原点位于地心,x轴指向本初子午线与赤道交点,z轴指向北极,右手系。

经纬度 与 地心坐标

地心坐标转经纬度坐标

1
2
3
4
5
6
const { latitude, longitude, height } = Cesium.Cartographic.fromCartesian(new Cesium.Cartesian3(x, y, z));
// 转为角度
const latitudeDeg = Cesium.Math.toDegrees(latitude);
const longitudeDeg = Cesium.Math.toDegrees(longitude);

console.log(latitudeDeg, longitudeDeg, height);

经纬度转地心坐标系

1
2
Cesium.Cartesian3.fromRadians(longitude, latitude, height);
Cesium.Cartesian3.fromDegrees(longitudeDeg, latitudeDeg, height);