我用mi位置(经纬度)计算卫星的位置,我想知道从我的位置能看到什么卫星(我的接收器)。为此,我使用这个blog的帮助,我使用python库Pyphem,并使用TLE文件的信息。通过这个我可以知道文件的位置,但是我可以获得最大的数据范围,文件在this站点中。 e、 g.文件获取信息时间:2017年1月12日1:00至2017年1月13日23:59,我想知道2017年1月14日13:05的职位 问题是我能得到明天的文件吗?或者我能拿到今天的档案?在
更新1。
my code在python中是这样的:
TimeNow = datetime.datetime.now() #"10/01/2017"
Longitude = -73.1198
Latitude = 7.11392
print TimeNow
sat_alt, sat_az, sat_name = [], [], []
observer = ephem.Observer()
observer.long = '-73.1224429' # '-37.799423'
observer.lat = '7.1388027' # '144.999979'
observer.date = datetime.datetime.now()
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:
#observer.date = rt
sat.compute(observer)
#if 'PRN 26' in tle[0]:
#print "TRUE"
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]
text3 = text2.rsplit('(', 1)[1]
sat_name.append(text3)
print text3, np.rad2deg(ra),np.rad2deg(sa)
except ValueError as e:
print e
结果:
^{pr2}$在这个例子中,我有今天的信息(2017年2月28日),我在链接中有今天的TLE文件,但是如果我想要明天的信息呢?在
谢谢你
更新2:
您可以为另一个日期更改变量TimeNow
(例如now + 2 hours
),但是我不知道如果用今天的TLE文件计算明天或明天过去的位置(仰角/方位角),误差会太大吗?多少钱?(我正在读this试图找到答案)我希望有人知道。谢谢。在
目前没有回答
相关问题 更多 >
编程相关推荐