Skyfield年超出范围

时间:2019-02-26 21:10:07

标签: astronomy skyfield

我正在尝试使用Skyfield绘制轨道,但这是行不通的。

代码如下:

import numpy as np
import matplotlib.pyplot as plt
from skyfield.api import Loader, Topos, EarthSatellite


text = """
GOCE
1 34602U 09013A   13314.96046236  .14220718  20669-5  50412-4 0   930
2 34602 096.5717 344.5256 0009826 296.2811 064.0942 16.58673376272979
"""
lines = text.strip().splitlines()

sat = EarthSatellite(lines[1], lines[2], lines[0])
print(sat.epoch.utc_jpl())

这是我得到的错误:

  File "orbit_preditor.py", line 21, in <module>
    ISS     = EarthSatellite(L1, L2)
  File "C:\Python\Python36\lib\site-packages\skyfield\sgp4lib.py", line 86, in __init__
    EarthSatellite.timescale = load.timescale()
  File "C:\Python\Python36\lib\site-packages\skyfield\iokit.py", line 232, in timescale
    preds = self('deltat.preds')
  File "C:\Python\Python36\lib\site-packages\skyfield\iokit.py", line 142, in __call__
    expiration_date, data = parser(f)
  File "C:\Python\Python36\lib\site-packages\skyfield\iokit.py", line 309, in parse_deltat_preds
    expiration_date = date(year[0] + 2, month[0], 1)
ValueError: year 58668 is out of range

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试使用pip install -U skyfield升级到新版的Skyfield。第三方数据文件更改了格式,因此我们发布了新的Skyfield版本来对其进行修复。