public class OemWriter extends AbstractMessageWriter<Header,OemSegment,Oem>
The OEM metadata used by this writer is described in the following table. 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: OdmMetadataKey.OBJECT_NAME
, and CommonMetadataKey.OBJECT_ID
. The usage
column in the table indicates where the metadata item is used, either in the OEM header
or in the metadata section at the start of an OEM ephemeris segment.
Keyword | Usage | Obligatory | Default | Reference |
---|---|---|---|---|
CCSDS_OEM_VERS |
Header | Yes | Oem.FORMAT_VERSION_KEY |
Table 5-2 |
COMMENT |
Header | No | Table 5-2 | |
HeaderKey.CREATION_DATE |
Header | Yes | Now |
Table 5.2, 6.5.9 |
HeaderKey.ORIGINATOR |
Header | Yes | AbstractMessageWriter.DEFAULT_ORIGINATOR |
Table 5-2 |
OdmMetadataKey.OBJECT_NAME |
Segment | Yes | Table 5-3 | |
CommonMetadataKey.OBJECT_ID |
Segment | Yes | Table 5-3 | |
CommonMetadataKey.CENTER_NAME |
Segment | Yes | Table 5-3 | |
CommonMetadataKey.REF_FRAME |
Segment | Yes | Table 5-3, Annex A | |
CommonMetadataKey.REF_FRAME_EPOCH |
Segment | No | Table 5-3, 6.5.9 | |
MetadataKey.TIME_SYSTEM |
Segment | Yes | ||
OemMetadataKey.START_TIME |
Segment | Yes | Table 5-3, 6.5.9 | |
OemMetadataKey.USEABLE_START_TIME |
Segment | No | Table 5-3, 6.5.9 | |
OemMetadataKey.STOP_TIME |
Segment | Yes | Table 5-3, 6.5.9 | |
OemMetadataKey.USEABLE_STOP_TIME |
Segment | No | Table 5-3, 6.5.9 | |
OemMetadataKey.INTERPOLATION |
Segment | No | Table 5-3 | |
OemMetadataKey.INTERPOLATION_DEGREE |
Segment | No | Table 5-3 |
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 CommonMetadataKey.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.
StreamingOemWriter
Modifier and Type | Field and Description |
---|---|
static double |
CCSDS_OEM_VERS
Version number implemented.
|
static String |
DEFAULT_FILE_NAME
Default file name for error messages.
|
static int |
KVN_PADDING_WIDTH
Padding width for aligning the '=' sign.
|
DEFAULT_ORIGINATOR
Constructor and Description |
---|
OemWriter(IERSConventions conventions,
DataContext dataContext,
AbsoluteDate missionReferenceDate)
Constructor used to create a new OEM writer configured with the necessary parameters
to successfully fill in all required fields that aren't part of a standard object.
|
Modifier and Type | Method and Description |
---|---|
void |
writeSegmentContent(Generator generator,
double formatVersion,
OemSegment segment)
Write one segment content (without XML wrapping).
|
getContext, getDefaultVersion, getTimeConverter, 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 String DEFAULT_FILE_NAME
public static final int KVN_PADDING_WIDTH
public OemWriter(IERSConventions conventions, DataContext dataContext, AbsoluteDate missionReferenceDate)
If the mandatory header entries are not present (or if header is null), built-in defaults will be used
The writer is built from the complete header and partial metadata. The template
metadata is used to initialize and independent local copy, that will be updated
as new segments are written (with at least the segment start and stop will change,
but some other parts may change too). The template
argument itself is not
changed.
Calling this constructor directly is not recommended. Users should rather use
writerBuilder.buildOemWriter()
.
conventions
- IERS ConventionsdataContext
- used to retrieve frames, time scales, etc.missionReferenceDate
- reference date for Mission Elapsed Time or Mission Relative Time time systemsDEFAULT_FILE_NAME
public void writeSegmentContent(Generator generator, double formatVersion, OemSegment segment) throws IOException
writeSegmentContent
in class AbstractMessageWriter<Header,OemSegment,Oem>
generator
- generator to use for producing outputformatVersion
- format version to usesegment
- segment to writeIOException
- if any buffer writing operations failsCopyright © 2002-2023 CS GROUP. All rights reserved.