Pyephem算法参考指南

7

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

非常感谢!

1个回答

2
您可以在PyEphem的libastro目录中查找各种算法,方法是查看其各个C语言文件: https://github.com/brandon-rhodes/pyephem/tree/master/libastro-3.7.5 但是针对您的具体问题:岁差、光行差和章动都是通常只计算在地球运动参考系之外的物体上的影响,比如太阳、行星和遥远的恒星。然而,由于地球卫星在我们自己的参考系中运行,因此我认为libastro通常会直接比较卫星在地球上方的位置和观察者在地球上的位置,因为这些已经是相同局部参考系中的坐标。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接