我最近下载并安装了PySolar模块,并希望用它来计算太阳位置(方位角和高度)。
我遇到的问题是计算的结果与NOAA太阳能计算器http://www.esrl.noaa.gov/gmd/grad/solcalc/azel.html计算的结果不匹配
例如。使用PySol
>>> import datetime, solar
>>> d = datetime.datetime(2007,12,21,9,0,0,0)
>>> lat = 41.5
>>> long = -111.5
>>> solar.GetAltitude(lat, long, d)
-63.0267096801
>>solar.GetAzimuth(lat, long, d)
-235.44406245
使用NOAA模型海拔高度计算为0.7,方位角计算为237.64。
因此两个值之间存在差异。总结一下:
如果您有任何建议我做错了或如何计算给定位置的正确高度和方位角,我们将不胜感激。
答案 0 :(得分:2)
你的datetime.datetime没有tzinfo值,因此会给你GMT时间,距当地时间约7小时。另一个因素很可能是NOAA使用DMS而不是十进制lat / long,所以你需要记住输入值41,30,0和-111,30,0。
N.B。您可能会发现尝试PyEphrem进行此类计算是有益的,因为我发现文档更清晰。
答案 1 :(得分:-1)
将-111更改为+111,您的结果可能会更好。 向西走是积极的。