Год 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

Любые идеи?


person Gordon13    schedule 26.02.2019    source источник


Ответы (1)


Попробуйте перейти на новую версию Skyfield с pip install -U skyfield. Формат файла данных стороннего производителя изменился, поэтому мы выпустили новую версию Skyfield, чтобы исправить это.

person Brandon Rhodes    schedule 01.03.2019
comment
Отличное спасибо! Я не понимал, что мне нужен дополнительный флаг для обновления пакета в pip. - person Gordon13; 02.03.2019