夏季阿拉斯加的星际包裹错误“太阳仍然低于地平线”

时间:2016-12-27 21:14:17

标签: python datetime

我正在使用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)

1 个答案:

答案 0 :(得分:2)

问题不在于您的代码,而是Astral(1.3.3)如何处理小时角度的acos()

如果您查看第2405行的模块(astral.py),您会看到它正在执行以下操作:

HA = acos(h)

在此处执行打印声明,您会看到传递到acos()的值为-1.025435878895799

acos()只能处理来自-1.0 <= x <= 1.0

的值