Class EphemerisOemWriter
- java.lang.Object
-
- org.orekit.files.ccsds.ndm.odm.oem.EphemerisOemWriter
-
- All Implemented Interfaces:
EphemerisFileWriter
public class EphemerisOemWriter extends Object implements EphemerisFileWriter
AnEphemerisFileWriter
generatingOEM
files.- Since:
- 9.0
- Author:
- Hank Grabowski, Evan Ward
- See Also:
- CCSDS 502.0-B-2 Orbit Data
Messages,
CCSDS 500.0-G-4 Navigation
Data Definitions and Conventions,
StreamingOemWriter
-
-
Constructor Summary
Constructors Constructor Description EphemerisOemWriter(OemWriter writer, OdmHeader header, OemMetadata template, FileFormat fileFormat, String outputName, double maxRelativeOffset, int unitsColumn)
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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>>
voidwrite(Appendable appendable, EphemerisFile<C,S> ephemerisFile)
Write the passed inEphemerisFile
using the passed inAppendable
.<C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>>
voidwriteSegment(Generator generator, S segment)
Write one segment.-
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.general.EphemerisFileWriter
write
-
-
-
-
Constructor Detail
-
EphemerisOemWriter
public EphemerisOemWriter(OemWriter writer, OdmHeader header, OemMetadata template, FileFormat fileFormat, String outputName, double maxRelativeOffset, int unitsColumn)
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.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.- Parameters:
writer
- underlying writerheader
- file header (may be null)template
- template for metadatafileFormat
- file format to useoutputName
- output name for error messagesmaxRelativeOffset
- maximum offset in seconds to use relative dates (if a date is too far from reference, it will be displayed as calendar elements)unitsColumn
- columns number for aligning units (if negative or zero, units are not output)- Since:
- 12.0
-
-
Method Detail
-
write
public <C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>> void write(Appendable appendable, EphemerisFile<C,S> ephemerisFile) throws IOException
Write the passed inEphemerisFile
using the passed inAppendable
.As
EphemerisFile.SatelliteEphemeris
does not have all the entries fromOemMetadata
, the only values that will be extracted from theephemerisFile
will be the start time, stop time, reference frame, interpolation method and interpolation degree. The missing values (like object name, local spacecraft body frame...) will be inherited from the template metadata set at writerconstruction
.- Specified by:
write
in interfaceEphemerisFileWriter
- Type Parameters:
C
- type of the Cartesian coordinatesS
- type of the segment- Parameters:
appendable
- a configured Appendable to feed with textephemerisFile
- a populated ephemeris file to serialize into the buffer- Throws:
IOException
- if any buffer writing operations fail or if the underlying format doesn't support a configuration in the EphemerisFile (for example having multiple satellites in one file, having the origin at an unspecified celestial body, etc.)
-
writeSegment
public <C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>> void writeSegment(Generator generator, S segment) throws IOException
Write one segment.- Type Parameters:
C
- type of the Cartesian coordinatesS
- type of the segment- Parameters:
generator
- generator to use for producing outputsegment
- segment to write- Throws:
IOException
- if any buffer writing operations fails
-
-