SatelliteAnalysis.jl
High-level satellite mission analysis. Repo: JuliaSpace/SatelliteAnalysis.jl
Beta Angle & Eclipse
β = beta_angle(orb, Δjd; perturbation=:J2) # Beta angle [rad]
Frozen Orbit Design
(e, ω) = frozen_orbit(a, i; gravity_model=nothing, max_degree=53)
Sun-Synchronous Orbit Design
# From angular velocity
(a, i, converged) = sun_sync_orbit_from_angular_velocity(angvel, e)
# From inclination -> semi-major axis
(a, converged) = sun_sync_orbit_semi_major_axis(i, e)
# From semi-major axis -> inclination
(i, converged) = sun_sync_orbit_inclination(a, e)
Ground-Repeating Orbits
# Design table of Sun-sync ground-repeating orbits
df = design_sun_sync_ground_repeating_orbit(min_rep, max_rep; kwargs...)
# Adjacent track spacing
d = ground_repeating_orbit_adjacent_track_distance(a, e, i, orbit_cycle)
θ = ground_repeating_orbit_adjacent_track_angle(a, e, i, orbit_cycle)
Key Conventions
- Units: meters, radians, seconds (SI)
perturbationkeyword::J0,:J2,:J4- Newton-Raphson solvers return
(value, converged::Bool)tuples - DataFrames output with configurable display units via keywords
- GeoMakie plotting via package extension
- Re-exports SatelliteToolbox meta-package and DataFrames