ВНИМАНИЕ! На форуме началось голосование в конкурсе - астрофотография месяца - МАЙ!
0 Пользователей и 1 Гость просматривают эту тему.
line1 = '1 25544U 98067A 13091.91587330 .00007763 00000-0 13253-3 0 5255'line2 = '2 25544 51.6457 126.9400 0012456 95.7479 324.5807 15.52293063822862'year = 2013month = 4day = 2hour = 11 minute = 23second = 00satellite = twoline2rv(line1, line2, wgs72)position, velocity = satellite.propagate(year, month, day, hour, minute, second)x,y,z = positionprint position
def days(year,month,day,hour,minute,second): year = float(year) month = float(month) day = float(day) hour = float(hour) minute = float(minute) second = float(second) dwhole = 367*year-int(7*(year+int((month+9)/12))/4)+int(275*month/9)+day-730531.5 dfrac = (hour+minute/60+second/3600)/24 d = dwhole+dfrac print d return ddef GMST(year,month,day,hour,minute,second): d = days(year,month,day,hour,minute,second) GMST = 281.46061837+360.98564736629*d GMST = GMST-360*int(GMST/360) if GMST<0: GMST = 360.0+GMST return GMSTprint GMST(year,month,day,hours,minutes,seconds)print GMST(year,month,day,hour,minute,second)*pi/180.0
cz = cos(alfa) #alfa - гринвичское звёздное время в радианахsz = sin(alfa)Rz = matrix([[cz,sz,0],[-sz,cz,0],[0,0,1]])p = dot(position,Rz)
r = sqrt(x*x+y*y+z*z)theta = acos(z/sqrt(x*x+y*y+z*z))phi = atan(y/x)print theta*180/pi,phi*180/pi
Что дало мне:тета (широта): 131.1391фи (долгота): 83.1138Сверяюсь с трекерами (переведя часы на 2 апреля 2013 года 11:23:00):Широта: 51Долгота: 84
iss = ephem.readtle('ISS', '1 25544U 98067A 13095.51060533 .00016717 00000-0 10270-3 0 9008', '2 25544 51.6448 109.0796 0010440 108.5171 251.7116 15.51989879 23420')while True: date = datetime.utcnow() iss.compute(date) print date,iss.sublat,iss.sublong time.sleep(1.0)
line1 = '1 25544U 98067A 13091.91587330 .00007763 00000-0 13253-3 0 5255'line2 = '2 25544 51.6457 126.9400 0012456 95.7479 324.5807 15.52293063822862'
Для интересующихся темой нашел еще одно решение проблемы: пакет pyEphem http://rhodesmill.org/pyephem/index.htmlПомимо прочего с его помощью можно организовать треккинг за станцией:Код: [Выделить]iss = ephem.readtle('ISS', '1 25544U 98067A 13095.51060533 .00016717 00000-0 10270-3 0 9008', '2 25544 51.6448 109.0796 0010440 108.5171 251.7116 15.51989879 23420')while True: date = datetime.utcnow() iss.compute(date) print date,iss.sublat,iss.sublong time.sleep(1.0)P.S. первоначальный вопрос остаётся. Должен же мой треккер чем-то отличаться от аналогов. Будет выводить координаты в декартовой СК Да и дело чести как бы.
Треккер на сегодняшнее утро:4 апреля 2013 года, 7:12:00 GMT показывает:широта: -30.5долгота: 82.8
author=ersar link=topic=106104.msg2368624#msg2368624 date=1365004069]Что дает мне вектор:[854.47201141952939, 5049.4295755923677, -4473.6843863335607]
04/04/2013 07:12:00.000 UTCMETE:-4501.0799164.54075060.0128Гринвич:-2443.8099-3783.47445060.0038