STK
# 简介
STK提供了2种形式的卫星轨道预报算法,即解析算法和数值算法,解析法通过求解卫星运动的微分方程得到一个近似解析解来获得卫星星历表,或直接给出卫星在各个特定时刻的位置和速度信息。数值算法则是通过对卫星运动方程的数值积分来实现的。STK中所有标准的算法均为解析法。本次更新函数主要包括:pie.STK.Epoch、pie.STK.ElementKepler、pie.STK.ElementTwoLine、pie.STK.Orbit、pie.STK.OrbitPoint。
# ElementKepler
构造函数,返回一个由给定参数构建的ElementKepler对象。
函数 | 返回值 |
---|---|
ElementKepler(epoch,semimajorAxis,eccentricity,inclination,argPerigee,rann,meanAnomaly) | ElementKepler |
参数 | 类型 | 说明 |
---|---|---|
epoch | Epoch | 历元时刻 |
semimajorAxis | Number | 半长轴 |
eccentricity | Number | 偏心率 |
inclination | Number | 倾角 |
argPerigee | Number | 近地点幅角 |
rann | Number | 升交点赤经 |
meanAnomaly | Number | 平近点角 |
var epoch = pie.STK.Epoch(2000,1,1,0,0,0);
var elementKepler = pie.STK.Element.Kepler(epoch,6678140,0,0,0,0,0);
# ElementTwoLine
构造函数,返回一个由给定参数构建的ElementTwoLine对象。
函数 | 返回值 |
---|---|
ElementTwoLine(line1,line2,norad) | ElementTwoLine |
参数 | 类型 | 说明 |
---|---|---|
line1 | String | TLE第一行数据 |
line2 | String | TLE第二行数据 |
norad | Number | Norad编号 |
var line1 = "1 36828U 10036A 21011.25957304 -.00000054 00000-0 00000+0 0 9996";
var line2 = "2 36828 54.1694 181.0461 0100943 233.2864 266.9827 1.00251032 38335";
var norad = 36828;
var tle = pie.STK.Element.TwoLine(line1,line2,norad);
# Orbit
# propagatorSGP4 (opens new window)
实现SGP4轨道预报,返回SGP4轨道对象。
函数 | 返回值 |
---|---|
propagatorSGP4(startEpoch,endEpoch,time,elementTwoLine) | Orbit |
参数 | 类型 | 说明 |
---|---|---|
startEpoch | Epoch | 预报开始时刻 |
endEpoch | Epoch | 预报结束时刻 |
time | Number | 预报间隔 |
elementTwoLine | ElementTwoLine | 两行根数对象 |
var line1 = "1 36828U 10036A 21011.25957304 -.00000054 00000-0 00000+0 0 9996";
var line2 = "2 36828 54.1694 181.0461 0100943 233.2864 266.9827 1.00251032 38335";
var norad = 36828;
var tle = pie.STK.Element.TwoLine(line1,line2,norad);
var startEpoch = pie.STK.Epoch(2021,2,4,0,0,0);
var endEpoch = pie.STK.Epoch(2021,2,5,0,0,0);
var SGP4Orbit = pie.STK.Orbit.propagatorSGP4(startEpoch,endEpoch,60,tle);
# propagatorTwoBody (opens new window)
实现二体轨道预报,返回二体轨道对象。
函数 | 返回值 |
---|---|
propagatorTwoBody(startEpoch,endEpoch,time,elementKepler) | Orbit |
参数 | 类型 | 说明 |
---|---|---|
startEpoch | Epoch | 预报开始时刻 |
endEpoch | Epoch | 预报结束时刻 |
time | Number | 预报间隔 |
elementKepler | ElementKepler | 开普勒轨道根数对象 |
var startEpoch = pie.STK.Epoch(2021,2,4,0,0,0);
var endEpoch = pie.STK.Epoch(2021,2,5,0,0,0);
var epoch = pie.STK.Epoch(2000,1,1,0,0,0);
var elementKepler = pie.STK.Element.Kepler(epoch,6678140,0,0,0,0,0);
var twoBodyOrbit = pie.STK.Orbit.propagatorTwobody(startEpoch,endEpoch,60,elementKepler);
# toFeature (opens new window)
将轨道对象转为PIEFeature对象。
函数 | 返回值 |
---|---|
toFeature() | Feature |
var startEpoch = pie.STK.Epoch(2021,2,4,0,0,0);
var endEpoch = pie.STK.Epoch(2021,2,5,0,0,0);
var epoch = pie.STK.Epoch(2000,1,1,0,0,0);
var elementKepler = pie.STK.Element.Kepler(epoch,6678140,0,0,0,0,0);
var twoBodyOrbit = pie.STK.Orbit.propagatorTwobody(startEpoch,endEpoch,60,elementKepler);
var feature = twoBodyOrbit.toFeature();
# toJson (opens new window)
将轨道对象转为Json字符串。
函数 | 返回值 |
---|---|
toJson() | String |
var startEpoch = pie.STK.Epoch(2021,2,4,0,0,0);
var endEpoch = pie.STK.Epoch(2021,2,5,0,0,0);
var epoch = pie.STK.Epoch(2000,1,1,0,0,0);
var elementKepler = pie.STK.Element.Kepler(epoch,6678140,0,0,0,0,0);
var twoBodyOrbit = pie.STK.Orbit.propagatorTwobody(startEpoch,endEpoch,60,elementKepler);
var json = twoBodyOrbit.toJson();
# OrbitPoint
构造函数,返回一个由给定参数构建的OrbitPoint对象。
函数 | 返回值 |
---|---|
OrbitPoint(epoch,position,velocity) | OrbitPoint |
参数 | 类型 | 说明 |
---|---|---|
epoch | Epoch | 历元时刻 |
position | Array | 位置 |
velocity | Array | 速度 |
var epoch = pie.STK.Epoch(2000,1,1,0,0,0);
var position = pie.Array([1,2,3]);
var velocity = pie.Array([1,1,1]);
var orbit = pie.STK.OrbitPoint(epoch,position,velocity);
有问题,我来改改 (opens new window)
上次更新: 2022/05/15, 05:29:22