Cesium中的坐标系统,及坐标转换

176 阅读1分钟

一.常用坐标系

1. 屏幕坐标(像素)

二维笛卡尔平面坐标

new Cesium.Cartesian(x, y) 

2. 笛卡尔空间直角坐标

又称世界坐标,主要用来做空间位置的变化,如:平移、旋转、缩放等

new Cesium.Cartesian(x, y, z)

它的坐标原点在椭球的中心

3. 地理坐标(弧度)

// 这里的longitude、latitude是指用弧度单位表达的经纬度
new Cesium.Cartographic(longitude, latitude, height)

不同坐标系的转换

1. 经纬度与弧度的转换

// 经纬度转弧度
Cesium.Math.toRadians(degrees)

// 弧度转经纬度
Cesium.Math.toDegrees(radians)

Cesium 没有提供具体的经纬度对象,要得到经纬度首先需要计算为弧度,再进行转换。

2. 经纬度坐标转世界坐标

// 方法1:直接转换
const cartesian3 = Cesium.Cartesian3.fromDegrees(lng, lat, height)

// 方法2:借助ellipsoid对象,先转换成弧度再转换
const cartographic = Cesium.Cartographic.fromDegrees(lng, lat, height)
const cartesian3 = ellipsoid.cartographicToCartesian(cartographic)