下面的代码尝试手动计算 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=
参数。
关于python - 手动计算春分和至日时,Pyephem 存在 15 分钟差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54208690/