我正在使用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)
答案 0 :(得分:2)
问题不在于您的代码,而是Astral(1.3.3)如何处理小时角度的acos()
。
如果您查看第2405行的模块(astral.py
),您会看到它正在执行以下操作:
HA = acos(h)
在此处执行打印声明,您会看到传递到acos()
的值为-1.025435878895799
acos()
只能处理来自-1.0 <= x <= 1.0