import ephem
rwth = ephem.Observer()
rwth.lat = '50.8'
rwth.long = '6.1'
rwth.horizon = '-18'
rwth.next_setting(ephem.Sun())
这将导致错误
Traceback(最近一次调用最后一次):文件“”,第1行,in 文件 “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ephem/init.py” 第498行,在next_setting中 return self._riset_helper(body,start,use_center,False,False)文件 “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ephem/init.py” 第470行,在_riset_helper中 d1 = visit_antitransit()文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ephem/init.py”, 第418行,在visit_antitransit中 %(body.name,d))ephem.AlwaysUpError:'太阳'仍然在2017/7/3 23:39:58以上的地平线
然而,在这个位置,太阳绝对应该达到天文暮光(-18度对应)。你知道问题是什么吗?
答案 0 :(得分:0)
在这个日期(7月初)的那个纬度,太阳从未达到-18°高度,因为北纬50.8°太靠近北极圈。在冬至本身 - 每年6月21日左右 - 太阳位于北纬23.5°,如果我们考虑后果,就意味着:
尽管目前的日期是昼夜平分点后的几天,但是太阳还没有从最北纬度的地方撤退到足以开始将天文学双重带到你所询问的位置。 PyEphem的答案在这里看起来是正确的。