public class FootprintOverlapDetector extends AbstractDetector<FootprintOverlapDetector>
视场
触发。
此检测器是FieldOfViewDetector
和GeographicZoneDetector
之间的混合体。与上面的第一个检测器类似,它触发与目标进入/退出视场相关的事件,考虑姿态。与上面的第二个检测器类似,其目标是整个地理区域(甚至可以分为几个非连接的区域并且可以有空洞)。
此检测器通常用于具有可以远离天顶的灵活卫星的地面观测任务。
默认实现行为是在FOV进入时继续
传播,在FOV退出时停止
传播。可以在构造后调用AbstractDetector.withHandler(EventHandler)
来更改此行为。
Propagator.addEventDetector(EventDetector)
, FieldOfViewDetector
, GeographicZoneDetector
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
FootprintOverlapDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, FieldOfView fov, OneAxisEllipsoid body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double samplingStep, List<org.orekit.propagation.events.FootprintOverlapDetector.SamplingPoint> sampledZone)
具有完整参数的受保护构造函数。
|
|
FootprintOverlapDetector(FieldOfView fov, OneAxisEllipsoid body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double samplingStep)
构建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
protected FootprintOverlapDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算切换函数的值。
|
BodyShape |
getBody()
获取定义地理区域的天体。
|
FieldOfView |
getFOV()
获取视场。
|
org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet |
getZone()
获取触发事件的地理区域。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public FootprintOverlapDetector(FieldOfView fov, OneAxisEllipsoid body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double samplingStep)
距离到FOV边界检查之间的最大间隔应小于要处理的最小通行时间的一半,否则可能会错过一些短通行。
fov
- 传感器视场
body
- 定义地理区域的天体
zone
- 要考虑的地理区域
samplingStep
- 用于采样地理区域的线性步长(以米为单位)
protected FootprintOverlapDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, FieldOfView fov, OneAxisEllipsoid body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double samplingStep, List<org.orekit.propagation.events.FootprintOverlapDetector.SamplingPoint> sampledZone)
此构造函数不是公共的,因为预期用户将使用各种withXxx()
方法使用构建器API设置实例,以便以可读的方式设置实例,而无需使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 在事件发生时调用的事件处理程序
body
- 定义地理区域的天体
zone
- 要考虑的地理区域
fov
- 传感器视场
sampledZone
- 地理区域的采样
samplingStep
- 用于采样地理区域的线性步长(以米为单位)
protected FootprintOverlapDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
create
在类 AbstractDetector<FootprintOverlapDetector>
newMaxCheck
- 最大检查间隔(秒)
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 在事件发生时调用的事件处理程序
public org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet getZone()
该区域映射在单位球面上
public FieldOfView getFOV()
public BodyShape getBody()
public double g(SpacecraftState s)
g函数值是区域点相对于视场边界的最小偏移量。如果所有区域点都在视场外部,则为正,如果至少一些区域点在视场内部,则为负。通过对区域进行采样,仅考虑航天器位于地平线以上的点来计算最小值。检测的准确性取决于检测器构造时设置的线性采样步长。如果航天器对于所有区域点都在地平线以下,则返回任意正值。
根据先前的定义,当区域进入视场时,生成减小事件,当区域离开视场时,生成增加事件。
g
在接口 EventDetector
g
在类 AbstractDetector<FootprintOverlapDetector>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.