org.orekit.orbits

## Enum OrbitType

• ### Field Summary

Fields
Modifier and Type Field and Description
static String A
Name for semi major axis.
static String E_X
Name for eccentricity vector first component.
static String E_Y
Name for eccentricity vector second component.
static String ECC
Name for eccentricity.
static String ECC_ANOM
Name for eccentric anomaly.
static String ECC_LAT_ARG
Name for eccentric argument of latitude.
static String ECC_LON_ARG
Name for eccentric argument of longitude.
static String H_X
Name for inclination vector first component.
static String H_Y
Name for inclination vector second component .
static String INC
Name for inclination.
static String MEAN_ANOM
Name for mean anomaly.
static String MEAN_LAT_ARG
Name for mean argument of latitude.
static String MEAN_LON_ARG
Name for mean argument of longitude.
static String PA
Name for perigee argument.
static String POS_X
Name for position along X.
static String POS_Y
Name for position along Y.
static String POS_Z
Name for position along Z.
static String RAAN
Name for right ascension of ascending node.
static String TRUE_ANOM
Name for mean anomaly.
static String TRUE_LAT_ARG
Name for mean argument of latitude.
static String TRUE_LON_ARG
Name for mean argument of longitude.
static String VEL_X
Name for velocity along X.
static String VEL_Y
Name for velocity along Y.
static String VEL_Z
Name for velocity along Z.
• ### Method Summary

All Methods
Modifier and Type Method and Description
abstract <T extends CalculusFieldElement<T>>FieldOrbit<T> convertType(FieldOrbit<T> orbit)
Convert an orbit to the instance type.
abstract Orbit convertType(Orbit orbit)
Convert an orbit to the instance type.
abstract ParameterDriversList getDrivers(double dP, Orbit orbit, PositionAngle type)
Get parameters drivers initialized from a reference orbit.
abstract Orbit mapArrayToOrbit(double[] array, double[] arrayDot, PositionAngle type, AbsoluteDate date, double mu, Frame frame)
Convert state array to orbital parameters.
abstract <T extends CalculusFieldElement<T>>FieldOrbit<T> mapArrayToOrbit(T[] array, T[] arrayDot, PositionAngle type, FieldAbsoluteDate<T> date, T mu, Frame frame)
Convert state array to orbital parameters.
abstract <T extends CalculusFieldElement<T>>void mapOrbitToArray(FieldOrbit<T> orbit, PositionAngle type, T[] stateVector, T[] stateVectorDot)
Convert orbit to state array.
abstract void mapOrbitToArray(Orbit orbit, PositionAngle type, double[] stateVector, double[] stateVectorDot)
Convert orbit to state array.
abstract <T extends CalculusFieldElement<T>>FieldOrbit<T> normalize(FieldOrbit<T> orbit, FieldOrbit<T> reference)
Normalize one orbit with respect to a reference one.
abstract Orbit normalize(Orbit orbit, Orbit reference)
Normalize one orbit with respect to a reference one.
protected double[] scale(double dP, Orbit orbit)
Compute scaling factor for parameters drivers.
static OrbitType valueOf(String name)
Returns the enum constant of this type with the specified name.
static OrbitType[] values()
Returns an array containing the constants of this enum type, in the order they are declared.
• ### Methods inherited from class java.lang.Enum

clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
• ### Methods inherited from class java.lang.Object

getClass, notify, notifyAll, wait, wait, wait
• ### Field Detail

• #### POS_X

public static final String POS_X
Name for position along X.
Constant Field Values
• #### POS_Y

public static final String POS_Y
Name for position along Y.
Constant Field Values
• #### POS_Z

public static final String POS_Z
Name for position along Z.
Constant Field Values
• #### VEL_X

public static final String VEL_X
Name for velocity along X.
Constant Field Values
• #### VEL_Y

public static final String VEL_Y
Name for velocity along Y.
Constant Field Values
• #### VEL_Z

public static final String VEL_Z
Name for velocity along Z.
Constant Field Values
• #### A

public static final String A
Name for semi major axis.
Constant Field Values
• #### ECC

public static final String ECC
Name for eccentricity.
Constant Field Values
• #### E_X

public static final String E_X
Name for eccentricity vector first component.
Constant Field Values
• #### E_Y

public static final String E_Y
Name for eccentricity vector second component.
Constant Field Values
• #### INC

public static final String INC
Name for inclination.
Constant Field Values
• #### H_X

public static final String H_X
Name for inclination vector first component.
Constant Field Values
• #### H_Y

public static final String H_Y
Name for inclination vector second component .
Constant Field Values
• #### PA

public static final String PA
Name for perigee argument.
Constant Field Values
• #### RAAN

public static final String RAAN
Name for right ascension of ascending node.
Constant Field Values
• #### MEAN_ANOM

public static final String MEAN_ANOM
Name for mean anomaly.
Constant Field Values
• #### ECC_ANOM

public static final String ECC_ANOM
Name for eccentric anomaly.
Constant Field Values
• #### TRUE_ANOM

public static final String TRUE_ANOM
Name for mean anomaly.
Constant Field Values
• #### MEAN_LAT_ARG

public static final String MEAN_LAT_ARG
Name for mean argument of latitude.
Constant Field Values
• #### ECC_LAT_ARG

public static final String ECC_LAT_ARG
Name for eccentric argument of latitude.
Constant Field Values
• #### TRUE_LAT_ARG

public static final String TRUE_LAT_ARG
Name for mean argument of latitude.
Constant Field Values
• #### MEAN_LON_ARG

public static final String MEAN_LON_ARG
Name for mean argument of longitude.
Constant Field Values
• #### ECC_LON_ARG

public static final String ECC_LON_ARG
Name for eccentric argument of longitude.
Constant Field Values
• #### TRUE_LON_ARG

public static final String TRUE_LON_ARG
Name for mean argument of longitude.
Constant Field Values
• ### Method Detail

• #### values

public static OrbitType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (OrbitType c : OrbitType.values())
System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared
• #### valueOf

public static OrbitType valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null
• #### convertType

public abstract Orbit convertType(Orbit orbit)
Convert an orbit to the instance type.

The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created

Parameters:
orbit - orbit to convert
Returns:
converted orbit with type guaranteed to match (so it can be cast safely)
• #### mapOrbitToArray

public abstract void mapOrbitToArray(Orbit orbit,
PositionAngle type,
double[] stateVector,
double[] stateVectorDot)
Convert orbit to state array.

Note that all implementations of this method must be consistent with the implementation of the Orbit.getJacobianWrtCartesian method for the corresponding orbit type in terms of parameters order and meaning.

Parameters:
orbit - orbit to map
type - type of the angle
stateVector - flat array into which the state vector should be mapped (it can have more than 6 elements, extra elements are untouched)
stateVectorDot - flat array into which the state vector derivative should be mapped (it can be null if derivatives are not desired, and it can have more than 6 elements, extra elements are untouched)
• #### mapArrayToOrbit

public abstract Orbit mapArrayToOrbit(double[] array,
double[] arrayDot,
PositionAngle type,
AbsoluteDate date,
double mu,
Frame frame)
Convert state array to orbital parameters.

Note that all implementations of this method must be consistent with the implementation of the Orbit.getJacobianWrtCartesian method for the corresponding orbit type in terms of parameters order and meaning.

Parameters:
array - state as a flat array (it can have more than 6 elements, extra elements are ignored)
arrayDot - state derivative as a flat array (it can be null, in which case Keplerian motion is assumed, and it can have more than 6 elements, extra elements are ignored)
type - type of the angle
date - integration date
mu - central attraction coefficient used for propagation (m³/s²)
frame - frame in which integration is performed
Returns:
orbit corresponding to the flat array as a space dynamics object
• #### convertType

public abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> convertType(FieldOrbit<T> orbit)
Convert an orbit to the instance type.

The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created

Type Parameters:
T - CalculusFieldElement used
Parameters:
orbit - orbit to convert
Returns:
converted orbit with type guaranteed to match (so it can be cast safely)
• #### mapOrbitToArray

public abstract <T extends CalculusFieldElement<T>> void mapOrbitToArray(FieldOrbit<T> orbit,
PositionAngle type,
T[] stateVector,
T[] stateVectorDot)
Convert orbit to state array.

Note that all implementations of this method must be consistent with the implementation of the Orbit.getJacobianWrtCartesian method for the corresponding orbit type in terms of parameters order and meaning.

Type Parameters:
T - CalculusFieldElement used
Parameters:
orbit - orbit to map
type - type of the angle
stateVector - flat array into which the state vector should be mapped (it can have more than 6 elements, extra elements are untouched)
stateVectorDot - flat array into which the state vector derivative should be mapped (it can be null if derivatives are not desired, and it can have more than 6 elements, extra elements are untouched)
• #### mapArrayToOrbit

public abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> mapArrayToOrbit(T[] array,
T[] arrayDot,
PositionAngle type,
FieldAbsoluteDate<T> date,
T mu,
Frame frame)
Convert state array to orbital parameters.

Note that all implementations of this method must be consistent with the implementation of the Orbit.getJacobianWrtCartesian method for the corresponding orbit type in terms of parameters order and meaning.

Type Parameters:
T - CalculusFieldElement used
Parameters:
array - state as a flat array (it can have more than 6 elements, extra elements are ignored)
arrayDot - state derivative as a flat array (it can be null, in which case Keplerian motion is assumed,
type - type of the angle
date - integration date
mu - central attraction coefficient used for propagation (m³/s²)
frame - frame in which integration is performed
Returns:
orbit corresponding to the flat array as a space dynamics object
• #### getDrivers

public abstract ParameterDriversList getDrivers(double dP,
Orbit orbit,
PositionAngle type)
Get parameters drivers initialized from a reference orbit.
Parameters:
dP - user specified position error
orbit - reference orbit
type - type of the angle
Returns:
parameters drivers initialized from reference orbit
• #### normalize

public abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> normalize(FieldOrbit<T> orbit,
FieldOrbit<T> reference)
Normalize one orbit with respect to a reference one.

Given a, angular component ζ of an orbit and the corresponding angular component ζᵣ in the reference orbit, the angular component ζₙ of the normalized orbit will be ζₙ = ζ + 2kπ where k is chosen such that ζᵣ - π ≤ ζₙ ≤ ζᵣ + π. This is intended to avoid too large discontinuities and is particularly useful for normalizing the orbit after an impulsive maneuver with respect to the reference picked up before the maneuver.

Type Parameters:
T - CalculusFieldElement used
Parameters:
orbit - orbit to normalize
reference - reference orbit
Returns:
normalized orbit (the type is guaranteed to match OrbitType)
Since:
11.1
• #### normalize

public abstract Orbit normalize(Orbit orbit,
Orbit reference)
Normalize one orbit with respect to a reference one.

Given a, angular component ζ of an orbit and the corresponding angular component ζᵣ in the reference orbit, the angular component ζₙ of the normalized orbit will be ζₙ = ζ + 2kπ where k is chosen such that ζᵣ - π ≤ ζₙ ≤ ζᵣ + π. This is intended to avoid too large discontinuities and is particularly useful for normalizing the orbit after an impulsive maneuver with respect to the reference picked up before the maneuver.

Parameters:
orbit - orbit to normalize
reference - reference orbit
Returns:
normalized orbit (the type is guaranteed to match OrbitType)
Since:
11.1
• #### scale

protected double[] scale(double dP,
Orbit orbit)
Compute scaling factor for parameters drivers.

The scales are estimated from partial derivatives properties of orbits, starting from a scalar position error specified by the user. Considering the energy conservation equation V = sqrt(mu (2/r - 1/a)), we get at constant energy (i.e. on a Keplerian trajectory):

 V r² |dV| = mu |dr|


So we deduce a scalar velocity error consistent with the position error. From here, we apply orbits Jacobians matrices to get consistent scales on orbital parameters.

Parameters:
dP - user specified position error
orbit - reference orbit
Returns:
scaling factor array