
new Cesium.Cartographic(longitude, latitude, height),这里的参数也叫longitude、latitude,就是经度和纬度,计算方法:弧度= π/180×经纬度角度。
直角坐标系cartesian3(x:number,y:number,z:number)(与cesium沟通唯一指定坐标)
平面坐标系cartesian2 (x: number, y: number)(屏幕坐标)
var radians=Cesium.Math.toRadians(degrees); // 经纬度转弧度
var degrees=Cesium.Math.toDegrees(radians); // 弧度转经纬度
// 方法一:
var longitude = Cesium.Math.toRadians(longitude1); // 其中 longitude1为角度
var latitude= Cesium.Math.toRadians(latitude1); // 其中 latitude1为角度
var cartographic = new Cesium.Cartographic(longitude, latitude, height);
// 方法二:
var cartographic= Cesium.Cartographic.fromDegrees(longitude, latitude, height); // 其中,longitude和latitude为角度
// 方法三:
var cartographic= Cesium.Cartographic.fromRadians(longitude, latitude, height); // 其中,longitude和latitude为弧度
// 1、通过经纬度进行转换
var position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height);// 其中,高度默认值为0,可以不用填写;longitude和latitude为角度
var positions = Cesium.Cartesian3.fromDegreesArray(coordinates); // 其中,coordinates格式为不带高度的数组。例如:[-115.0, 37.0, -107.0, 33.0]
var positions = Cesium.Cartesian3.fromDegreesArrayHeights(coordinates); // coordinates格式为带有高度的数组。例如:[-115.0, 37.0, 100000.0, -107.0, 33.0, 150000.0]
// 注意:上述转换函数中最后均有一个默认参数ellipsoid(默认值为Ellipsoid.WGS84)。
// 同理,通过弧度转换,用法相同,具体有Cesium.Cartesian3.fromRadians,Cesium.Cartesian3.fromRadiansArray,Cesium.Cartesian3.fromRadiansArrayHeights等方法
// 2、通过弧度进行转换
var position = Cesium.Cartographic.fromDegrees(longitude, latitude, height);
var positions = Cesium.Ellipsoid.WGS84.cartographicToCartesian(position);
var positions = Cesium.Ellipsoid.WGS84.cartographicArrayToCartesianArray([position1,position2,position3]);
// 3、笛卡尔空间直角坐标系 转换为 WGS84
// 直接转换
// a、先转换为弧度坐标
var cartographic= Cesium.Cartographic.fromCartesian(cartesian3);
// b、再使用经纬度和弧度的转换
// 间接转换
var cartographic = Cesium.Ellipsoid.WGS84.cartesianToCartographic(cartesian3);
var cartographics = Cesium.Ellipsoid.WGS84.cartesianArrayToCartographicArray([cartesian1,cartesian2,cartesian3]);