公共方法
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位)的对象。