我正在使用 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.025435878895799acos() 只能处理来自 -1.0 <= x <= 1.0 的值

关于python - 夏季阿拉斯加的 Astral 包裹错误 "sun remains below horizon",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41352301/

10-12 21:03