Class AemWriter
- All Implemented Interfaces:
MessageWriter<AdmHeader,AemSegment, Aem>
Metadata
The AEM header and metadata used by this writer are described in the following tables.
Many metadata items are optional or have default values so they do not need to be specified.
At a minimum the user must supply those values that are required and for which no
default exits: AdmMetadataKey.OBJECT_NAME, AdmCommonMetadataKey.OBJECT_ID,
AemMetadataKey.START_TIME and AemMetadataKey.STOP_TIME.
The usage column in the table indicates where the metadata item is used, either in the AEM header
or in the metadata section at the start of an AEM attitude segment.
The AEM header for the whole AEM file is set when calling AbstractMessageWriter.writeHeader(Generator, Header),
the entries are defined in table 4-2 of the ADM standard.
| Keyword | Mandatory | Default in Orekit |
|---|---|---|
CCSDS_AEM_VERS |
Yes | CCSDS_AEM_VERS |
HeaderKey.COMMENT |
No | empty |
HeaderKey.CREATION_DATE |
Yes | Now |
HeaderKey.ORIGINATOR |
Yes | AbstractMessageWriter.DEFAULT_ORIGINATOR |
The AEM metadata for the AEM file is set when calling writeSegmentContent(Generator, double, AemSegment),
the entries are defined in tables 4-3, 4-4 and annex A of the ADM standard.
| Keyword | Mandatory | Default in Orekit |
|---|---|---|
MetadataKey.COMMENT |
No | empty |
AdmMetadataKey.OBJECT_NAME |
Yes | |
AdmCommonMetadataKey.OBJECT_ID |
Yes | |
AdmMetadataKey.CENTER_NAME |
No | |
AemMetadataKey.REF_FRAME_A |
Yes | |
AemMetadataKey.REF_FRAME_B |
Yes | |
AemMetadataKey.ATTITUDE_DIR |
Yes | |
MetadataKey.TIME_SYSTEM |
Yes | |
AemMetadataKey.START_TIME |
Yes | default to propagation start time (for forward propagation) |
AemMetadataKey.USEABLE_START_TIME |
No | |
AemMetadataKey.USEABLE_STOP_TIME |
No | |
AemMetadataKey.STOP_TIME |
Yes | default to propagation target time (for forward propagation) |
AemMetadataKey.ATTITUDE_TYPE |
Yes | QUATERNION/DERIVATIVE |
AemMetadataKey.QUATERNION_TYPE |
No | FIRST |
AemMetadataKey.EULER_ROT_SEQ |
No | |
AemMetadataKey.RATE_FRAME |
No | REF_FRAME_B |
AemMetadataKey.INTERPOLATION_METHOD |
No | |
AemMetadataKey.INTERPOLATION_DEGREE |
No | always set in AemMetadata |
The MetadataKey.TIME_SYSTEM must be constant for the whole file and is used
to interpret all dates except HeaderKey.CREATION_DATE which is always in UTC. The guessing algorithm is not guaranteed to work so it is recommended
to provide values for AdmMetadataKey.CENTER_NAME and MetadataKey.TIME_SYSTEM
to avoid any bugs associated with incorrect guesses.
Standardized values for MetadataKey.TIME_SYSTEM are GMST, GPS, MET, MRT, SCLK,
TAI, TCB, TDB, TT, UT1, and UTC. Standardized values for reference frames
are EME2000, GTOD, ICRF, ITRF2000, ITRF-93, ITRF-97, LVLH, RTN, QSW, TOD, TNW, NTW and RSW.
Additionally ITRF followed by a four digit year may be used.
- Since:
- 10.2
- Author:
- Bryan Cazabonne
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleVersion number implemented.static final intPadding width for aligning the '=' sign.Fields inherited from class org.orekit.files.ccsds.utils.generation.AbstractMessageWriter
DEFAULT_ORIGINATOR -
Constructor Summary
ConstructorsConstructorDescriptionAemWriter(IERSConventions conventions, DataContext dataContext, AbsoluteDate missionReferenceDate) Constructor used to create a new AEM writer configured with the necessary parameters to successfully fill in all required fields that aren't part of a standard object. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidwriteSegmentContent(Generator generator, double formatVersion, AemSegment segment) Write one segment content (without XML wrapping).Methods inherited from class org.orekit.files.ccsds.utils.generation.AbstractMessageWriter
getContext, getDefaultVersion, getFormatVersionKey, getRoot, getTimeConverter, getVersion, setContext, writeFooter, writeHeader, writeSegmentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.files.ccsds.utils.generation.MessageWriter
writeMessage
-
Field Details
-
CCSDS_AEM_VERS
public static final double CCSDS_AEM_VERSVersion number implemented.- See Also:
-
KVN_PADDING_WIDTH
public static final int KVN_PADDING_WIDTHPadding width for aligning the '=' sign.- See Also:
-
-
Constructor Details
-
AemWriter
public AemWriter(IERSConventions conventions, DataContext dataContext, AbsoluteDate missionReferenceDate) Constructor used to create a new AEM writer configured with the necessary parameters to successfully fill in all required fields that aren't part of a standard object.- Parameters:
conventions- IERS ConventionsdataContext- used to retrieve frames, time scales, etc.missionReferenceDate- reference date for Mission Elapsed Time or Mission Relative Time time systems- Since:
- 11.0
-
-
Method Details
-
writeSegmentContent
protected void writeSegmentContent(Generator generator, double formatVersion, AemSegment segment) throws IOException Write one segment content (without XML wrapping).- Specified by:
writeSegmentContentin classAbstractMessageWriter<AdmHeader,AemSegment, Aem> - Parameters:
generator- generator to use for producing outputformatVersion- format version to usesegment- segment to write- Throws:
IOException- if any buffer writing operations fails
-