OEM file from TLE

Hello everyone,
I want to extract OEM file from TLE data of a satellite. is there any shortcut or function that gives proper OEM file for VTS. I want to get data with MDJ time format.

Hi @ryan123,

Welcome to the forum!

I’m not sure the CCSDS ODM standard allows you to do that. From what I have (quickly) read, ODM (hence OEM) only supports ISO 8601 calendar dates.

Not that I know of. It seems VTS does not use real CCSDS standards but what they call CIC/CCSDS (see here). I think you will have to implement the writer on your side.

Unfortunately, we do not have an example of OEM writing from a list of S/C states.
@Vincent just opened an issue asking for this on the Orekit tutorial forge for this.


ı can propagate and save x y z data and date also but the date is UTC . how can i make it mjd for VTS. @MaximeJ

Hello @ryan123

You don’t need to convert to MJD. VTS supports calendar dates, just use the toString method.
Moreover, you can use the Orekit OEM writer (with KVN generator) to generate CIC files, as long as your output has only one segment, it will be accepted.

Best regards,

1 Like

Thanks @Emiliano,

To answer your question there’s a DateComponents.getMJD() method that returns the day as an int and a TimeComponents.getSecondsInUTCDay() that will help you build an MJD date.
Another option is date.durationFrom(AbsoluteDate.MODIFIED_JULIAN_EPOCH) / Constants.JULIAN_DAY but you will lose precision.

A question for everyone: why don’t we have an AbsoluteDate.getMJD() and an AbsoluteDate.getJD() method?



From a practical point of view I believe we should have these methods.


+1. Well, the precision may be the key point.

ok, I’ve opened issue-1413 regarding this particular point