MATLAB与STK互联17:卫星对象操作(8)—地面站可见性计算并获取数据

建立STK场景后,比较常用的分析有卫星与地面站可见性分析。本文就是通过MATLAB实现分析,并获取相关的AER数据。
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘exam’);
sc = root.CurrentScenario;
%这里选用默认的卫星轨道参数
sat = sc.Children.New(‘eSatellite’,‘mysat’);
sat.Propagator.Propagate;
%建立地面站,并设置地面站位置纬度、经度、高度
fac = sc.Children.New(‘eFacility’,‘myfac’);
fac.Position.AssignGeodetic(30,120,0);

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

%还有下面的方式
sat2fac1 = sat.GetAccess(‘Facility/myfac’);
sat2fac1.ComputeAccess();
sat2fac1.ClearAccess();%清除可见性,但还可以计算
sat2fac1.ComputeAccess();

sat2fac1.RemoveAccess();%删除可见性,相关的命令执行错误
sat2fac1.ComputeAccess();%MATLAB会报错

关于ClearAccess、RemoveAccess的使用,大家可以多尝试。
可以通过上篇博文的方式获取数据。
aerDP = sat2fac.DataProviders.Item(‘AER Data’).Group.Item(‘VVLH CBF’).Exec(sc.StartTime,sc.StopTime,60);

azimuth = cell2mat(aerDP.DataSets.GetDataSetByName(‘Azimuth’).GetValues);

可见性还可以加很多约束,笔者也在探索中,探索明白了再写新的博文。这里有2个注意的点:
tip1:获取数据时,一定要有Exec(sc.StartTime,sc.StopTime,60),不然提取不到数据,这个类似于计算过程,没有计算过程,当然没有结果可以获取。
tip2:在提取数据时,输入变量名不要有多余的空格,如将’Azimuth’改为’Azimuth ',MATLAB会报错。
其他注意的点,也请大家在评论区分享。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值