В соответствии с документацией к полевому небу онлайн, я могу рассчитать, является ли данное время дня днем или ночью .
import skyfield.api
import skyfield.almanac
ts = skyfield.api.load.timescale()
ephemeris = skyfield.api.load('de421.bsp')
observer = skyfield.api.Topos(latitude_degrees=LAT, longitude_degrees=LON)
is_day_or_night = skyfield.almanac.sunrise_sunset(ephemeris, observer)
day_or_night = is_day_or_night(ts.utc(merged_df.index.to_pydatetime()))
s = pd.Series(data=['Day' if is_day else 'Night' for is_day in day_or_night],
index = merged_df.index, dtype='category')
merged_df['Day or Night'] = s
Теперь я хочу также классифицировать утренние / полуденные / вечерние фазы дня по солнечной высоте / азимуту. Я пришел к следующему:
earth, sun = ephemeris['earth'], ephemeris['sun']
observer = earth + skyfield.api.Topos(latitude_degrees=LAT,
longitude_degrees=LON)
astrometric = observer.at(ts.utc(merged_df.index.to_pydatetime())).observe(sun)
alt, az, d = astrometric.apparent().altaz()
Мне нужна помощь в понимании того, как действовать дальше, поскольку у меня нет соответствующих базовых знаний об астрономических вычислениях. Спасибо