Satellite pass prediction over a ground station.
Finds time windows when a satellite is above the local horizon (or a minimum elevation threshold) as seen from a ground station. The pass-search orchestration and coordinate math live in the Rust core; this module keeps the public Orbis API shape.
Summary
Functions
Predict visible passes of a satellite over a ground station.
Types
@type pass() :: %{ rise: DateTime.t(), set: DateTime.t(), max_elevation: float(), max_elevation_time: DateTime.t(), duration_seconds: float() }
Functions
@spec predict( Orbis.Elements.t(), ground_station(), DateTime.t(), DateTime.t(), keyword() ) :: [pass()]
Predict visible passes of a satellite over a ground station.
Parameters
tle— parsed%Orbis.Elements{}structground_station—%{latitude: deg, longitude: deg, altitude_m: m}start_time—DateTime.t()beginning of the search windowend_time—DateTime.t()end of the search windowopts— keyword list:min_elevation— minimum peak elevation in degrees to keep a pass (default0.0):step_seconds— coarse propagation step in seconds (default60)
Returns
A list of pass maps sorted by rise time:
[%{
rise: DateTime.t(),
set: DateTime.t(),
max_elevation: float(), # degrees
max_elevation_time: DateTime.t(),
duration_seconds: float()
}]