KK
- type of the field element
public class FieldSpacecraftStateInterpolator<KK extends org.hipparchus.CalculusFieldElement<KK>> extends AbstractFieldTimeInterpolator<FieldSpacecraftState<KK>,KK>
用户可以指定每个太空船状态属性使用什么插值器。然而,至少需要一个轨道或绝对位置-速度-加速度的插值器。如果用户不想对这些值进行插值,所有其他插值器都可以保留为空。
SpacecraftState
AbstractFieldTimeInterpolator.InterpolationData
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC, DEFAULT_INTERPOLATION_POINTS
Constructor and Description |
---|
FieldSpacecraftStateInterpolator(Frame outputFrame)
创建默认的Hermite插值器以创建每个太空船状态字段的最简构造函数。
|
FieldSpacecraftStateInterpolator(Frame outputFrame, FieldTimeInterpolator<FieldOrbit<KK>,KK> orbitInterpolator, FieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK> absPVAInterpolator, FieldTimeInterpolator<TimeStampedField<KK>,KK> massInterpolator, FieldTimeInterpolator<FieldAttitude<KK>,KK> attitudeInterpolator, FieldTimeInterpolator<TimeStampedField<KK>,KK> additionalStateInterpolator)
构造函数。
|
FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, Frame attitudeReferenceFrame)
创建可定制的Hermite插值器以创建每个太空船状态字段的构造函数。
|
FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, Frame attitudeReferenceFrame, CartesianDerivativesFilter pvaFilter, AngularDerivativesFilter angularFilter)
构造函数。
|
FieldSpacecraftStateInterpolator(int interpolationPoints, Frame outputFrame)
创建可定制的Hermite插值器以创建每个太空船状态字段的构造函数。
|
FieldSpacecraftStateInterpolator(int interpolationPoints, Frame outputFrame, Frame attitudeReferenceFrame)
创建可定制的Hermite插值器以创建每个太空船状态字段的构造函数。
|
Modifier and Type | Method and Description |
---|---|
Optional<FieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK>> |
getAbsPVAInterpolator()
获取绝对位置-速度-加速度插值器。
|
Optional<FieldTimeInterpolator<TimeStampedField<KK>,KK>> |
getAdditionalStateInterpolator()
获取附加状态插值器。
|
Optional<FieldTimeInterpolator<FieldAttitude<KK>,KK>> |
getAttitudeInterpolator()
获取姿态插值器。
|
Optional<FieldTimeInterpolator<TimeStampedField<KK>,KK>> |
getMassInterpolator()
获取质量插值器。
|
Optional<FieldTimeInterpolator<FieldOrbit<KK>,KK>> |
getOrbitInterpolator()
获取轨道插值器。
|
Frame |
getOutputFrame()
获取输出参考系。
|
List<FieldTimeInterpolator<? extends FieldTimeStamped<KK>,KK>> |
getSubInterpolators()
获取此实例实现的所有最低级插值器,否则返回仅包含此实例的列表。
|
protected FieldSpacecraftState<KK> |
interpolate(AbstractFieldTimeInterpolator.InterpolationData interpolationData)
从给定的插值数据插值实例。
|
FieldSpacecraftState<KK> |
interpolate(FieldAbsoluteDate<KK> interpolationDate, Collection<FieldSpacecraftState<KK>> sample)
获取一个插值实例。
|
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getExtrapolationThreshold, getNbInterpolationPoints, getTimeParameter, interpolate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
interpolate, interpolate
public FieldSpacecraftStateInterpolator(Frame outputFrame)
插值器将具有以下配置:
DEFAULT_INTERPOLATION_POINTS
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
秒由于此插值的实现是多项式的,应该仅在插值点数较少(约10-20个点)时使用,以避免龙格现象和数值问题(包括NaN出现)。
注意:如果此实例将在轨道定义的表格化太空船状态之间进行插值,则输出参考系必须是惯性的,否则将抛出错误。
outputFrame
- 输出参考系
public FieldSpacecraftStateInterpolator(int interpolationPoints, Frame outputFrame)
插值器将具有以下配置:
DEFAULT_INTERPOLATION_POINTS
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
秒由于此插值的实现是多项式的,应该仅在插值点数较少(约10-20个点)时使用,以避免龙格现象和数值问题(包括NaN出现)。
注意:如果此实例将在轨道定义的表格化太空船状态之间进行插值,则输出参考系必须是惯性的,否则将抛出错误。
interpolationPoints
- 插值点数
outputFrame
- 输出参考系
public FieldSpacecraftStateInterpolator(int interpolationPoints, Frame outputFrame, Frame attitudeReferenceFrame)
插值器将具有以下配置:
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
秒由于此插值的实现是多项式的,应该仅在插值点数较少(约10-20个点)时使用,以避免龙格现象和数值问题(包括NaN出现)。
注意:如果此实例将在轨道定义的表格化太空船状态之间进行插值,则输出参考系必须是惯性的,否则将抛出错误。
interpolationPoints
- 插值点数
outputFrame
- 输出参考系
attitudeReferenceFrame
- 定义姿态的参考系
public FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, Frame attitudeReferenceFrame)
插值器将具有以下配置:
由于此插值的实现是多项式的,应该仅在插值点数较少(约10-20个点)时使用,以避免龙格现象和数值问题(包括NaN出现)。
注意:如果此实例将在轨道定义的表格化太空船状态之间进行插值,则输出参考系必须是惯性的,否则将抛出错误。
interpolationPoints
- 插值点数
extrapolationThreshold
- 超出此阈值将导致传播失败的外推阈值
outputFrame
- 输出参考系
attitudeReferenceFrame
- 定义姿态的参考系
public FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, Frame attitudeReferenceFrame, CartesianDerivativesFilter pvaFilter, AngularDerivativesFilter angularFilter)
由于此插值的实现是多项式的,应该仅在插值点数较少(约10-20个点)时使用,以避免龙格现象和数值问题(包括NaN出现)。
注意:如果此实例将在轨道定义的表格化太空船状态之间进行插值,则输出参考系必须是惯性的,否则将抛出错误。
interpolationPoints
- 插值点数
extrapolationThreshold
- 超出此阈值将导致传播失败的外推阈值
outputFrame
- 输出参考系
pvaFilter
- 用于在位置-速度-加速度插值中使用的样本导数的过滤器
attitudeReferenceFrame
- 定义姿态的参考系
angularFilter
- 用于在姿态插值中使用的样本导数的过滤器
public FieldSpacecraftStateInterpolator(Frame outputFrame, FieldTimeInterpolator<FieldOrbit<KK>,KK> orbitInterpolator, FieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK> absPVAInterpolator, FieldTimeInterpolator<TimeStampedField<KK>,KK> massInterpolator, FieldTimeInterpolator<FieldAttitude<KK>,KK> attitudeInterpolator, FieldTimeInterpolator<TimeStampedField<KK>,KK> additionalStateInterpolator)
注意:如果插值的太空船状态是由轨道定义的,则输出参考系必须是惯性的。否则将抛出错误。
outputFrame
- 输出参考系
orbitInterpolator
- 轨道插值器
absPVAInterpolator
- 绝对位置-速度-加速度插值器
massInterpolator
- 质量插值器
attitudeInterpolator
- 姿态插值器
additionalStateInterpolator
- 附加状态插值器
public FieldSpacecraftState<KK> interpolate(FieldAbsoluteDate<KK> interpolationDate, Collection<FieldSpacecraftState<KK>> sample)
将插值的附加状态是已经存在于第一个邻居实例中的状态。因此,样本实例必须至少具有与此邻居实例相同的附加状态。它们可能具有更多的附加状态,但额外的状态将被忽略。
所有样本实例必须基于类似的轨迹数据,即它们必须全部基于轨道或全部基于绝对位置-速度-加速度。任何不一致都将触发一个OrekitIllegalArgumentException
。
interpolate
在接口 FieldTimeInterpolator<FieldSpacecraftState<KK 扩展 org.hipparchus.CalculusFieldElement<KK>>,KK 扩展 org.hipparchus.CalculusFieldElement<KK>>
interpolate
在类 AbstractFieldTimeInterpolator<FieldSpacecraftState<KK 扩展 org.hipparchus.CalculusFieldElement<KK>>,KK 扩展 org.hipparchus.CalculusFieldElement<KK>>
interpolationDate
- 插值日期
sample
- 时间戳样本
OrekitIllegalArgumentException
- 如果存在由轨道和绝对位置-速度-加速度坐标定义的状态
OrekitIllegalArgumentException
- 如果给定样本的航天器状态定义类型没有定义插值器
public List<FieldTimeInterpolator<? extends FieldTimeStamped<KK>,KK>> getSubInterpolators()
例如,航天器状态插值器可以为其每个属性(轨道、绝对位置-速度-加速度坐标、质量等)使用不同的插值器。在这种情况下,它将返回所有这些插值器的列表(或者如果它们要使用多个插值器本身,则可能返回所有这些插值器的子插值器)。
getSubInterpolators
在接口 FieldTimeInterpolator<FieldSpacecraftState<KK 扩展 org.hipparchus.CalculusFieldElement<KK>>,KK 扩展 org.hipparchus.CalculusFieldElement<KK>>
getSubInterpolators
在类 AbstractFieldTimeInterpolator<FieldSpacecraftState<KK 扩展 org.hipparchus.CalculusFieldElement<KK>>,KK 扩展 org.hipparchus.CalculusFieldElement<KK>>
protected FieldSpacecraftState<KK> interpolate(AbstractFieldTimeInterpolator.InterpolationData interpolationData)
interpolate
在类 AbstractFieldTimeInterpolator<FieldSpacecraftState<KK 扩展 org.hipparchus.CalculusFieldElement<KK>>,KK 扩展 org.hipparchus.CalculusFieldElement<KK>>
interpolationData
- 插值数据
public Frame getOutputFrame()
public Optional<FieldTimeInterpolator<FieldOrbit<KK>,KK>> getOrbitInterpolator()
Optional
public Optional<FieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK>> getAbsPVAInterpolator()
Optional
public Optional<FieldTimeInterpolator<TimeStampedField<KK>,KK>> getMassInterpolator()
Optional
public Optional<FieldTimeInterpolator<FieldAttitude<KK>,KK>> getAttitudeInterpolator()
Optional
public Optional<FieldTimeInterpolator<TimeStampedField<KK>,KK>> getAdditionalStateInterpolator()
Optional
Copyright © 2002-2023 CS GROUP. All rights reserved.