public class OemWriter extends AbstractMessageWriter<OdmHeader,OemSegment,Oem>
此编写器使用的OEM元数据在以下表中进行了描述。许多元数据项是可选的或具有默认值,因此不需要指定它们。用户必须至少提供那些必需的数值,而且没有默认值: OdmMetadataKey.OBJECT_NAME
和 CommonMetadataKey.OBJECT_ID
。表中的使用列指示元数据项在OEM头部或在OEM星历段开头的元数据部分中使用。
关键字 | 使用 | 必需 | 默认 | 参考 |
---|---|---|---|---|
CCSDS_OEM_VERS |
头部 | 是 | Oem.FORMAT_VERSION_KEY |
表5-2 |
COMMENT |
头部 | 否 | 表5-2 | |
HeaderKey.CREATION_DATE |
头部 | 是 | 现在 |
表5.2, 6.5.9 |
HeaderKey.ORIGINATOR |
头部 | 是 | AbstractMessageWriter.DEFAULT_ORIGINATOR |
表5-2 |
OdmMetadataKey.OBJECT_NAME |
段 | 是 | 表5-3 | |
CommonMetadataKey.OBJECT_ID |
段 | 是 | 表5-3 | |
CommonMetadataKey.CENTER_NAME |
段 | 是 | 表5-3 | |
CommonMetadataKey.REF_FRAME |
段 | 是 | 表5-3, 附录A | |
CommonMetadataKey.REF_FRAME_EPOCH |
段 | 否 | 表5-3, 6.5.9 | |
MetadataKey.TIME_SYSTEM |
段 | 是 | ||
OemMetadataKey.START_TIME |
段 | 是 | 表5-3, 6.5.9 | |
OemMetadataKey.USEABLE_START_TIME |
段 | 否 | 表5-3, 6.5.9 | |
OemMetadataKey.STOP_TIME |
段 | 是 | 表5-3, 6.5.9 | |
OemMetadataKey.USEABLE_STOP_TIME |
段 | 否 | 表5-3, 6.5.9 | |
OemMetadataKey.INTERPOLATION |
段 | 否 | 表5-3 | |
OemMetadataKey.INTERPOLATION_DEGREE |
段 | 否 | 表5-3 |
MetadataKey.TIME_SYSTEM
必须对整个文件保持恒定,并用于解释除了 HeaderKey.CREATION_DATE
之外的所有日期,后者始终为 UTC
。不能保证猜测算法有效,因此建议为 CommonMetadataKey.CENTER_NAME
和 MetadataKey.TIME_SYSTEM
提供值,以避免与不正确猜测相关的任何错误。
MetadataKey.TIME_SYSTEM
的标准化值为 GMST、GPS、MET、MRT、SCLK、TAI、TCB、TDB、TT、UT1 和 UTC。参考框架的标准化值为 EME2000、GTOD、ICRF、ITRF2000、ITRF-93、ITRF-97、LVLH、RTN、QSW、TOD、TNW、NTW 和 RSW。此外,可以使用以四位数字年份结尾的 ITRF。
StreamingOemWriter
Modifier and Type | Field and Description |
---|---|
static double |
CCSDS_OEM_VERS
实现的版本号。
|
static String |
DEFAULT_FILE_NAME
错误消息的默认文件名。
|
static int |
KVN_PADDING_WIDTH
用于对齐“=”符号的填充宽度。
|
DEFAULT_ORIGINATOR
Constructor and Description |
---|
OemWriter(IERSConventions conventions, DataContext dataContext, AbsoluteDate missionReferenceDate)
用于创建配置了必要参数的新OEM编写器的构造函数,以成功填写所有不属于标准对象的必需字段。
|
Modifier and Type | Method and Description |
---|---|
protected void |
writeSegmentContent(Generator generator, double formatVersion, OemSegment segment)
编写一个段内容(不包括XML包装)。
|
getContext, getDefaultVersion, getFormatVersionKey, getRoot, getTimeConverter, getVersion, setContext, writeFooter, writeHeader, writeSegment
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
writeMessage
public static final double CCSDS_OEM_VERS
public static final int KVN_PADDING_WIDTH
public OemWriter(IERSConventions conventions, DataContext dataContext, AbsoluteDate missionReferenceDate)
如果必填的头部条目不存在(或者头部为null),将使用内置默认值
编写器是从完整头部和部分元数据构建的。模板元数据用于初始化独立的本地副本,该副本将随着编写新段而更新(至少段的开始和结束将更改,但某些其他部分也可能更改)。模板
参数本身不会更改。
不建议直接调用此构造函数。用户应该使用 writerBuilder.buildOemWriter()
。
conventions
- IERS规范
dataContext
- 用于检索框架、时间标度等
missionReferenceDate
- 任务经过时间或任务相对时间时间系统的参考日期
DEFAULT_FILE_NAME
protected void writeSegmentContent(Generator generator, double formatVersion, OemSegment segment) throws IOException
writeSegmentContent
在类 AbstractMessageWriter<OdmHeader,OemSegment,Oem>
generator
- 用于生成输出的生成器
formatVersion
- 要使用的格式版本
segment
- 要写入的段
IOException
- 如果任何缓冲区写入操作失败
Copyright © 2002-2023 CS GROUP. All rights reserved.