diff options
Diffstat (limited to 'iss.py')
| -rw-r--r-- | iss.py | 32 |
1 files changed, 17 insertions, 15 deletions
@@ -1,21 +1,23 @@ from skyfield.api import Topos, load -stations_url = 'http://celestrak.com/NORAD/elements/stations.txt' -satellites = load.tle_file(stations_url) -print('Loaded', len(satellites), 'satellites') +TEL_AVIV = Topos('32.0853 N', '34.7817 E') +ISS = "ISS (ZARYA)" -by_name = {sat.name: sat for sat in satellites} -satellite = by_name['ISS (ZARYA)'] -print(satellite) +def init_stations(): + stations_url = 'http://celestrak.com/NORAD/elements/stations.txt' + return load.tle_file(stations_url) -tlv = Topos('32.0853 N', '34.7817 E') +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.utc(2020, 9, 20) -t1 = ts.utc(2020, 9, 30) + ts = load.timescale() + t0 = ts.now() + t1 = ts.utc(2020, 9, 30) -t, events = satellite.find_events(tlv, 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) + 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) |
