Generate TLE from positon vectors

Hi all,

I am trying to generate TLE from set of position vectors at given time. There are about 1440 vectors with 10 seconds time span. I know about FiniteDifferencePropagatorConverter, which you need to built with a TLEPropagatorBuilder, but it requires template TLE to provide orbit and i dont have one. So i came to the problem that i need to generate orbit from my input data, is there any way to do it ?

Thanks for your help!

If you have velocity in your state vectors you can use the Orbit classes to create an initial guess. Otherwise I would probably try interpolating to get velocity using TimeStampedPVCoordinates.interpolate(...). You could also try the IOD package.



Like Evan mentioned, performing an IOD from three position vectors is a good idea.

Then you could perform a batch least squares orbit determination from all the position vectors. You can create a template TLE by using the osculating elements from the Orbit object estimated by the OD. This “first guess” TLE should not be used for propagation, but it is enough to afterwards fit a proper TLE by means of FiniteDifferencePropagatorConverter using the intermediate states of the propagator.

I am working on a few Jupyter notebooks tutorials using the Orekit Python wrapper to demonstrate measurement generation (including position), IOD, OD, and TLE fitting. I hope they will be ready to be published soon.


Thank you for your help! Gibbs initial orbit determination from three position vectors works perfect.