ostk.astrodynamics.trajectory.Orbit¶
- class Orbit(*args, **kwargs)¶
Bases:
Trajectory
Gravitationally curved trajectory of an object.
Overloaded function.
__init__(self: ostk.astrodynamics.trajectory.Orbit, model: ostk::astrodynamics::trajectory::orbit::Model, celestial_object: ostk.physics.environment.object.Celestial) -> None
Constructs an Orbit object.
- Args:
model (orbit.Model): The orbit model. celestial_object (Celestial): The celestial object.
__init__(self: ostk.astrodynamics.trajectory.Orbit, states: list[ostk.astrodynamics.trajectory.State], initial_revolution_number: ostk.core.type.Integer, celestial_object: ostk.physics.environment.object.Celestial) -> None
Constructs an Orbit object.
- Args:
states (Array<State>): The states. initial_revolution_number (Integer): The initial revolution number. celestial_object (Celestial): The celestial object.
Methods
Access the celestial object.
Access the Kepler orbit model.
Access the orbit model.
Access the propagated orbit model.
Access the SGP4 orbit model.
Access the tabulated orbit model.
Create a circular Orbit object.
Create a circular equatorial Orbit object.
Compute passes from a set of states.
Compute passes with the given model for the provided interval.
Create an equatorial Orbit object.
Create a frozen Orbit object.
Create a geosynchronous Orbit object.
Get the orbital frame.
Get the pass at a given instant.
Get the pass with a given revolution number.
Get the passes within a given interval.
Get the revolution number at a given instant.
Get the state of the trajectory at a given instant.
Get the states of the trajectory at a given set of instants.
Overloaded function.
Create a Trajectory object representing a ground strip that follows the geodetic nadir of the provided orbit.
Check if the Orbit object is defined.
Create a Trajectory object representing a position.
Create a sun-synchronous Orbit object.
Get an undefined Orbit object.
- class FrameType(self: ostk.astrodynamics.trajectory.Orbit.FrameType, value: int)¶
Bases:
pybind11_object
The local orbital frame type.
Members:
Undefined : Undefined
NED : North-East-Down
LVLH : Local Vertical-Local Horizontal
LVLHGD : Local Vertical-Local Horizontal GeoDetic
LVLHGDGT : Local Vertical-Local Horizontal GeoDetic Ground Track
VVLH : Vertical-Local Horizontal
QSW : Quasi-Satellite West
TNW : Tangent-Normal-Wideband
VNC : Velocity-Normal-Conormal
- property name¶
- access_celestial_object( ) ostk.physics.environment.object.Celestial ¶
Access the celestial object.
- Returns:
The celestial object.
- Return type:
Celestial
- access_kepler_model( ) ostk::astrodynamics::trajectory::orbit::model::Kepler ¶
Access the Kepler orbit model.
- Returns:
The Kepler orbit model.
- Return type:
- access_model( ) ostk::astrodynamics::trajectory::Model ¶
Access the orbit model.
- Returns:
The orbit model.
- Return type:
orbit.Model
- access_propagated_model( ) ostk::astrodynamics::trajectory::orbit::model::Propagated ¶
Access the propagated orbit model.
- Returns:
The propagated orbit model.
- Return type:
- access_sgp4_model( ) ostk::astrodynamics::trajectory::orbit::model::SGP4 ¶
Access the SGP4 orbit model.
- Returns:
The SGP4 orbit model.
- Return type:
- access_tabulated_model( ) ostk::astrodynamics::trajectory::orbit::model::Tabulated ¶
Access the tabulated orbit model.
- Returns:
The tabulated orbit model.
- Return type:
- static circular(
- epoch: ostk.physics.time.Instant,
- altitude: ostk.physics.unit.Length,
- inclination: ostk.physics.unit.Angle,
- celestial_object: ostk.physics.environment.object.Celestial,
- altitude: ostk.physics.unit.Length,
Create a circular Orbit object.
- Parameters:
epoch (Instant) -- The epoch.
altitude (Length) -- The altitude (wrt. equatorial radius).
inclination (Angle) -- The inclination.
celestial_object (Celestial) -- The celestial object.
- Returns:
The circular Orbit object.
- Return type:
- static circular_equatorial(
- epoch: ostk.physics.time.Instant,
- altitude: ostk.physics.unit.Length,
- celestial_object: ostk.physics.environment.object.Celestial,
- altitude: ostk.physics.unit.Length,
Create a circular equatorial Orbit object.
- Parameters:
epoch (Instant) -- The epoch.
altitude (Length) -- The altitude (wrt. equatorial radius).
celestial_object (Celestial) -- The celestial object.
- Returns:
The circular equatorial Orbit object.
- Return type:
- static compute_passes(
- states: list[ostk.astrodynamics.trajectory.State],
- initial_revolution_number: ostk.core.type.Integer,
Compute passes from a set of states.
- static compute_passes_with_model(
- model: ostk::astrodynamics::trajectory::orbit::Model,
- start_instant: ostk.physics.time.Instant,
- end_instant: ostk.physics.time.Instant,
- initial_revolution_number: ostk.core.type.Integer,
- start_instant: ostk.physics.time.Instant,
Compute passes with the given model for the provided interval.
- static equatorial(
- epoch: ostk.physics.time.Instant,
- apoapsis_altitude: ostk.physics.unit.Length,
- periapsis_altitude: ostk.physics.unit.Length,
- celestial_object: ostk.physics.environment.object.Celestial,
- apoapsis_altitude: ostk.physics.unit.Length,
Create an equatorial Orbit object.
- Parameters:
epoch (Instant) -- The epoch.
apoapsis_altitude (Length) -- The apoapsis altitude (wrt. equatorial radius).
periapsis_altitude (Length) -- The periapsis altitude (wrt. equatorial radius).
celestial_object (Celestial) -- The celestial object.
- Returns:
The equatorial Orbit object.
- Return type:
- static frozen(
- epoch: ostk.physics.time.Instant,
- altitude: ostk.physics.unit.Length,
- celestial_object: ostk.physics.environment.object.Celestial,
- eccentricity: ostk.core.type.Real = Real.undefined(),
- inclination: ostk.physics.unit.Angle = Angle.undefined(),
- raan: ostk.physics.unit.Angle = Angle.degrees(0.0),
- aop: ostk.physics.unit.Angle = Angle.undefined(),
- true_anomaly: ostk.physics.unit.Angle = Angle.degrees(0.0),
- altitude: ostk.physics.unit.Length,
Create a frozen Orbit object.
The critical angles for inclination are 63.4349 degrees and 116.5651 degrees. The critical angles for AoP are 90.0 degrees and 270.0 degrees.
At a minimum, an epoch, altitude, and celestial body with a defined J2 and J3 must be provided. In this case, the inclination and AoP are set to critical angles, and the eccentricity is derived from inclination. RAAN and true anomaly default to zero degrees.
Additionally, the following combinations of inputs are supported: - AoP (inclination set to critical value, eccentricity derived) - AoP and eccentricity (inclination derived) - AoP and inclination, but at least one of them must be a critical value (eccentricity derived) - Inclination (AoP set to critical value, eccentricity derived) - Eccentricity (AoP set to critical value, inclination derived)
Note that inclination and eccentricity cannot both be provided.
RAAN and True Anomaly may be provided alongside any of these arguments, and will be passed through to the resulting Orbit as they do not impact the frozen orbit condition.
- Parameters:
epoch (Instant) -- The epoch.
altitude (Length) -- The altitude (wrt. equatorial radius).
celestial_object (Celestial) -- The celestial object.
eccentricity (float) -- The eccentricity.
inclination (Angle) -- The inclination.
raan (Angle) -- The right ascension of the ascending node.
aop (Angle) -- The argument of periapsis.
true_anomaly (Angle) -- The true anomaly.
- Returns:
The frozen Orbit object.
- Return type:
- static geo_synchronous(
- epoch: ostk.physics.time.Instant,
- inclination: ostk.physics.unit.Angle,
- longitude: ostk.physics.unit.Angle,
- celestial_object: ostk.physics.environment.object.Celestial,
- inclination: ostk.physics.unit.Angle,
Create a geosynchronous Orbit object.
- Parameters:
epoch (Instant) -- The epoch.
inclination (Angle) -- The inclination.
longitude (double) -- The longitude.
celestial_object (Celestial) -- The celestial object.
- Returns:
The geosynchronous Orbit object.
- Return type:
- get_orbital_frame(
- self: ostk.astrodynamics.trajectory.Orbit,
- frame_type: ostk.astrodynamics.trajectory.Orbit.FrameType,
Get the orbital frame.
- Parameters:
frame_type (Orbit::FrameType) -- The frame type.
- Returns:
The orbital frame.
- Return type:
Frame
- get_pass_at(
- self: ostk.astrodynamics.trajectory.Orbit,
- instant: ostk.physics.time.Instant,
Get the pass at a given instant.
- Parameters:
instant (Instant) -- The instant.
- Returns:
The pass.
- Return type:
ostk::astrodynamics::trajectory::orbit::Pass
- get_pass_with_revolution_number(
- self: ostk.astrodynamics.trajectory.Orbit,
- revolution_number: ostk.core.type.Integer,
- step_duration: ostk.physics.time.Duration = Duration.minutes(10.0),
- revolution_number: ostk.core.type.Integer,
Get the pass with a given revolution number.
- get_passes_within_interval(
- self: ostk.astrodynamics.trajectory.Orbit,
- interval: ostk.physics.time.Interval,
Get the passes within a given interval.
- get_revolution_number_at(
- self: ostk.astrodynamics.trajectory.Orbit,
- instant: ostk.physics.time.Instant,
Get the revolution number at a given instant.
- Parameters:
instant (Instant) -- The instant.
- Returns:
The revolution number.
- Return type:
- get_state_at(
- self: ostk.astrodynamics.Trajectory,
- instant: ostk.physics.time.Instant,
Get the state of the trajectory at a given instant.
- Parameters:
instant (Instant) -- The instant.
- Returns:
The state of the trajectory at the given instant.
- Return type:
- get_states_at(
- self: ostk.astrodynamics.Trajectory,
- instants: list[ostk.physics.time.Instant],
Get the states of the trajectory at a given set of instants. It can be more performant than looping calculate_state_at for multiple instants.
- static ground_strip(*args, **kwargs)¶
Overloaded function.
ground_strip(start_lla: ostk.physics.coordinate.spherical.LLA, end_lla: ostk.physics.coordinate.spherical.LLA, ground_speed: ostk.physics.unit.Derived, start_instant: ostk.physics.time.Instant, celestial_object: ostk.physics.environment.object.Celestial = Earth.WGS84(), step_size: ostk.physics.time.Duration = Duration.Seconds(1.0)) -> ostk.astrodynamics.Trajectory
Create a Trajectory object representing a ground strip. Computes the duration as the geodetic distance / ground speed. Instants are generated at a 1 second interval.
- Args:
start_lla (LLA): The start LLA. end_lla (LLA): The end LLA. ground_speed (Derived): The ground speed. start_instant (Instant): The start instant. celestial_object (Celestial): The celestial object. Defaults to Earth.WGS84(). step_size (Duration): The step size. Defaults to 1 second.
- Returns:
Trajectory: The Trajectory object representing the ground strip.
ground_strip(start_lla: ostk.physics.coordinate.spherical.LLA, end_lla: ostk.physics.coordinate.spherical.LLA, instants: list[ostk.physics.time.Instant], celestial_object: ostk.physics.environment.object.Celestial = Earth.WGS84()) -> ostk.astrodynamics.Trajectory
Create a Trajectory object representing a ground strip. This method computes the duration as the geodetic distance / ground speed.
- Args:
start_lla (LLA): The start LLA. end_lla (LLA): The end LLA. instants (list[Instant]): The instants. celestial_object (Celestial): The celestial object. Defaults to Earth.WGS84().
- Returns:
Trajectory: The Trajectory object representing the ground strip.
- static ground_strip_geodetic_nadir(orbit: ostk::astrodynamics::trajectory::Orbit, instants: list[ostk.physics.time.Instant], celestial_object: ostk.physics.environment.object.Celestial = Earth.WGS84()) ostk.astrodynamics.Trajectory ¶
Create a Trajectory object representing a ground strip that follows the geodetic nadir of the provided orbit.
- Parameters:
- Returns:
The Trajectory object representing the ground strip.
- Return type:
- is_defined(self: ostk.astrodynamics.trajectory.Orbit) bool ¶
Check if the Orbit object is defined.
- Returns:
True if the Orbit object is defined, False otherwise.
- Return type:
- static position(
- position: ostk.physics.coordinate.Position,
Create a Trajectory object representing a position.
- Parameters:
position (Position) -- The position. Must be in the ITRF frame.
- Returns:
The Trajectory object representing the position.
- Return type:
- static sun_synchronous(
- epoch: ostk.physics.time.Instant,
- altitude: ostk.physics.unit.Length,
- local_time_at_descending_node: ostk.physics.time.Time,
- celestial_object: ostk.physics.environment.object.Celestial,
- argument_of_latitude: ostk.physics.unit.Angle = Angle.zero(),
- altitude: ostk.physics.unit.Length,
Create a sun-synchronous Orbit object.
- Parameters:
epoch (Instant) -- The epoch.
altitude (Length) -- The altitude (wrt. equatorial radius).
local_time_at_descending_node (Time) -- The local time at descending node.
celestial_object (Celestial) -- The celestial object.
argument_of_latitude (Angle) -- The argument of latitude.
- Returns:
The sun-synchronous Orbit object.
- Return type:
- static undefined() ostk.astrodynamics.trajectory.Orbit ¶
Get an undefined Orbit object.
- Returns:
The undefined Orbit object.
- Return type: