MATLAB与STK互联30:仿真案例5—AreaTarget目标处理

看了以下之前发的博文,大家对于单个的对象都不太感冒。那就尽量结合案例分析来说明,这个案例也是从AGI官网参考来的。对AreaTarget进行操作,下面上代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘AreaTarget’);
sc = root.CurrentScenario;

%加几个语句,设置一下单位
root.UnitPreferences.Item(‘DateFormat’).SetCurrentUnit(‘EpSec’);
root.UnitPreferences.Item(‘Latitude’).SetCurrentUnit(‘deg’);
root.UnitPreference.Item(‘Longitude’).SetCurrentUnit(‘deg’);
root.UnitPreferences.SetCurrentUnit(‘Distance’,‘m’);
areaTarget = sc.Children.New(‘eAreaTarget’,‘USA’);
%设置面目标类型
areaTarget.AreaType = ‘ePattern’;
%读取点坐标
ptlatlon = xlsread(‘E:\temp\ImportAreaTarget\USA.xlsx’);
%向AreaTarget添加元素
%BeginUpdate/EndUpdate 避免单个点的更新,我尝试过不用这个语句,运
%行的特别慢
root.BeginUpdate();
for i = 1:length(ptlatlon(:,1))
areaTarget.AreaTypeData.Add(ptlatlon(i,2),ptlatlon(i,1));
end
root.EndUpdate();
areaTarget.AutoCentroid = true;

上面的代码都运行过,没问题。用到的Excel文件,可以下载我上传的资料。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值