Bootstrap

关于cesium中的几种坐标问题

一.首先是坐标的类型

1经纬度坐标(包括角度和弧度)

2笛卡尔坐标(cesium函数多用这种坐标 )

二.经纬度坐标之间的转换

1角度转弧度

var radians = Cesium.Math.toRadians(degress)
//或者直接用公式
var radians=degress/180*Math.PI

2弧度转角度

var degress = Cesium.Math.toDegrees(radians)

3或者直接创建

var radians=new Cesium,Cartographic,fromDegrees(degree)

三.笛卡尔和经纬度之间的转换

1


//角度转笛卡尔
var cartesian3 = Cesium.Cartesian3.fromDegrees(longitude, latitude, height)
var cartesian3 = Cesium.Cartesian3.fromDegreesArray(coordinates) coordinates格式为不带高度的数组例如:[-278.0,66.0,-123.0,55.0]
//弧度转笛卡尔
var cartesian3 = Cesium.Cartesian3.fromRadians(longitude, latitude, height)

2笛卡尔转经纬度

//笛卡尔转弧度
 var cartographic = Cesium.Cartographic.fromCartesian(cartesian3)

暂时没找到笛卡尔直接转角度的用如下方案替代

 var cartographic = Cesium.Cartographic.fromCartesian(cartesian3)
var longitude=cartographic.longitude*180/Math.PI
var latitude=cartographic.latitude*180/Math.PI

;