坐标系与坐标系数值转换
屏幕坐标系 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() 返回值中的经纬度是弧度,不是角度