Bootstrap

cesium 笛卡尔转wgs84

公共方法

const organizeData = (position) => {
    let cartographic = Cesium.Cartographic.fromCartesian(position);
    let x=Cesium.Math.toDegrees(cartographic.longitude);
    let y=Cesium.Math.toDegrees(cartographic.latitude);
    let wgs84={
      x:x.toFixed(5),
      y:y.toFixed(5),
    };
    return wgs84;
}

这个函数的目标是将一个三维的笛卡尔坐标(通常用于Cesium这样的三维地球库)转换为一个经纬度格式的二维坐标,并返回一个对象,该对象包含这些经纬度坐标。

以下是该代码的逐行解释:

let cartographic = Cesium.Cartographic.fromCartesian(position);

使用Cesium库的Cartographic.fromCartesian方法将传入的笛卡尔坐标(position)转换为地理坐标(经度、纬度和高度)。转换后的结果存储在cartographic变量中。

let x=Cesium.Math.toDegrees(cartographic.longitude);

使用Cesium库的Math.toDegrees方法将cartographic对象的经度(longitude)从弧度转换为度,并将结果存储在x变量中。

let y=Cesium.Math.toDegrees(cartographic.latitude);

使用Cesium库的Math.toDegrees方法将cartographic对象的纬度(latitude)从弧度转换为度,并将结果存储在y变量中。

let wgs84={
      x:x.toFixed(5),
      y:y.toFixed(5),
    };

定义一个名为wgs84的对象,该对象将包含转换后的经纬度坐标。

将x变量的值(即转换后的经度)四舍五入到小数点后5位,并将其作为wgs84对象的x属性。

将y变量的值(即转换后的纬度)四舍五入到小数点后5位,并将其作为wgs84对象的y属性。

return wgs84;

返回wgs84对象,该对象包含转换后的经纬度坐标。

简而言之,这个函数接受一个三维的笛卡尔坐标作为输入,并返回一个包含其对应的经纬度坐标(四舍五入到小数点后5位)的对象。

;