• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB与STK互联18:卫星对象操作(9)—地面站可见性计算并获取数据2(补充上篇博文 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

需要澄清的问题:上篇博文中,有些问题,如果按照代码来计算,给出的数据并不是可见弧段内的数据,而是整个仿真场景过程中的数据。这个结果,显然不是我们想要的。我们是为了获取可见弧段内的信息。这个问题想解决,就要用到IntervalList,字面意思就是“时段间隔列表”,如可见弧段数据就是一个时间列表。
先上代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘access’);
sc = root.CurrentScenario;

sat = sc.Chilren.New(18,‘mysat’);
sat.Propagator.Propagate;
fac = sc.Children.New(‘eFacility’,‘myfac’);
fac.Position.AssignGeodetic(20,120,0);

sat2fac_accessh = sat.GetAccessToObject(fac);
sat2fac_accessh.ComputeAccess();

%STK开发如果没有头绪,一个是查帮助,另一个就是用get、invoke查看相
%关信息。所以,上get
sat2fac_accessh.get

可以看到,有ComputedAccessIntervalTimes、AccessTimePeroidData两个属性。这个列表获取,在帮助文档里有,大家可以查一下。

acc_interval = sat2fac_accessh.ComputedAccessIntervalTimes;
%可见次数如下
acc_interval.Count
%可见的弧段起始时间列表
acc_interval.ToArray(0,-1)
%str、sto分别是第一个弧段的起始时间,是字符串类型。
[str,sto] = acc_interval.GetInterval(0)
%结合上篇博文,获取第一个可见弧段内的方位角
aerDP = sat2fac_accessh.DataProviders.Item(‘AER Data’).Group.Item(‘VVLH CBF’).Exec(str,sto,1);
azimuth = cell2mat(aerDP.DataSets.GetDataSetByName(‘Azimuth’).GetValues);

这篇博文就到这里,有些内容留在下一篇中进行介绍。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi线程同步(临界区、互斥、信号量)发布时间:2022-07-18
下一篇:
使用Delphi进行相机访问发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap