I’m facing some issues with the CCSDS OEM implementation.
The first one is creating an OEMFile from scratch:
In my own application outside of Orekit I would like to create an OEMFile from a propagation result.
I’d like to set the header, metadata and ephemeris lines by hand and sequentially.
But I’m facing an issue since most setters in
ccsdspackage seems to be package private.
Is there something I missed?
Maybe I should implement my own
EphemerisFileor use the
I think I found some limitations in
The first one is that only one header comment can be added.
This one is hard to fix since the class takes a
Map<Keyword, String>as input and thus only one
Keyword.COMMENTcan be added.
Maybe we should add an argument with
List<String> headerCommentor an attribute and setter if we don’t want to change the API.
The second one is that I would like to format the output a little more, especially setting the number of decimal digits in the ephemeris data lines.
Double.toString(value)to print the values.
Maybe it would be nice to have some settable format for position and velocity or
DecimalFormat(s) so some systems’ specific OEM files requirements can be met.
I found out that if I’m trying to write a long OEM file it stops writing after about 38860 lines.
I think it’s a limitation in size of the
OutputStreamWriterI was using as input of
StreamingOemWriterbut I couldn’t find any info on this on the web.
I did my own implementation and replaced the
Appendable writerwith an
OutputStreamand the problem diseappeared. i don’t know what we could do about this though.
I’d like to provide a test but I can’t produce my own OEM as stated in 1. I found the issue after parsing/re-writing an existing file that is quite huge and proprietary so I cannot send it along with a test.