public class StreamingOcmWriter extends Object implements AutoCloseable
每个实例对应于单个轨道综合消息。通过调用newBlock()
开始一个新的OCM星历轨道状态历史块。
此编写器旨在仅编写轨迹状态历史块。它不会编写物理属性、协方差数据、机动数据、摄动参数、轨道确定或用户定义的参数。如果需要这些块,则必须使用OcmWriter
,因为它处理所有OCM数据块。
轨迹块元数据标识符(TRAJ_ID
、TRAJ_PREV_ID
、TRAJ_NEXT_ID
)会自动使用TrajectoryStateHistoryMetadata.incrementTrajID(String)
进行更新,因此用户通常只需在模板中设置TrajectoryStateHistoryMetadata.setTrajID(String)
。
此类返回的块可用作Propagator
的步处理程序。
Propagator propagator = ...; // 预配置的传播器
OCMWriter ocmWriter = ...; // 预配置的编写器
try (Generator out = ...; // 设置输出流
StreamingOcmWriter sw = new StreamingOcmWriter(out, ocmWriter, header, metadata, template)) { // 设置流编写器
// 写入块1
propagator.getMultiplexer().add(step, sw.newBlock());
propagator.propagate(startDate1, stopDate1);
...
// 写入块n
propagator.getMultiplexer().clear();
propagator.getMultiplexer().add(step, sw.newBlock());
propagator.propagate(startDateN, stopDateN);
}
OcmWriter
, EphemerisOcmWriter
Modifier and Type | Class and Description |
---|---|
class |
StreamingOcmWriter.BlockWriter
OCM的轨迹状态历史块编写器。
|
Constructor and Description |
---|
StreamingOcmWriter(Generator generator, OcmWriter writer, OdmHeader header, OcmMetadata metadata, TrajectoryStateHistoryMetadata template)
为每个段使用第一个状态的姿态的参考系构造编写器。
|
StreamingOcmWriter(Generator generator, OcmWriter writer, OdmHeader header, OcmMetadata metadata, TrajectoryStateHistoryMetadata template, boolean useAttitudeFrame)
简单构造器。
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
StreamingOcmWriter.BlockWriter |
newBlock()
创建一个新的OCM轨迹状态历史块的编写器。
|
public StreamingOcmWriter(Generator generator, OcmWriter writer, OdmHeader header, OcmMetadata metadata, TrajectoryStateHistoryMetadata template)
generator
- OCM输出的生成器
writer
- OCM消息格式的编写器
header
- 文件头(可以为null)
metadata
- 文件元数据
template
- 轨迹元数据的模板
StreamingOcmWriter(Generator, OcmWriter, OdmHeader, OcmMetadata, TrajectoryStateHistoryMetadata, boolean)
public StreamingOcmWriter(Generator generator, OcmWriter writer, OdmHeader header, OcmMetadata metadata, TrajectoryStateHistoryMetadata template, boolean useAttitudeFrame)
generator
- OCM输出的生成器
writer
- OCM消息格式的编写器
header
- 文件头(可以为null)
metadata
- 文件元数据
template
- 轨迹元数据的模板
useAttitudeFrame
- 如果为true
,则每个段的参考系取自第一个状态的姿态。否则使用template
的参考系,TrajectoryStateHistoryMetadata.getTrajReferenceFrame()
。
public StreamingOcmWriter.BlockWriter newBlock()
返回的编写器只能在OCM中写入单个轨迹状态历史块。必须调用此方法为每个轨迹状态历史块创建编写器。
public void close() throws IOException
close
在接口 AutoCloseable
中
IOException
Copyright © 2002-2023 CS GROUP. All rights reserved.