我一直在阅读以前的帖子,但我还有一个问题。我只是制作了一个非常简单的剧本,告诉我什么时候卫星经过我的城市。
我正在使用此博文作为指南:http://libjoe.blogspot.com.au/2009/10/where-is-my-satellite-in-python.html
为了进行测试,我正在检查ISS电台的输出是否与美国国家航空航天局网站上的预测输出相匹配,但它不匹配:http://spotthestation.nasa.gov/sightings/view.cfm?country=Australia®ion=Victoria&city=Melbourne#.VLr7I82UdhE
我有我的lat& long设置为墨尔本,我正在使用ephem.localtime打印出上升和放大设定时间。但是,时代永远不会与美国国家航空局网站相匹配
非常感谢任何建议,谢谢!
import datetime
import ephem
import math
import os
import sys
import time
import urllib2
observer = ephem.Observer()
observer.long = '-37.799423'
observer.lat = '144.999979'
observer.date = datetime.datetime.now()
tles = urllib2.urlopen('http://www.amsat.org/amsat/ftp/keps/current/nasabare.txt').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:
#observer.date = rt
sat.compute(observer)
print tle[0]
print 'rise time: ', ephem.localtime(rt)
print 'set time: ', ephem.localtime(st)
print
except ValueError as e:
print e
以下是我的脚本输出现在在" 15:10" 2015年1月18日在墨尔本,ISS电台在输出中列为:
rise time: 2015-01-19 02:27:09
set time: 2015-01-19 02:37:37
然而,美国宇航局网站(spotthestation.nasa.gov/sightings / ...)陈述了1月19日的以下预测:
答案 0 :(得分:2)
通常情况下,经度是±180°之间的“大数字”,而纬度是在更有限的范围内的一个小数字±90° - 您可能在这里颠倒了纬度和经度吗?
答案 1 :(得分:0)
对于那些最终遇到同样问题的人。这就解决了我的问题:
阅读文档。特别是与时区有关。请记住,默认设置是UTC时间,可能与您的不同
图书馆对目击预测持乐观态度,因此可能会偏离JSatTrak和在线资源。在我的情况下,图书馆预测了一个相当接近观察者的通道,但是在能见度的边界上。 JSatTrak和在线资源忽略了它。 要查看您的情况是否属于这种情况,请将观察者时间设置为原始预测的结束时间+ 1分钟。下一遍可能与在线预测相同。 (我觉得它可能与观察者的高度有关,但我没有在源代码或计算上做作业。)