为什么我从Pypehem得到了错误的太阳能alt/az?

2024-05-20 13:36:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我今天才开始使用PyEphem,所以当我试图从观察点计算太阳高度和方位时,我有点不明白为什么会得到如此不正确的结果。代码非常简单,所以我无法想象它会出什么问题:

import ephem
loc = ephem.Observer()
loc.lon = -118.897123
loc.lat = 34.247778
loc.elevation = 55
sun = ephem.Sun()
sun.compute(loc)

当我打印出loc时,我得到:

<ephem.Observer date='2020/6/26 21:10:06' epoch='2000/1/1 12:00:00' lon='-6812:18:12.0' lat='1962:15:11.3' elevation=55.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>

lat/long和time是正确的,尽管它们在print(loc)语句中有点奇怪。但是现在在南加州是下午2点10分,所以没有理由sun.altsun.az分别打印出1.2996.011

有人能解释一下这里的问题吗?如果我能弄清楚如何正确使用它,PyEphem看起来就像一个伟大的图书馆。谢谢你的帮助


Tags: 代码import高度locobserversunlonlat
1条回答
网友
1楼 · 发布于 2024-05-20 13:36:49

设置你的lat&lon作为字符串并格式化alt&az作为字符串:

>>> loc = ephem.Observer()
>>> loc.lon = '-118.897123'
>>> loc.lat = '34.247778'
>>> sun = ephem.Sun()
>>> sun.compute(loc)
>>> f"{sun.alt} {sun.az}"
'64:36:51.4 251:28:08.8'
>>> loc
<ephem.Observer date='2020/6/26 21:43:46' epoch='2000/1/1 12:00:00' lon='-118:53:49.6' lat='34:14:52.0' elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
>>> 

相关问题 更多 >