我以前从未使用过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 的链接,但我找不到任何关于算法的信息。你有什么建议吗?
非常感谢!