Class IodGooding
- java.lang.Object
-
- org.orekit.estimation.iod.IodGooding
-
public class IodGooding extends Object
Gooding angles only Initial Orbit Determination (IOD) algorithm, assuming Keplerian motion.An orbit is determined from three lines of sight w.r.t. their respective observers inertial positions vectors. Gooding algorithm can handle multiple satellite's revolutions. Reference: Gooding, R.H., A New Procedure for Orbit Determination Based on Three Lines of Sight (Angles only), Technical Report 93004, April 1993
- Since:
- 8.0
- Author:
- Joris Olympio, Bryan Cazabonne
-
-
Constructor Summary
Constructors Constructor Description IodGooding(double mu)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Orbit
estimate(Frame outputFrame, Vector3D O1, Vector3D O2, Vector3D O3, Vector3D lineOfSight1, AbsoluteDate dateObs1, Vector3D lineOfSight2, AbsoluteDate dateObs2, Vector3D lineOfSight3, AbsoluteDate dateObs3, double rho1init, double rho3init)
Estimate orbit from three line of sight.Orbit
estimate(Frame outputFrame, Vector3D O1, Vector3D O2, Vector3D O3, Vector3D lineOfSight1, AbsoluteDate dateObs1, Vector3D lineOfSight2, AbsoluteDate dateObs2, Vector3D lineOfSight3, AbsoluteDate dateObs3, double rho1init, double rho3init, int nRev, boolean direction)
Estimate orbit from three line of sight.Orbit
estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3)
Estimate orbit from three angular (i.e., azimuth - elevation) observations.Orbit
estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3, double rho1init, double rho3init)
Estimate orbit from three angular observations.Orbit
estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3, double rho1init, double rho3init, int nRev, boolean direction)
Estimate orbit from three angular observations.Orbit
estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3, int nRev, boolean direction)
Estimate orbit from three angular (i.e., azimuth - elevation) observations.Orbit
estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3)
Estimate orbit from three angular (i.e., right ascension - declination) observations.Orbit
estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3, double rho1init, double rho3init)
Estimate orbit from three angular observations.Orbit
estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3, double rho1init, double rho3init, int nRev, boolean direction)
Estimate orbit from three angular observations.Orbit
estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3, int nRev, boolean direction)
Estimate orbit from three angular (i.e., right ascension - declination) observations.double
getRange1()
Get range for observation (1).double
getRange2()
Get range for observation (2).double
getRange3()
Get range for observation (3).
-
-
-
Method Detail
-
getRange1
public double getRange1()
Get range for observation (1).- Returns:
- the range for observation (1)
-
getRange2
public double getRange2()
Get range for observation (2).- Returns:
- the range for observation (2)
-
getRange3
public double getRange3()
Get range for observation (3).- Returns:
- the range for observation (3)
-
estimate
public Orbit estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3)
Estimate orbit from three angular (i.e., azimuth - elevation) observations.This method doesn't need initial guesses of range values since they are computed by a Gauss algorithm.
- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateazEl1
- first angular observationazEl2
- second angular observationazEl3
- third angular observation- Returns:
- an estimate of the orbit at the central date (i.e., date of the second angular observation)
- Since:
- 13.0
-
estimate
public Orbit estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3, int nRev, boolean direction)
Estimate orbit from three angular (i.e., azimuth - elevation) observations.This method doesn't need initial guesses of range values since they are computed by a Gauss algorithm.
- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateazEl1
- first angular observationazEl2
- second angular observationazEl3
- third angular observationnRev
- number of complete revolutions between observation 1 and 3direction
- true if posigrade (short way)- Returns:
- an estimate of the orbit at the central date (i.e., date of the second angular observation)
- Since:
- 13.0
-
estimate
public Orbit estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3, double rho1init, double rho3init)
Estimate orbit from three angular observations.This signature assumes there was less than an half revolution between start and final date
- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateazEl1
- first angular observationazEl2
- second angular observationazEl3
- third angular observationrho1init
- initial guess of the range problem. range 1, in metersrho3init
- initial guess of the range problem. range 3, in meters- Returns:
- an estimate of the Keplerian orbit at the central date (i.e., date of the second angular observation)
- Since:
- 12.0
-
estimate
public Orbit estimate(Frame outputFrame, AngularAzEl azEl1, AngularAzEl azEl2, AngularAzEl azEl3, double rho1init, double rho3init, int nRev, boolean direction)
Estimate orbit from three angular observations.- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateazEl1
- first angular observationazEl2
- second angular observationazEl3
- third angular observationrho1init
- initial guess of the range problem. range 1, in metersrho3init
- initial guess of the range problem. range 3, in metersnRev
- number of complete revolutions between observation 1 and 3direction
- true if posigrade (short way)- Returns:
- an estimate of the Keplerian orbit at the central date (i.e., date of the second angular observation)
- Since:
- 11.0
-
estimate
public Orbit estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3)
Estimate orbit from three angular (i.e., right ascension - declination) observations.This method doesn't need initial guesses of range values since they are computed by a Gauss algorithm.
- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateraDec1
- first angular observationraDec2
- second angular observationraDec3
- third angular observation- Returns:
- an estimate of the orbit at the central date (i.e., date of the second angular observation)
- Since:
- 13.0
-
estimate
public Orbit estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3, int nRev, boolean direction)
Estimate orbit from three angular (i.e., right ascension - declination) observations.This method doesn't need initial guesses of range values since they are computed by a Gauss algorithm.
- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateraDec1
- first angular observationraDec2
- second angular observationraDec3
- third angular observationnRev
- number of complete revolutions between observation 1 and 3direction
- true if posigrade (short way)- Returns:
- an estimate of the orbit at the central date (i.e., date of the second angular observation)
- Since:
- 13.0
-
estimate
public Orbit estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3, double rho1init, double rho3init)
Estimate orbit from three angular observations.This signature assumes there was less than an half revolution between start and final date
- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateraDec1
- first angular observationraDec2
- second angular observationraDec3
- third angular observationrho1init
- initial guess of the range problem. range 1, in metersrho3init
- initial guess of the range problem. range 3, in meters- Returns:
- an estimate of the Keplerian orbit at the central date (i.e., date of the second angular observation)
- Since:
- 11.0
-
estimate
public Orbit estimate(Frame outputFrame, AngularRaDec raDec1, AngularRaDec raDec2, AngularRaDec raDec3, double rho1init, double rho3init, int nRev, boolean direction)
Estimate orbit from three angular observations.- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateraDec1
- first angular observationraDec2
- second angular observationraDec3
- third angular observationrho1init
- initial guess of the range problem. range 1, in metersrho3init
- initial guess of the range problem. range 3, in metersnRev
- number of complete revolutions between observation 1 and 3direction
- true if posigrade (short way)- Returns:
- an estimate of the Keplerian orbit at the central date (i.e., date of the second angular observation)
- Since:
- 11.0
-
estimate
public Orbit estimate(Frame outputFrame, Vector3D O1, Vector3D O2, Vector3D O3, Vector3D lineOfSight1, AbsoluteDate dateObs1, Vector3D lineOfSight2, AbsoluteDate dateObs2, Vector3D lineOfSight3, AbsoluteDate dateObs3, double rho1init, double rho3init)
Estimate orbit from three line of sight.This signature assumes there was less than an half revolution between start and final date
- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateO1
- Observer position 1O2
- Observer position 2O3
- Observer position 3lineOfSight1
- line of sight 1dateObs1
- date of observation 1lineOfSight2
- line of sight 2dateObs2
- date of observation 1lineOfSight3
- line of sight 3dateObs3
- date of observation 1rho1init
- initial guess of the range problem. range 1, in metersrho3init
- initial guess of the range problem. range 3, in meters- Returns:
- an estimate of the Keplerian orbit at the central date (i.e., date of the second angular observation)
-
estimate
public Orbit estimate(Frame outputFrame, Vector3D O1, Vector3D O2, Vector3D O3, Vector3D lineOfSight1, AbsoluteDate dateObs1, Vector3D lineOfSight2, AbsoluteDate dateObs2, Vector3D lineOfSight3, AbsoluteDate dateObs3, double rho1init, double rho3init, int nRev, boolean direction)
Estimate orbit from three line of sight.- Parameters:
outputFrame
- inertial frame for observer coordinates and orbit estimateO1
- Observer position 1O2
- Observer position 2O3
- Observer position 3lineOfSight1
- line of sight 1dateObs1
- date of observation 1lineOfSight2
- line of sight 2dateObs2
- date of observation 2lineOfSight3
- line of sight 3dateObs3
- date of observation 3rho1init
- initial guess of the range problem. range 1, in metersrho3init
- initial guess of the range problem. range 3, in metersnRev
- number of complete revolutions between observation1 and 3direction
- true if posigrade (short way)- Returns:
- an estimate of the Keplerian orbit at the central date (i.e., date of the second angular observation)
-
-