[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] Ephemeris Data PVCoordinatesProvider

Hi Thinus,

thinus@pinkmatter.com a écrit :

Hi all.  Firstly, so glad I found this library, but man I wish I found it

Thank you for these kind words. It is really appreciated.

I've built this system (literally in a few hours, thanks to this library)
which reads ancillary data form an earth-observation satellite and computes
projections from this craft onto the surface of the earth.

Up to now I've used a TLEPropagator with NORAD-tracked TLE data to provide the PVCoordinatesProvider functionality, but this is not good enough anymore. The
data I'm processing could be several years old, and obviously the TLE data is
not accurate more than a few days out.  Fortunately, the craft has extremely
accurate positioning systems on board, and I've got access to that data.

How would I go about creating a PVCoordinatesProvider for this Ephemeris data?
The data I have is literally ECEF position and velocity vectors, with ECI
residuals (though the latter can be ignored for now). I've tried implementing
the PVCoordinatesProvider interface myself and then use my own interpolation
methods in the getPVCoordinates method, but this is not accurate enough, and
I'm not sure what to do with the provided Frame.

Is there a way to achieve this with the library itself, or has anyone had to
do something similar in the past?

You may find the Ephemeris class in org.orekit.propagation.analytical package useful for your needs. It is built from a list of SpacecraftState instances and an integer representing the number of points to use for interpolation. If the states you provide include attitude, the ephemeris will interpolate both orbit and attitude with this number of points. I suggest to use from 3 to 8 points at most for interpolation, but of course the list can contain thousands of points, it doesn't matter as long as you have enough memory to hold them. If you use too many points, you will experience Runge's phenomenon and bad interpolation.

In a similar requirement I was able to use the TabulatedProvider for the
Attitude information, but I can't seem to find/construct the equivalent for
the orbital attributes.

If you use ephemeris, both attitude and orbit will be interpolated together.

Hope this helps,

Thank you in advance!
- Thinus

This message was sent using IMP, the Internet Messaging Program.