2017-03-23 1 views
2

"내 하늘에서"볼 수있는 위성의 수를보고 싶습니다.Pyephem의 결과를 확인하는 방법

sat_alt, sat_az, sat_name = [], [], [] 

observer = ephem.Observer() 
observer.long = Longitude 
observer.lat = Latitude 
observer.date = TimeNow 

HowMany = 0 

print "TIME: ", TimeNow 
print 
GPS_list = 'http://www.celestrak.com/NORAD/elements/gps-ops.txt' 
GPS2_list = 'http://www.tle.info/data/gps-ops.txt' 
GLONASS_list = 'http://www.celestrak.com/NORAD/elements/glo-ops.txt' 
GLONASS2_list = 'http://www.tle.info/data/glo-ops.txt' 
#'http://www.amsat.org/amsat/ftp/keps/current/nasabare.txt').readlines() 


tles = urllib2.urlopen(GPS_list).readlines() 
tles = [item.strip() for item in tles] 
tles = [(tles[i],tles[i+1],tles[i+2]) for i in xrange(0,len(tles)-2,3)] 

for tle in tles: 

    try: 
     sat = ephem.readtle(tle[0], tle[1], tle[2]) 
     rt, ra, tt, ta, st, sa = observer.next_pass(sat) 

     if rt is not None and st is not None: 
      sat.compute(observer) 

      if TimeNow >= ephem.localtime(st) and TimeNow <= ephem.localtime(rt): 
       text = tle[0] 
       sat_alt.append(np.rad2deg(sat.alt)) 
       sat_az.append(np.rad2deg(sat.az)) 

       text2 = text.rsplit(')', 1)[0] 
       NamePRN = text2.rsplit('(', 1)[1] 
       sat_name.append(NamePRN) 

       #I wanna Try just with the PRN 1 
       if 1 == 1: # NamePRN = 'PRN 01': 
        print NamePRN 
        print "Elev:" , np.rad2deg(sat.alt), "Azimuth: ",np.rad2deg(sat.az) #sat.alt/ephem.degree 
        print "original rise time: ",rt 
        print 'rise time: ', ephem.localtime(rt) 
        print 'set time: ', ephem.localtime(st) 
        print 
        print 'Time until rise: ', ephem.localtime(rt) - TimeNow 
        print 'Time until set: ',ephem.localtime(st) - TimeNow 
        timeuntilrise = ephem.localtime(rt)-TimeNow 
        HowMany += 1 
        minutesaway = timeuntilrise.seconds/60.0 

        if sys.platform == 'darwin': 
         say = 'say "%s WILL BE MAKING A PASS IN %d MINUTES."' % (NamePRN,minutesaway) 
         os.system(say) 
        else: 
         print "Minutes Away: ",minutesaway 


      #print ' Rise Azimuth: ', ra 
      #print ' Transit Time: ', tt 
      #print ' Transit Altitude: ', ta 
      #print ' Set Time: ', st 
      #print ' Set Azimuth: ', sa 
      #print 'rise time: ', ephem.localtime(rt) 
      #print 'set time: ', ephem.localtime(st) 
      #print 
    except ValueError as e: 
     print e 
print 
print "How Many: ", HowMany 

결과는 다음과 같습니다 : 나는이 코드를 사용하고

TIME: 2017-03-23 09:32:30.445831 

PRN 14 
Elev: 23.5719168541 Azimuth: 186.783257119 
original rise time: 2017/3/23 18:15:23 
rise time: 2017-03-23 13:15:23.000003 
set time: 2017-03-23 05:56:40.000003 

Time until rise: 3:42:52.554172 
Time until set: -1 day, 20:24:09.554172 
Minutes Away: 222.866666667 
PRN 22 
Elev: 27.8617383982 Azimuth: 135.529777134 
original rise time: 2017/3/23 18:59:39 
rise time: 2017-03-23 13:59:38.000003 
set time: 2017-03-23 05:52:54.000003 

Time until rise: 4:27:07.554172 
Time until set: -1 day, 20:20:23.554172 
Minutes Away: 267.116666667 
PRN 19 
Elev: 63.2536032619 Azimuth: 23.0164551349 
original rise time: 2017/3/23 19:01:01 
rise time: 2017-03-23 14:01:00.000003 
set time: 2017-03-23 07:01:07.000003 

Time until rise: 4:28:29.554172 
Time until set: -1 day, 21:28:36.554172 
Minutes Away: 268.483333333 
PRN 23 
Elev: 2.50815303871 Azimuth: 88.104092255 
original rise time: 2017/3/23 21:33:06 
rise time: 2017-03-23 16:33:06.000003 
set time: 2017-03-23 08:35:45.000003 

Time until rise: 7:00:35.554172 
Time until set: -1 day, 23:03:14.554172 
Minutes Away: 420.583333333 
PRN 17 
Elev: 43.5586196015 Azimuth: 52.03302655 
original rise time: 2017/3/23 18:27:16 
rise time: 2017-03-23 13:27:15.000003 
set time: 2017-03-23 06:12:30.000003 

Time until rise: 3:54:44.554172 
Time until set: -1 day, 20:39:59.554172 
Minutes Away: 234.733333333 
PRN 31 
Elev: 7.61244305169 Azimuth: 168.667710308 
original rise time: 2017/3/23 19:47:23 
rise time: 2017-03-23 14:47:23.000003 
set time: 2017-03-23 08:03:23.000003 

Time until rise: 5:14:52.554172 
Time until set: -1 day, 22:30:52.554172 
Minutes Away: 314.866666667 
PRN 12 
Elev: 48.18881167 Azimuth: 258.782917613 
original rise time: 2017/3/23 18:42:38 
rise time: 2017-03-23 13:42:38.000003 
set time: 2017-03-23 07:35:56.000003 

Time until rise: 4:10:07.554172 
Time until set: -1 day, 22:03:25.554172 
Minutes Away: 250.116666667 
PRN 25 
Elev: 18.8269690697 Azimuth: 222.58247788 
original rise time: 2017/3/23 19:39:10 
rise time: 2017-03-23 14:39:09.000003 
set time: 2017-03-23 08:34:40.000003 

Time until rise: 5:06:38.554172 
Time until set: -1 day, 23:02:09.554172 
Minutes Away: 306.633333333 
PRN 01 
Elev: 9.20983988345 Azimuth: 117.518172142 
original rise time: 2017/3/23 17:53:54 
rise time: 2017-03-23 12:53:54.000003 
set time: 2017-03-23 04:56:06.000003 

Time until rise: 3:21:23.554172 
Time until set: -1 day, 19:23:35.554172 
Minutes Away: 201.383333333 
PRN 24 
Elev: 15.4381621753 Azimuth: 284.908746358 
original rise time: 2017/3/23 16:23:16 
rise time: 2017-03-23 11:23:16.000003 
set time: 2017-03-23 05:14:38.000003 

Time until rise: 1:50:45.554172 
Time until set: -1 day, 19:42:07.554172 
Minutes Away: 110.75 
PRN 06 
Elev: 49.0638613556 Azimuth: 345.92883678 
original rise time: 2017/3/23 20:57:05 
rise time: 2017-03-23 15:57:04.000003 
set time: 2017-03-23 08:25:55.000003 

Time until rise: 6:24:33.554172 
Time until set: -1 day, 22:53:24.554172 
Minutes Away: 384.55 
PRN 03 
Elev: 41.016662249 Azimuth: 109.881781593 
original rise time: 2017/3/23 19:45:53 
rise time: 2017-03-23 14:45:53.000003 
set time: 2017-03-23 06:43:35.000003 

Time until rise: 5:13:22.554172 
Time until set: -1 day, 21:11:04.554172 
Minutes Away: 313.366666667 
PRN 32 
Elev: 13.6017761707 Azimuth: 207.711749038 
original rise time: 2017/3/23 17:23:22 
rise time: 2017-03-23 12:23:22.000003 
set time: 2017-03-23 05:14:55.000003 

Time until rise: 2:50:51.554172 
Time until set: -1 day, 19:42:24.554172 
Minutes Away: 170.85 

How Many: 13 

나는 메뉴에서 페이지 "http://www.n2yo.com/를"확인 "궤도에있는 위성"야를 -> "GPS 위성"그러나 내가 옳은지 어떻게 알 수 있습니까? 다른 웹 페이지? 감사합니다. .

답변

1

Calskyn2yo은 일부 위치에서 방위각 및 고도를 확인합니다. 기본적으로 Calsky 쇼에서 위성은 25º 이상

0

온라인 도구의 경우 실제로는 in-the-sky.org이 유용하고 유용합니다. 능동적 인 공간 전문가와 웹 개발자가 아주 새롭고 현대적이며 잘 관리되어 있습니다. thisthis을 참조하십시오.

Skyfield으로 다른 파이썬 확인을 수행 할 수 있습니다. PyEphem을 유지 관리하는 사람이 유지 관리하지만 더 새롭고 현대화되어 있습니다. Skyfield는 내부에서 PyEphem과 상당히 다르며, 다른 기능을 가지고 있습니다. all of these in stackoverflow을 참조한 다음 all of these in Space Exploration SE을 입력 한 다음 all of these in Astronomy SE!

관련 문제