一、屏幕坐标转换
1、屏幕坐标--二维笛卡尔坐标--世界坐标--经纬度
transPosition(ps){
// 屏幕坐标转换为二维笛卡尔坐标
coordinate = new Cesium.Cartesian2(ps.x, ps.y);
// 二维笛卡尔坐标转空间坐标
wordCoordinate = viewer.scene.camera.pickEllipsoid(
coordinate ,
viewer.scene.globe.ellipsoid
);
// 笛卡尔坐标转弧度
cartographic = Cesium.Cartographic.fromCartesian(
wordCoordinate,
viewer.scene.globe.ellipsoid,
new Cesium.Cartographic()
);
// Cesium.Math.toDegrees 将弧度转换成经纬度
lon = Cesium.Math.toDegrees(cartographic.longitude);
lat = Cesium.Math.toDegrees(cartographic.latitude);
}
2、卫星轨道数据转经纬度
// 获取的部分轨道数据
const positions = [
{
x: 41757240.76402609,
y: 5848849.599822025,
z: 25.48760899266601,
},
{
x: 41648804.469117135,
y: 6576723.134802496,
z: 30.687711215101135,
},
{
x: 41527681.6155374,
y: 7302593.349900761,
z: 35.87846573