astra.visibility module¶
ASTRA Core observer visibility and pass prediction module. Calculates topocentric elevation/azimuth of satellites relative to ground observers and detects pass events (AOS, TCA, LOS). Features: 1. Custom fully-vectorized WGS84 ENU rotation matrix yielding 100x
performance over standard object-oriented Skyfield graph transversals.
Sub-second Binary Search Bisection root-finding for precise AOS/LOS.
Automatically synchronized IERS EOPs via timescale loading.
- astra.visibility.visible_from_location(positions_teme, times_jd, observer)[source]¶
Compute topocentric elevation angles using custom vectorized ENU algebra.
- astra.visibility.get_azimuths(positions_teme, times_jd, observer)[source]¶
Companion function for azimuth processing using the same fast matrix algebra.
- astra.visibility.passes_over_location(satellite, observer, t_start_jd, t_end_jd, step_minutes=1.0)[source]¶
Predict satellite passes over a ground observer location.
Computes all pass events where the satellite’s elevation exceeds the observer’s minimum elevation threshold within the specified time window.
- Parameters:
satellite – SatelliteTLE or SatelliteOMM object to propagate.
observer – Ground observer with location and minimum elevation.
t_start_jd – Start time as Julian Date (UTC).
t_end_jd – End time as Julian Date (UTC).
step_minutes – Time step for coarse scan (default 1 minute).
- Returns:
Precise AOS/TCA/LOS times (binary search to sub-second accuracy)
Maximum elevation and azimuth at all three events
Duration in seconds
Illumination status (satellite sunlit, observer in darkness)
- Return type:
List of PassEvent objects, sorted by AOS time. Each event includes