ephem python库可以完美地确定下一个日出和日落.
我想知道的是,在某个特定时刻外面是否有光.在ephem中有一个简单的函数调用返回吗?
解决方法:
像美国海军天文台这样的组织有“外面很轻”的定义 – 你可以在这里找到USNO的定义:
http://aa.usno.navy.mil/faq/docs/RST_defs.php
选择所需的定义后,请向Sun对象询问其alt,并将该值与USNO定义中的高度进行比较.我强烈建议您使用alt,因为PyEphem可以快速计算.相反,如果您询问日出和日落,那么您在一次非常昂贵的迭代搜索中发送了PyEphem,它必须继续尝试不同的时间,直到它最终发现日出和日落的时刻 – 您真的不感兴趣,这听起来像.你只是想把太阳的高度与你自己的门槛进行比较,因为“外面很轻”.
请注意,alt将以弧度为单位,因此您需要在比较之前转换所选的度数:
导入ephem
s = ephem.Sun()
sf = ephem.city('San Francisco')
s.compute(sf)
twilight = -12 * ephem.degree
print 'Is it light in SF?', s.alt > twilight