我正在使用 Astral 包来跟踪阿拉斯加安克雷奇的太阳,并且在夏至中午太阳的位置出现以下错误:
AstralError:这一天,在这个位置,太阳仍然在地平线以下。
这是代码:
from astral import Astral
from pytz import timezone
from datetime import datetime, timedelta
astral = Astral()
cityName = 'Anchorage'
city = astral[cityName]
timeZone = timezone(city.timezone)
summerSolstice = datetime(2017, 6, 21, 12, 0, 0, 0, timeZone)
city.sun(date=summerSolstice, local = True)
最佳答案
问题不在于您的代码,而在于 Astral (1.3.3) 如何处理小时角的 acos()
。
如果您查看第 2405 行的模块 ( astral.py
),您将看到它正在执行以下操作:
HA = acos(h)
在这里执行打印语句,您将看到传递给
acos()
的值是 -1.025435878895799
acos()
只能处理来自 -1.0 <= x <= 1.0
的值关于python - 夏季阿拉斯加的 Astral 包裹错误 "sun remains below horizon",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41352301/