Converting from TEME to EME2000 Frame

I am reading in a TLE and generating ephemeris for use in other calculations but I need the ephemeris in an ECI (EME2000) frame. I am currently doing this with a Matlab script but wanted to see if Orekit has a method to change frame output. Thanks.

Hi @StephenC,

Given an Orekit TLEPropagator and an Orekit AbsoluteDate , just use:

TimeStampedPVCoordinates PV = TLEPropagator.getPVCoordinates(date, FramesFactory.getEME2000())

To have your PV in EME2000.
Is that what you’re looking for ?


Yes, to be compatible with other calculations I need to have the satellite position/velocity in EME2000.

hi @StephenC,

To generate ephemeris from a propagator (in your case, a TLEPropagator), you should use the ephemeris mode of the propagator :

propagator.propagate(startDate, endDate);
BoundedPropagator bounded = propagator.getGeneratedEphemeris();

Once you have your BoundedPropagator object, it is possible to generate ephemeris with the time step and the frame you want with a loop on the BoundedPropagator that uses the method that MaximeJ mentionned.

Hope it can help you,


Ephemeris mode won’t hurt with analytical propagators (e.g. TLEPropagator) but it won’t help either. (Ephemeris mode is needed when using integrated propagators.)