|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.orekit.propagation.analytical.tle.AbstractTLEFitter
public abstract class AbstractTLEFitter
Abstract class for TLE/Orbit fitting.
Two-Line Elements are tightly linked to the SGP4/SDP4 propagation models. They cannot be used with other models and do not represent osculating orbits. When conversion is needed, the model must be considered and conversion must be done by some fitting method on a sufficient time range.
This base class factor the common code for such conversions. Different implementations correspond to different fitting algorithms.
Constructor Summary | |
---|---|
protected |
AbstractTLEFitter(int satelliteNumber,
char classification,
int launchYear,
int launchNumber,
String launchPiece,
int elementNumber,
int revolutionNumberAtEpoch)
Simple constructor. |
Method Summary | |
---|---|
protected abstract double[] |
fit(double[] initial)
Find the TLE elements that minimize the mean square error for a sample of states . |
protected double |
getPositionTolerance()
Get the desired position tolerance. |
protected DifferentiableMultivariateVectorFunction |
getPVFunction()
Get the function computing position/velocity at sample points. |
protected double[] |
getResiduals(double[] parameters)
Get the residuals for a given position/velocity/B* parameters set. |
double |
getRMS()
Get Root Mean Square of the fitting. |
protected double |
getRMS(double[] parameters)
Get the RMS for a given position/velocity/B* parameters set. |
protected double[] |
getTarget()
Get the position/velocity target at sample points. |
TLE |
getTLE()
Get the fitted Two-Lines Elements. |
protected TLE |
getTLE(double[] parameters)
Get the TLE for a given position/velocity/B* parameters set. |
protected double[] |
getWeight()
Get the weights for residuals. |
TLE |
toTLE(List<SpacecraftState> states,
double positionTolerance,
boolean positionOnly,
boolean withBStar)
Find the TLE elements that minimize the mean square error for a sample of states . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected AbstractTLEFitter(int satelliteNumber, char classification, int launchYear, int launchNumber, String launchPiece, int elementNumber, int revolutionNumberAtEpoch)
satelliteNumber
- satellite numberclassification
- classification (U for unclassified)launchYear
- launch year (all digits)launchNumber
- launch numberlaunchPiece
- launch pieceelementNumber
- element numberrevolutionNumberAtEpoch
- revolution number at epochMethod Detail |
---|
public TLE toTLE(List<SpacecraftState> states, double positionTolerance, boolean positionOnly, boolean withBStar) throws OrekitException, MaxCountExceededException
states
.
states
- spacecraft states sample to fitpositionTolerance
- desired position tolerancepositionOnly
- if true, consider only position data otherwise both position and
velocity are usedwithBStar
- if true, the B* coefficient must be evaluated too, otherwise
it will be forced to 0
OrekitException
- if TLE cannot be computed
MaxCountExceededException
- if maximal number of iterations is exceededgetTLE()
,
getRMS()
public TLE getTLE()
toTLE(List, double, boolean, boolean)
public double getRMS()
toTLE(List, double, boolean, boolean)
protected abstract double[] fit(double[] initial) throws OrekitException, MaxCountExceededException
states
.
initial
- initial estimation parameters (position, velocity and B* if estimated)
OrekitException
- if TLE cannot be computed
MaxCountExceededException
- if maximal number of iterations is exceededprotected TLE getTLE(double[] parameters)
parameters
- position/velocity/B* parameters set
protected double[] getTarget()
protected double[] getWeight()
protected double[] getResiduals(double[] parameters) throws OrekitException
parameters
- position/velocity/B* parameters set
OrekitException
- if position/velocity cannot be computed at some dategetRMS(double[])
protected double getRMS(double[] parameters) throws OrekitException
parameters
- position/velocity/B* parameters set
OrekitException
- if position/velocity cannot be computed at some dategetResiduals(double[])
protected DifferentiableMultivariateVectorFunction getPVFunction()
protected double getPositionTolerance()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |