Astropy 中是否内置了 sunset/sunrise 函数?

Is there a sunset/sunrise function built into Astropy yet?

我在这里看到了几个关于 PyEphem 的答案,以及它如何产生 sunset/sunrise 次,但是如果我能找到仅使用 Astropy 包的解决方案,这对我来说会更有用。目前我发现最接近的是 (get_sun) 包中的 astropy.coordinates 函数。这个 sunset/sunrise 功能是否已内置到 Astropy 中?

Astroplan package has an Observer class with a Observer.sun_rise_time and a Observer.sun_set_time 方法。

Astroplan 是一个 Astropy affiliated package

这个功能是将来会被放入核心 Astropy 包中还是保留在 Astroplan 中尚不清楚。但是使用 pip install astroplanconda install -c astropy astroplan 您可以轻松安装 Astroplan 并使用它。

用get_sun很容易计算出太阳的当前位置,这可以扩展以确定下一次日出或日落时间。

我使用以下方法检查是否接近日出以自动关闭我的 telescope。

def almostSunrise():                                                                                
    now = Time(datetime.utcnow(), format='datetime', scale='utc')                                  
    altazframe = AltAz(obstime=now, location=lapalma)                                               
    sunaltaz = get_sun(now).transform_to(altazframe)                                                
    if sunaltaz.alt.value >= -5 and sunaltaz.alt.value <= 5:                                         
        return True                                                                                 
    else:                                                                                           
        return False 

其中 lapalma 是我设置的 EarthLocation