STK中的覆盖性分析模块对象是CoverageDefinition,下面就介绍以下相关的设置与操作。直接上代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘Coverage’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);
kep = sat.Propagator.InitialState.Representation.ConvertTo(‘eOrbitStateClassical’);
kep.SizeShapeType = ‘eSizeShapeAltitude’;
kep.SizeShape.ApogeeAltitude = 500;
kep.SizeShape.PerigeeAltitude = 500;
kep.Orientation.Inclination = 50;
sat.Propagator.InitialState.Representation.Assign(kep);
sat.Propagator.Propagate;
sen = sat.Children.New(‘eSensor’,‘mysen’);
sen.CommonTasks.SetPatternSimpleConic(77,1);
sen.VO.ProjectionType = ‘eProjectionEarthIntersections’;
%%%%新建CoverageDefinition对象
covdef = sc.Children.New(‘eCoverageDefinition’,‘mycov’);
CoverageDefinition对象的属性页面如下:
Grid Area of Interest是设置区域的类型,如Custom Boundary、custom region、global、latlon region、latitude line、longitude line、latitude bounds、longitude bounds。大家可以自己设置一下,很容易就知道是表示啥意思,这里就不说了。
Grid definition 里的 Point granularity是设置网格点的间隔,如纬度间隔1°,决定了网格密度,也决定了计算速度。可以根据情况,自己来设置。其他选项,我一般选择默认设置。
%这里我们选择latlon Region
covdef.Grid.BoundsType = ‘eBoundsLatLonRegion’;
covdef.Grid.Bounds.MinLongitude = -120;
covdef.Grid.Bounds.MaxLongitude = 120;
covdef.Grid.Bounds.MinLatitude = -30;
covdef.Grid.Bounds.MaxLatitude = 30;
%网点间隔为1°
covdef.Grid.Resolution.LatLon = 1;
执行效果如下:
如果网格画的特别密,会影响视觉效果,所以可以把点设置为不可见。命令如下:
covdef.Graphics.Static.IsPointsVisible =0;
在STK软件中,对于Coveragedefinition对象可见性重新计算选用的默认设置是自动更新,也就是如果条件有变化,会自动更新,但是有些时候这样并方便。因此,可以将这个默认选项禁掉,语句如下:
covdef.Advanced.AutoRecompute = 0;
Coveragedefinition对象的Asset属性页中,选择航天器/传感器对象,并激活。可以分析激活的航天器/传感器对Coveragedefinition对象的覆盖性。其基本操作如下:
%查看可添加的对象,激活mysen对象
covdef.AssetList.AvailableAssets
covdef.AssetList.Add(covdef.AssetList.AvailableAssets{2});
执行结果如下图:
mysen已经被激活。
在Coveragedefinition对象下插入figureofmerit对象,覆盖性的参数均由figureofmerit对象计算、分析。现在以分析重坊时间为例进行说明:
figmerit1 = covdef.Children.New(‘eFigureofmerit’,‘revisittime’);
figmerit1.SetDefinitionType(‘eFmrevisittime’);
covdef.ComputeAccesses();
root.ExecuteCommand(‘ReportCreate */CoverageDefinition/mycov/FigureOfMerit/revisittime Type Save Style “Value By Grid Point” File “D:\stkdata\revis.txt”’);
每个点最大重访时间结果如下:
本篇就写到这里吧,关于其他类型的分析,后面结合仿真案例给出说明。