API TLE options
The way to set how TLE(s) will be generated will depend of the chosen option as described here.
Single TLE
We have to instantiate a GtmSingleTle object. Two constructors are then available :
- one with the minimum data to give (the other ones will be set to default values) :
final AbsoluteDate date = new AbsoluteDate("2020-01-01T00:00:00.000", GtmConstants.UTC);
final GtmGeoPropagator geo = new GtmGeoPropagator();
...
// GtmSingleTle data
final GtmSingleTle data = new GtmSingleTle(date, geo.getAmountOfPoints());
- one with all the needed data. The example below is fully equivalent to the one above.
final GtmSingleTle data = new GtmSingleTle(date, geo.getAmountOfPoints(), 1.0, false, false, GtmBuildingMethods.DIFFERENTIAL, 30);
These data corresponds to the ones described here when using the GUI.
Best single TLE
In that case, we will use a GtmBestTle object.
- one with the minimum data to give (the other ones will be set to default values) :
// GtmBestTle data
final GtmBestTle data = new GtmBestTle(date, geo.getAmountOfPoints(), geo.getAmountOfPoints());
- one with all the needed data. The example below is fully equivalent to the one above.
final GtmBestTle data = new GtmBestTle(date, geo.getAmountOfPoints(), geo.getAmountOfPoints(), 1.0, false, false, GtmBuildingMethods.DIFFERENTIAL, 30);
These data corresponds to the ones described here when using the GUI.
Best dated TLEs
Fist of all, we will have to initialize a list of dates that will be used to compute TLEs at these ones. In the example below, we will add the initial date as the first one then two other dates corresponding to one and two orbital periods later.
// GtmBestTlesDates data
final ArrayList<AbsoluteDate> listOfDates = new ArrayList<AbsoluteDate>();
// First TLE at the initial date
listOfDates.add(date);
// next TLEs 1 and 2 period after
// Warning : dates do not correspond exactly with output steps !
final double period = geo.getIniOrbit().getKeplerianPeriod();
listOfDates.add(date.shiftedBy(period));
listOfDates.add(date.shiftedBy(2.*period));
At last, we will use a GtmBestTlesDates object.
- one with the minimum data to give (the other ones will be set to default values) :
final double minDuration = 0.5*period;
final int nbMax = 99;
final GtmBestTlesDates data = new GtmBestTlesDates(listOfDates, minDuration, nbMax);
- one with all the needed data. The example below is fully equivalent to the one above.
final GtmBestTlesDates data = new GtmBestTlesDates(listOfDates, minDuration, nbMax, 1.0, false, false, GtmBuildingMethods.DIFFERENTIAL, 30);
These data corresponds to the ones described here when using the GUI.
Best periodic TLEs
TBW ...