像跟踪entity那样跟踪primitive,思路就是创建一个透明的entity,实时计算entity的position,entity位置计算的方式和primitive位置计算方式保持一致;需要跟踪的时候把entity赋值给trackedEntity和selectedEntity即可。需要注意的是,这种目前只能跟踪位置变化,至于orientation变化的跟踪,目前还没想到好的方法~有好方法的大能可以指教一下。
export function calEcfByStrac(satrec, time) {
if (!satrec) {
return null
}
const curTimeDate = new Date(time);
var positionAndVelocity = satellite.propagate(satrec, curTimeDate); // 此方法拿到的是惯性系坐标
var gmst = satellite.gstime(new Date(curTimeDate))
// 惯性
const positionEci = positionAndVelocity.position;
// 惯性转成地固
let positionEcf = null
if (positionEci) {
positionEcf = satellite.eciToEcf(positionEci, gmst)
}
return positionEcf;
}
export class FateTrackedEntity {
c