下面的代码尝试手动计算2019年的第一个春分。
它返回
('d1 =',2019/3/20 21:43:48)
('d2 =',2019/3/20 21:43:49)
2019/3/20 21:58:31
也就是说,与实际春分的差异为15分钟。这正常吗?
我忘记了什么吗?该问题也与胶乳同时出现,如果我使用了集成牛顿法,也会出现问题。它可能与计算时代有关吗?
谢谢,
丹尼斯
import ephem
sun = ephem.Sun()
# computing Spring equinox:
d1 = ephem.Date('2019/03/15')
d2 = ephem.Date('2019/03/25')
a=ephem.degrees('180.0')
for i in range(20):
#middle date
d3=(d1+d2)/2
sun.compute(d3)
if sun.hlon>a:
d2=d3
else:
d1=d3
print("d1=",ephem.Date(d1))
print("d2=",ephem.Date(d2))
d1 = ephem.next_equinox('2019')
print(d1)
最佳答案
看起来差异是因为PyEphem的基础天文学库始终测量相对于J2000坐标的日心经度,到您要查询的日期为止,它与用于定义春分点的日期坐标明显不同。
尝试将其作为计算步骤运行:
sun.compute(d3, epoch=d3)
然后查找
sun.ra
何时为零度;结果应该是春分点。我将看到有关更新PyEphem快速参考的内容,以注意到日心中心坐标似乎并不注意epoch=
参数。