public class EphemerisOcmWriter extends Object implements EphemerisFileWriter
EphemerisFileWriter
,用于生成OCM
文件。
此写入器旨在仅写入轨迹状态历史块。它不会写入物理属性、协方差数据、机动数据、摄动参数、轨道确定或用户定义的参数。如果需要这些块,则必须使用OcmWriter
,因为它处理所有OCM数据块。
轨迹块元数据标识符(TRAJ_ID
、TRAJ_PREV_ID
、TRAJ_NEXT_ID
)将使用TrajectoryStateHistoryMetadata.incrementTrajID(String)
自动更新,因此用户通常只需在模板中设置TrajectoryStateHistoryMetadata.setTrajID(String)
。
OcmWriter
, StreamingOcmWriter
Constructor and Description |
---|
EphemerisOcmWriter(OcmWriter writer, OdmHeader header, OcmMetadata metadata, TrajectoryStateHistoryMetadata template, FileFormat fileFormat, String outputName, double maxRelativeOffset, int unitsColumn)
用于创建配置了必要参数的新OCM写入器的构造函数,以成功填充所有不属于标准对象的必需字段。
|
Modifier and Type | Method and Description |
---|---|
<C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>> |
write(Appendable appendable, EphemerisFile<C,S> ephemerisFile)
使用传入的 EphemerisFile 和传入的Appendable 写入。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
write
public EphemerisOcmWriter(OcmWriter writer, OdmHeader header, OcmMetadata metadata, TrajectoryStateHistoryMetadata template, FileFormat fileFormat, String outputName, double maxRelativeOffset, int unitsColumn)
如果必需的头条目不存在(或头部为null),将使用内置默认值
写入器是从完整头部和部分元数据构建的。模板元数据用于初始化和独立的本地副本,将在写入新段时更新(至少段的开始和结束将更改,但某些其他部分也可能更改)。template
参数本身不会更改。
writer
- 底层写入器
header
- 文件头(可能为null)
metadata
- 文件元数据
template
- 轨迹元数据模板
fileFormat
- 要使用的文件格式
outputName
- 错误消息的输出名称
maxRelativeOffset
- 使用相对日期的最大偏移量(如果日期与参考日期相距太远,则将显示为日历元素)
unitsColumn
- 用于对齐单位的列数(如果为负数或零,则不输出单位)
public <C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>> void write(Appendable appendable, EphemerisFile<C,S> ephemerisFile) throws IOException
EphemerisFile
和传入的Appendable
写入。
由于EphemerisFile.SatelliteEphemeris
没有来自OcmMetadata
的所有条目,因此将从ephemerisFile
中提取的唯一值是开始时间、结束时间、参考框架、插值方法和插值度。缺失的值(如对象名称、本地航天器主体框架等)将从写入器设置的模板元数据继承构造
。
write
在接口 EphemerisFileWriter
中
C
- 笛卡尔坐标的类型
S
- 段的类型
appendable
- 配置好的Appendable以提供文本
ephemerisFile
- 要序列化到缓冲区中的填充的星历文件
IOException
- 如果任何缓冲区写入操作失败,或者如果底层格式不支持EphemerisFile中的配置(例如在一个文件中有多个卫星,在未指定天体的情况下在原点,等等)
Copyright © 2002-2023 CS GROUP. All rights reserved.