【发布时间】:2012-11-30 10:58:24
【问题描述】:
我以前从未使用过 pyephem,而且我不是卫星定位方面的专家。 我想利用 pyephem 使用 TLE 计算卫星的位置。 我必须做一些非常简单的事情,比如:
tle=["ISS (ZARYA)","1 25544U 98067A 03097.78853147 .00021906 00000-0 28403-3 0 8652","2 25544 51.6361 13.7980 0004256 35.6671 59.2566 15.58778559250029"]
iss = ephem.readtle(*tle)
observer = ephem.Observer()
observer.lon, observer.lat = ('-84.39733', '33.775867')
observer.date = ephem.Date('2002/4/23 10:10:00.000')
iss.compute(observer)
print iss.alt, iss.az, iss.range
-40:06:46.3 199:08:24.3 8834968.0
这三个变量提供了卫星在水平参考系统中的位置。 我不清楚 pyephem 是如何计算这个值的。我已阅读参考指南:http://rhodesmill.org/pyephem/radec
阅读文档,似乎 pyephem 应用了岁差和章动,但在文档的最后两行它说:
“请注意,最后两组坐标中的任何一组都没有应用进动,而只应用到第一组。这意味着只有“天体测量”位置将对应于星图中的线条。其他位置是被称为“日期纪元”坐标,是根据观测当天的天极和天赤道的方向测量的。”
地球进动是否适用于az和alt?
此外,我想知道 pyephem 使用什么样的模型来进行岁差和章动(我真的需要一些参考)。有 Xephem 和 libastro 的链接,但我找不到任何关于算法的信息。 你有什么建议吗?
非常感谢!
【问题讨论】:
标签: algorithm satellite pyephem