public class AemWriter extends AbstractMessageWriter<AdmHeader,AemSegment,Aem>
此编写器使用的AEM头部和元数据在以下表中进行了描述。许多元数据项是可选的或具有默认值,因此不需要指定。用户必须至少提供那些必需的数值,而没有默认值: AdmMetadataKey.OBJECT_NAME
,AdmCommonMetadataKey.OBJECT_ID
,AemMetadataKey.START_TIME
和AemMetadataKey.STOP_TIME
。表中的使用列指示元数据项在何处使用,即在AEM头部中还是在AEM姿态段开头的元数据部分中。
调用AbstractMessageWriter.writeHeader(Generator, Header)
时设置整个AEM文件的AEM头部,条目在ADM标准的表4-2中定义。
关键字 | 强制 | Orekit中的默认值 |
---|---|---|
CCSDS_AEM_VERS |
是 | CCSDS_AEM_VERS |
HeaderKey.COMMENT |
否 | 空 |
HeaderKey.CREATION_DATE |
是 | 现在 |
HeaderKey.ORIGINATOR |
是 | AbstractMessageWriter.DEFAULT_ORIGINATOR |
调用writeSegmentContent(Generator, double, AemSegment)
时设置AEM文件的AEM元数据,条目在ADM标准的表4-3、4-4和附录A中定义。
关键字 | 强制 | Orekit中的默认值 |
---|---|---|
MetadataKey.COMMENT |
否 | 空 |
AdmMetadataKey.OBJECT_NAME |
是 | |
AdmCommonMetadataKey.OBJECT_ID |
是 | |
AdmMetadataKey.CENTER_NAME |
否 | |
AemMetadataKey.REF_FRAME_A |
是 | |
AemMetadataKey.REF_FRAME_B |
是 | |
AemMetadataKey.ATTITUDE_DIR |
是 | |
MetadataKey.TIME_SYSTEM |
是 | |
AemMetadataKey.START_TIME |
是 | 默认为传播开始时间(用于正向传播) |
AemMetadataKey.USEABLE_START_TIME |
否 | |
AemMetadataKey.USEABLE_STOP_TIME |
否 | |
AemMetadataKey.STOP_TIME |
是 | 默认为传播目标时间(用于正向传播) |
AemMetadataKey.ATTITUDE_TYPE |
是 | QUATERNION/DERIVATIVE |
AemMetadataKey.QUATERNION_TYPE |
否 | FIRST |
AemMetadataKey.EULER_ROT_SEQ |
否 | |
AemMetadataKey.RATE_FRAME |
否 | REF_FRAME_B |
AemMetadataKey.INTERPOLATION_METHOD |
否 | |
AemMetadataKey.INTERPOLATION_DEGREE |
否 | 始终在AemMetadata 中设置 |
MetadataKey.TIME_SYSTEM
必须对整个文件保持恒定,并用于解释除HeaderKey.CREATION_DATE
之外的所有日期,后者始终使用UTC
。猜测算法不能保证有效工作,因此建议为AdmMetadataKey.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后跟四位数字年份也可以使用。
Modifier and Type | Field and Description |
---|---|
static double |
CCSDS_AEM_VERS
实现的版本号。
|
static int |
KVN_PADDING_WIDTH
用于对齐“=”符号的填充宽度。
|
DEFAULT_ORIGINATOR
Constructor and Description |
---|
AemWriter(IERSConventions conventions, DataContext dataContext, AbsoluteDate missionReferenceDate)
用于创建配置了必要参数的新AEM编写器的构造函数,以成功填写所有不属于标准对象的必需字段。
|
Modifier and Type | Method and Description |
---|---|
protected void |
writeSegmentContent(Generator generator, double formatVersion, AemSegment 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_AEM_VERS
public static final int KVN_PADDING_WIDTH
public AemWriter(IERSConventions conventions, DataContext dataContext, AbsoluteDate missionReferenceDate)
conventions
- IERS规范
dataContext
- 用于检索框架、时间刻度等
missionReferenceDate
- 任务经过时间或任务相对时间时间系统的参考日期
protected void writeSegmentContent(Generator generator, double formatVersion, AemSegment segment) throws IOException
writeSegmentContent
在类 AbstractMessageWriter<AdmHeader,AemSegment,Aem>
generator
- 用于生成输出的生成器
formatVersion
- 要使用的格式版本
segment
- 要写入的段
IOException
- 如果任何缓冲区写入操作失败
Copyright © 2002-2023 CS GROUP. All rights reserved.