最近,MPCORB数据库改变了标准时代。然后pyephem未能计算出小行星的位置。
以2015-11-23.55 UT为例,以Asteroid 2001 BP25为例。对于新旧标准时期,我计算了它的位置如下:
import ephem
import datetime
tobs = ephem.Date( datetime.datetime(2015, 11, 23, 13, 12, 13) ) # observation time
obj = ephem.readdb( "2001 BP25 0,e,3.47304,134.76688,294.08950,2.4271529,0.26065039,0.2231376,330.92520,06/27.0/2015,2000,H 16.0,0.15" ) # old orbital elements
obj.compute( tobs )
print "With old orbital elements, ra = %.6f deg, dec = %.5f deg" % ( obj.a_ra, obj.a_dec )
obj = ephem.readdb( "2001 BP25 0,e,3.47303,134.76696,294.10956,2.4270882,0.26066081,0.2231111,23.04368,01/12.0/2016,2000,H 16.1,0.15" ) # new orbital elements
obj.compute( tobs )
print "With new orbital elements, ra = %.6f deg, dec = %.5f deg" % ( obj.a_ra, obj.a_dec )
然后我获得了以下输出:
With old orbital elements, ra = 1.879871 deg, dec = 0.30927 deg
With new orbital elements, ra = 1.891992 deg, dec = 0.30874 deg
在线IAU MP检查员确认了用旧轨道元素计算的坐标。
因此,我想知道:在pyephem中是否有一些常数应该为新的标准时期改变?
答案 0 :(得分:0)
令人高兴的是,这个问题已经解决,但我只是意识到解决方案还没有在Stack Overflow上发布回来。事实证明,Asker用于将数据库转换为XEphem格式的转换例程是使用时间的常量,而不是使用原始文件本身的纪元。修复翻译也解决了坐标的差异 - 详细信息在这里得出: