TLE, SGP4 & SDP4 code
Posted: 14.11.2005, 19:52
I have just finished writing a C++ library for TLE, SGP, SGP4, SDP4, SGP8 & SDP8, based on Dominik Brodowski SGP C library (which is itself based on Dr TS Kelso NORAD Pascal library). I have re-arranged the code to make it object-oriented.
Using this library, I would like to implement the SGP4 and SDP4 orbit model in celestia.
The orbit should be described in the SSC file like this:
spacecrafts.tle is a text file containing the two line elements of some spacecrafts.
25791 is the NORAD Catalog Number of the spacecraft (here FUSE). The software looks for that ID in the TLE file.
From this data, it builds a SGP4 (or SDP4 depending on the orbital period) orbit model.
I would appreciate your opinion on this.
Besides, I would like to know what should be the output of
Units : kilometers?
Reference frame: J2000? True Equator & Equinox of Current Epoch?
The SGP4 & SDP4 produce output in the True Equator Mean Equinox of TLE Epoch. Now since the nutation is (from what I understand) quite small compared to SGP4/SDP4 accuracy, I don't care for the difference between "mean" and "true" but I will probably have to convert the coordinates (taking only precession into account) from TLE Epoch to J2000 Epoch.
Since the SGP4 and SDP4 model are only quite accurate around the TLE epoch, I might define the orbit as SGP4/SDP4 for one month around the TLE Epoch and Keplerian outside. I have just seen there is this MixedOrbit class in orbit.h.
If you have any suggestion, recommendations on how to make things better, easier or anything (without making it too difficult for me to code , let me know.
Using this library, I would like to implement the SGP4 and SDP4 orbit model in celestia.
The orbit should be described in the SSC file like this:
Code: Select all
CustomOrbit "TLE:spacecrafts.tle:25791"
spacecrafts.tle is a text file containing the two line elements of some spacecrafts.
25791 is the NORAD Catalog Number of the spacecraft (here FUSE). The software looks for that ID in the TLE file.
From this data, it builds a SGP4 (or SDP4 depending on the orbital period) orbit model.
I would appreciate your opinion on this.
Besides, I would like to know what should be the output of
Code: Select all
Point3d Orbit::positionAtTime(double)
Units : kilometers?
Reference frame: J2000? True Equator & Equinox of Current Epoch?
The SGP4 & SDP4 produce output in the True Equator Mean Equinox of TLE Epoch. Now since the nutation is (from what I understand) quite small compared to SGP4/SDP4 accuracy, I don't care for the difference between "mean" and "true" but I will probably have to convert the coordinates (taking only precession into account) from TLE Epoch to J2000 Epoch.
Since the SGP4 and SDP4 model are only quite accurate around the TLE epoch, I might define the orbit as SGP4/SDP4 for one month around the TLE Epoch and Keplerian outside. I have just seen there is this MixedOrbit class in orbit.h.
If you have any suggestion, recommendations on how to make things better, easier or anything (without making it too difficult for me to code , let me know.