你如何获得地球卫星物体的天体测量RA和12月

时间:2013-03-01 02:17:40

标签: pyephem

以下是Pyephem文档中提供的示例:

    iss = ephem.readtle("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")
    gatech = ephem.Observer()
    gatech.lon, gatech.lat = '-84.39733', '33.775867'
    gatech.date = '2003/3/23'
    iss.compute(gatech)
    print iss.rise_time, iss.transit_time, iss.set_time
    2003/3/23 00:00:44 2003/3/23 00:03:22 2003/3/23 00:06:00

当我运行示例时,我已经获得了完全相同的结果,所以我希望我至少正在做这个部分。我想知道的是卫星在J2000坐标中的天体位置,所以我可以将它与星图进行比较。我尝试了以下代码,答案是可疑的,因为a_ra和ra是相同的。我相信a_ra和ra都是在日期中给出的,而不是a_ra是J2000中的天体测量解决方案。

    print iss.a_ra, iss.ra, iss.g_ra
    8:50:10.99 8:50:10.99 6:54:40.64

有没有办法将进动/章动应用于地心说ra和decepep?#/ p>

1 个答案:

答案 0 :(得分:1)

很棒的问题!在查看了构成PyEphem基础的C代码之后,看起来两者 raa_ra值已经进入观察者对象的时代(在您的情况下是默认为J2000)。作为参考,这是来自libastro的{​​{1}}代码:

earthsat.c

我认为此if (epoch != EOD && mjd != epoch) precess (mjd, epoch, &ra, &dec); op->s_ra = ra; op->s_dec = dec; .ra值已经已经。让这个代码站起来可能是我的遗漏;很可能我真正应该做的,但当时没有看到,是将这些赋值语句移到 {/ 1}}语句之前的位置,这样它们就可以了没有进入,因此不同于天体测量RA和dec,后来通过我自己添加的代码设置了几行。

所以:目前,你实际上是 - 如果我正确理解PyEphem - 准确地获得你想要的RA并且可以继续你的项目。同时,我会追查该票,并尝试让.decif开始提供与.ra.dec不同的数字!