Class AemWriter
- java.lang.Object
-
- org.orekit.files.ccsds.utils.generation.AbstractMessageWriter<AdmHeader,AemSegment,Aem>
-
- org.orekit.files.ccsds.ndm.adm.aem.AemWriter
-
- All Implemented Interfaces:
MessageWriter<AdmHeader,AemSegment,Aem>
public class AemWriter extends AbstractMessageWriter<AdmHeader,AemSegment,Aem>
A writer for Attitude Ephemeris Messsage (AEM) files.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_TIMEandAemMetadataKey.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.AEM metadata Keyword Mandatory Default in Orekit CCSDS_AEM_VERSYes CCSDS_AEM_VERSHeaderKey.COMMENTNo empty HeaderKey.CREATION_DATEYes NowHeaderKey.ORIGINATORYes AbstractMessageWriter.DEFAULT_ORIGINATORThe 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.AEM metadata Keyword Mandatory Default in Orekit MetadataKey.COMMENTNo empty AdmMetadataKey.OBJECT_NAMEYes AdmCommonMetadataKey.OBJECT_IDYes AdmMetadataKey.CENTER_NAMENo AemMetadataKey.REF_FRAME_AYes AemMetadataKey.REF_FRAME_BYes AemMetadataKey.ATTITUDE_DIRYes MetadataKey.TIME_SYSTEMYes AemMetadataKey.START_TIMEYes default to propagation start time (for forward propagation) AemMetadataKey.USEABLE_START_TIMENo AemMetadataKey.USEABLE_STOP_TIMENo AemMetadataKey.STOP_TIMEYes default to propagation target time (for forward propagation) AemMetadataKey.ATTITUDE_TYPEYes QUATERNION/DERIVATIVEAemMetadataKey.QUATERNION_TYPENo FIRSTAemMetadataKey.EULER_ROT_SEQNo AemMetadataKey.RATE_FRAMENo REF_FRAME_BAemMetadataKey.INTERPOLATION_METHODNo AemMetadataKey.INTERPOLATION_DEGREENo always set in AemMetadataThe
MetadataKey.TIME_SYSTEMmust be constant for the whole file and is used to interpret all dates exceptHeaderKey.CREATION_DATEwhich is always inUTC. The guessing algorithm is not guaranteed to work so it is recommended to provide values forAdmMetadataKey.CENTER_NAMEandMetadataKey.TIME_SYSTEMto avoid any bugs associated with incorrect guesses.Standardized values for
MetadataKey.TIME_SYSTEMare 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
Fields Modifier and Type Field Description static doubleCCSDS_AEM_VERSVersion number implemented.static intKVN_PADDING_WIDTHPadding width for aligning the '=' sign.-
Fields inherited from class org.orekit.files.ccsds.utils.generation.AbstractMessageWriter
DEFAULT_ORIGINATOR
-
-
Constructor Summary
Constructors Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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, writeSegment
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.files.ccsds.utils.generation.MessageWriter
writeMessage
-
-
-
-
Field Detail
-
CCSDS_AEM_VERS
public static final double CCSDS_AEM_VERS
Version number implemented.- See Also:
- Constant Field Values
-
KVN_PADDING_WIDTH
public static final int KVN_PADDING_WIDTH
Padding width for aligning the '=' sign.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 Detail
-
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
-
-