From 9ec0b02148363742768cc5cf5698b67a8ea19cfd Mon Sep 17 00:00:00 2001 From: Jogi Hofmüller Date: Tue, 9 Aug 2011 19:02:08 +0000 Subject: - we are tracking ARISSAT-1 now ;) git-svn-id: https://svn.spreadspace.org/mur.sat@106 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- tools/mmd/MmdSatellite.py | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) (limited to 'tools/mmd/MmdSatellite.py') diff --git a/tools/mmd/MmdSatellite.py b/tools/mmd/MmdSatellite.py index adb5fd8..42d4423 100644 --- a/tools/mmd/MmdSatellite.py +++ b/tools/mmd/MmdSatellite.py @@ -3,20 +3,20 @@ import ephem import time +def createJavaArray (jarray, name): + astring = 'var {0} = new Array ('.format (name) + for e in jarray: + astring = '{0}\n\t{1}'.format (astring, e) + astring = '{0}\n);'.format (astring) + return astring + 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: + if parts[0][0] == '-': return degrees - fraction return degrees + fraction @@ -24,6 +24,9 @@ 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 = "FENGYUN 1C DEB" +line1 = "1 30807U 99025AUR 11217.95818111 .00601080 13349-3 25872-2 0 3694" +line2 = "2 30807 099.0868 165.1314 0028608 315.8949 044.0355 15.84325581244298" # line0 = "ARISSat-1" # line1 = "1 37772U 98067CK 11219.88827546 .00035107 00000-0 41770-3 0 100" @@ -38,13 +41,25 @@ if __name__ == "__main__": 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.date, dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), float (sat.range/1000) + # graz.date += ephem.minute + # sat.compute (graz) + # print sat.name, graz.next_pass (sat), graz.date, sat.sublong, sat.sublat, float (sat.range/1000) + # print sat.name, graz.date, dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), float (sat.range/1000) 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) + array_string = 'new OpenLayers.LonLat ({0}, {1}).transform (from, to){2}' + java_array = [array_string.format (dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), ',')] + for i in range (12 * 24): + graz.date += 5 * ephem.minute + sat.compute (graz) + # print sat.name, graz.date, dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), float (sat.elevation) / 1000 + java_array.append (array_string.format (dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), ',')) + graz.date += 5 * ephem.minute + sat.compute (graz) + java_array.append (array_string.format (dms2degdec (sat.sublong.__str__ ()), dms2degdec (sat.sublat.__str__ ()), '')) + print createJavaArray (java_array, 'points') # vim: tw=0 ts=2 # EOF -- cgit v1.2.3