summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2020-09-24 23:34:59 +0300
committerYuval Adam <_@yuv.al>2020-09-24 23:34:59 +0300
commit3ad1589a4c01d00af761a53eafbd3010ce168fb3 (patch)
treea8b999989879bab5886c1aec80453476c547b632
parentfcb862b5f56094504746ca75820f19d978ea08dc (diff)
Finalize prediction data structure
-rw-r--r--iss/predictions.py21
-rw-r--r--iss/tests/test_predictions.py6
2 files changed, 18 insertions, 9 deletions
diff --git a/iss/predictions.py b/iss/predictions.py
index 37bf49e..f569f7d 100644
--- a/iss/predictions.py
+++ b/iss/predictions.py
@@ -47,16 +47,23 @@ class Predictions(object):
t1 = ts.ut1_jd(t0.ut1 + self.days)
return t0, t1
- def get_prediction_details(self, rise, culminate, zet):
+ def get_position_details(self, t):
+ difference = self.satellite - self.location
+ topocentric = difference.at(t)
+ alt, az, distance = topocentric.altaz()
return {
- "rise": {"iso": rise.utc_iso(), "ut1": rise.ut1},
- "culminate": {"iso": culminate.utc_iso(), "ut1": culminate.ut1},
- "set": {"iso": zet.utc_iso(), "ut1": zet.ut1},
+ "time": t.utc_iso(),
+ "degrees": int(alt.degrees),
+ "azimuth": int(az.degrees),
+ "distance": int(distance.km),
}
- def get_position_details(self, satellite, t):
- geocentric = satellite.at(t)
- return {"distance": geocentric.position.km}
+ def get_prediction_details(self, rise, culminate, zet):
+ return {
+ "rise": self.get_position_details(rise),
+ "culminate": self.get_position_details(culminate),
+ "set": self.get_position_details(zet),
+ }
def get_prediction_events(self):
t0, t1 = self.get_next_days()
diff --git a/iss/tests/test_predictions.py b/iss/tests/test_predictions.py
index a88674d..9dd5f2b 100644
--- a/iss/tests/test_predictions.py
+++ b/iss/tests/test_predictions.py
@@ -61,5 +61,7 @@ def test_get_predictions():
)
preds = p.get_predictions()
assert len(preds) == 16
- assert preds[0]["culminate"]["ut1"] == 2459117.39787489
- assert preds[0]["rise"]["iso"] == "2020-09-24T21:31:31Z"
+ assert preds[0]["rise"]["time"] == "2020-09-24T21:31:31Z"
+ assert preds[0]["rise"]["azimuth"] == 332
+ assert preds[0]["culminate"]["degrees"] == 61
+ assert preds[0]["set"]["distance"] == 779