#!/usr/bin/env python import ephem import time def dms2degdec (lonlat): parts = lonlat.split (':') if len (parts) != 3: return 0.0 degrees = float (parts[0]) fraction = (float (parts[1]) * 60.0 + float (parts[2])) / 3600 # print "debug" # print parts # print degrees # print float (parts[1]) * 60.0 # print float (parts[2]) # print fraction # print "debug end" if degrees < 0: return degrees - fraction return degrees + fraction line0 = "ARISSAT-1/RADIOSCAF-B" line1 = "1 37772U 98067CK 11220.22334818 .00031592 00000-0 37647-3 0 118" line2 = "2 37772 51.6391 258.8215 0013530 58.1430 19.7106 15.60689826 619" # line0 = "ARISSat-1" # line1 = "1 37772U 98067CK 11219.88827546 .00035107 00000-0 41770-3 0 100" # line2 = "2 37772 51.6395 260.5080 0013376 55.7500 298.2807 15.60679045 559" # # line0 = "ISS (ZARYA)" # line1 = "1 25544U 98067A 11220.37158565 .00004586 00000-0 61164-4 0 8541" # line2 = "2 25544 51.6393 258.0860 0012828 54.3148 131.8091 15.60282006729050" if __name__ == "__main__": sat = ephem.readtle (line0, line1, line2) graz = ephem.Observer () graz.long, graz.lat, graz.elevation = '15.44226', '47.06576', 376 # graz.date = time.strftime ('%Y/%m/%d %H:%M:S') sat.compute (graz) print sat.name, graz.next_pass (sat), graz.date, sat.sublong, sat.sublat, float (sat.range/1000) print sat.name, graz.next_pass (sat), graz.date, dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), float (sat.range/1000) graz.date += ephem.hour sat.compute (graz) print sat.name, graz.next_pass (sat), graz.date, sat.sublong, sat.sublat, float (sat.range/1000) print sat.name, graz.next_pass (sat), graz.date, dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), float (sat.range/1000) # vim: tw=0 ts=2 # EOF