Created
February 5, 2018 11:56
-
-
Save lofaldli/2225839379ef47c32ed7688d86c94c84 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python3 | |
| import ephem | |
| from math import degrees | |
| from datetime import datetime | |
| class Observer(ephem.Observer): | |
| def __init__(self, name, lat, lon, elevation): | |
| super().__init__() | |
| self.name, self.lat, self.lon, self.elevation = ( | |
| name, str(lat), str(lon), elevation) | |
| def read_tle(lines): | |
| return ephem.readtle(*lines) | |
| def time_fmt(et): | |
| return datetime(*map(int, et.tuple())).strftime('%Y-%m-%d %H.%M.%S') | |
| obs = Observer('ESOC', 49.8542, 8.625, 135) | |
| # https://celestrak.com/NORAD/elements/stations.txt | |
| sat = read_tle('''\ | |
| SWISSCUBE | |
| 1 35932U 09051B 18035.40447406 .00000096 00000-0 32613-4 0 9997 | |
| 2 35932 98.5241 183.5296 0006635 254.5696 105.4768 14.56117004444118\ | |
| '''.split('\n')) | |
| n = 10 | |
| print('listing %d next passes of %s from %s (%.2fN %.2fE)' % ( | |
| n, sat.name.strip(), obs.name, degrees(obs.lat), degrees(obs.lon))) | |
| print('---------------------------------------------------------') | |
| print('AOS az LOS az') | |
| print('---------------------------------------------------------') | |
| for _ in range(n): | |
| aos, aos_az, tca, alt, los, los_az = obs.next_pass(sat) | |
| obs.date = los + ephem.minute | |
| print('%s | %5.1f | %s | %5.1f' % (time_fmt(aos), degrees(aos_az), | |
| time_fmt(los), degrees(los_az))) | |
| print('---------------------------------------------------------') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment