Cesium学习笔记(7)

217 阅读1分钟

坐标系与坐标系数值转换

屏幕坐标系 Cartesian2

屏幕坐标系就是二维的笛卡尔坐标系(坐标类型 Cartesian2) 二维笛卡尔坐标系表示一个以屏幕左上角为原点(canvas的左上角),屏幕水平向右方向为x轴方向,垂直向下方向为y轴方向的坐标系,单位是像素。

//例子
var cartesian2=new Cesium.Cartesian2(20,20);

地理坐标系(WGS-84坐标系) Cartographic

地理坐标系就是指WGS-84坐标系(坐标类型 Cartographic,有三个值:经度、维度、高程)。但是,Cesium中不是使用角度来表示经度和维度的,而是使用弧度来表示。

//例子(1 2 的单位为弧度)
var d=new Cesium.Cartographic(1,2,100)

笛卡尔空间直角坐标系 Cartesian3

笛卡尔空间直角坐标系的坐标类型为Cartesian3。计算机绘图时,不方便使用经纬度来绘制,所以使用笛卡尔空间坐标系。笛卡尔空间直角坐标系的单位是米。(是不是投影坐标系啊?)

  var cartesian3=new Cesium.Cartesian3.fromDegrees(20,20,100)

 var d=new Cesium.Cartesian3(cartesian3)

角度与弧度的转换

//90°转换为弧度
var radians=Cesium.Math.toRadians(90);
//2π转换为360°
var degrees=Cesium.Math.toDegrees(2*Math.PI);

经纬度与笛卡尔坐标的转换

//地理坐标系(经纬度坐标)转换为笛卡尔三维坐标
var cartesian3=Cesium.Cartesian3.fromDegrees(
    //经度
    80//维度
    20//高程
    100
);
//笛卡尔坐标系转换为地理坐标系(经纬度)
var cartographic=Cesium.Cartographic.fromCartesian(cartesian3);

注意:Cartographic.fromCartesian() 返回值中的经纬度是弧度,不是角度