[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orekit Developers] Ephemeris Writer Interface
- To: <orekit-developers@orekit.org>
- Subject: [Orekit Developers] Ephemeris Writer Interface
- From: Evan Ward <evan.ward@nrl.navy.mil>
- Date: Tue, 25 Oct 2016 12:03:16 -0400
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0
Hi,
I'm thinking about creating an interface for writing an ephemeris file
from a Propagator and I would appreciate your thoughts on it.
At this point I'm trying to figure out what types of ephemeris files
should be supported, e.g. OEM, STK .e. These formats as well as several
internal formats in use at NRL all have one satellite per file, so my
current plan is to create the interface assuming only one satellite. One
notable exception to this assumption is the SP3 file format where the
states of many spacecraft are listed at each epoch. The SP3 format is
specific to GNSS satellites and the Orekit Propagator does not support
propagating multiple satellites at the same time, so there is no way to
efficiently implement a SP3 writer in Orekit. (All of the states for all
of the satellites would need to be buffered in memory.) Given those
drawbacks of the SP3 format, my current plan is to not support the SP3
format with the EphemerisWriter interface.
For the most part it seems that the OrekitFixedStepHandler could be used
as the interface for an EphemerisWriter. One piece of information that
is missing is the step size, but that could easily be added to the
init(...) method call. Additional meta data could be passed in through
the constructor of the EphemerisWriter, such as frame, time scale, and
center name. Given the wide variety of metadata accepted by different
formats I'm not planning on standardizing an interface for setting the
metadata. I think covariance output could also be supported by providing
an initial covariance and a suitable mapper to extract the STM from the
SpacecraftState.
Hank, are you still interested in contributing your OEM writer and would
it fit with the described interface?
Are there any other formats that would need to be supported by the
EphemerisWriter interface?
Best Regards,
Evan