Different results between TLE and KeplerianOrbit

Hi @chenqiang,

Ok.
First as explained by @Serrof and in this post or this one TLE parameters cannot be used directly, even for a frame conversion. They are mean parameters in the sense of the SGP theory.

Once you’ve built a TLEPropagator from a TLE or an OMM, there are 2 methods that I know of:

  1. Use propagator.propagate(date): this will give you the osculating parameters in TEME at date.
    From there you can transform them to EME2000.
    Drawback is that you will get the osculating orbit in the sense of SGP. And if you reuse it in another propagator, the results will rapidly diverge from the TLE propagation.

  2. Convert the TLE propagator to the one you desire.
    This method will fit a propagator to some osculating states of the TLE on a user-defined time span.
    The returned propagator will be the one realizing the fit. The fit is done using a batch least-squares algorithm.
    It is similar to considering the TLE states as PV measurements and doing an orbit determination with these measurements.
    You can either use a PropagatorConvertor (see the tutorials for examples), or a BatchLSEstimator and do an orbit determination on a chosen list of TLE propagated states.

Does that help you ?
Maxime