Hi. I am fairly new to Orekit and have primarily relied on the forum for support and help with my code. Thanks for being an active community!
I have a set of spacecraft states that I propagate using NumericalPropogator and want to convert this into an ephemeris file. I seem stuck with the part where I can’t write the ephemeris file with an invalid argument error when I try to use the ’ writer.write(StringWriter(), eph) ’ command. I am trying to follow the process mentioned in [https://forum.orekit.org/t/help-with-ephemerisoemwriter/3373]. I would also like to add the state covariance information in my ephemeris. Any help with this is greatly appreciated.
I have attached my code snippet below:
# Propogate
time = [initialEpoch.shiftedBy(float(dt)) for dt in np.arange(0, 86400, 60)]
States = [propagator.propagate(k) for k in time]
# Ephemeris Generation
# Meta Data
oemMetaData = OemMetadata(2)
oemMetaData.setObjectID(mySat.objectID)
oemMetaData.setTimeSystem(TimeSystem.UTC)
oemMetaData.setObjectName(mySat.name)
oemMetaData.setCenter(BodyFacade("EARTH", earth))
oemMetaData.setReferenceFrame(FrameFacade.map(FramesFactory.getEME2000()))
oemMetaData.addComment('This file was generated for trial')
# Header
oemHeader = OdmHeader()
oemHeader.setFormatVersion(1.0)
# Ephemeris File
eph = OrekitEphemerisFile()
satellite = eph.addSatellite(mySat.name)
statesList = ArrayList()
for i in range(len(States)):
statesList.add(States[i])
satellite.addNewSegment(statesList)
# Write Ephemeris
writer = EphemerisOemWriter(WriterBuilder().buildOemWriter(), oemHeader, oemMetaData, FileFormat.KVN, 'OEM', 10.0, 60)
writer.write(StringWriter(), eph)
fp = open("test_oem.txt", "w")
fp.write(StringWriter().toString())
fp.close()