From d20dc4df2ab191c19394a38a5a3091cce9007a4f Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Mon, 21 Sep 2020 23:06:26 +0300 Subject: Start refactoring functions --- iss.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/iss.py b/iss.py index 3678f7a..fa4aeff 100644 --- a/iss.py +++ b/iss.py @@ -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) -- cgit v1.3.1