summaryrefslogtreecommitdiff
path: root/iss.py
blob: fa4aeffa293ee33af95b0b149f79c56b6f711da0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from skyfield.api import Topos, load

TEL_AVIV = Topos('32.0853 N', '34.7817 E')
ISS = "ISS (ZARYA)"

def init_stations():
    stations_url = 'http://celestrak.com/NORAD/elements/stations.txt'
    return load.tle_file(stations_url)

def get_predictions(location=TEL_AVIV, satellite_name=ISS):
    satellites = init_stations()
    by_name = {sat.name: sat for sat in satellites}
    satellite = by_name[satellite_name]

    ts = load.timescale()
    t0 = ts.now()
    t1 = ts.utc(2020, 9, 30)

    t, events = satellite.find_events(location, t0, t1, altitude_degrees=60.0)
    for ti, event in zip(t, events):
        name = ('rise above 30°', 'culminate', 'set below 30°')[event]
        print(ti)
        print(ti.utc_strftime('%Y %b %d %H:%M:%S'), name)