python - 手动计算春分和至日时,Pyephem 存在 15 分钟差异

标签 python datetime pyephem

下面的代码尝试手动计算 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/

相关文章:

python - 在 pandas 中滚动平均值后重新采样

datetime - 在 Elm 0.19 中将纪元毫秒解码为 "DateTime"?

python - alt、az坐标系中地平线的定义

Python卫星跟踪与Orbitron,pyephem-位置不匹配

java - 对于 Selenium,我需要启动 java 服务器吗?

python - 在 Pandas 数据框中获得最小的一行

python - 从大型结构化文本文件中提取信息

python - 缩短一个语句被反转的 if 语句

c# - 带有区域信息的时间戳

python - Pyephem 是observer.compute() 错误或数据类型错误的示例吗?