Pyephem的高度和方位完全错误

2 投票
1 回答
513 浏览
提问于 2025-04-18 16:16

我在用pyephem库计算太阳的高度角和方位角时,得到的值完全不正确。

我已经设置好了观察者的位置,这个位置是通过raw_input输入的经纬度来确定的。我检查过这个输入,确认是正确的。

我在一个for循环里有一段代码,它把太阳的高度角和方位角添加到我的列表DataPoint中:

TempTime = str(DataPoint)[2:28] #strange date/time format. this fixes it
observer.date = TempTime
SunData = ep.Sun(observer)
DataPoint.append(SunData.alt)
DataPoint.append(SunData.az)

所以,虽然这段代码应该能正常工作,但这个网站计算出的值和我输入的日期/时间以及位置是不同的。

如果有人能帮我找出我哪里做错了,那就太好了。

1 个回答

2

Pyephem 没有错,你的 TempTime 去掉时间的方法是错的。看看这个来自 pyephem 教程的代码:

gatech.date = '1984/5/30 16:22:56'   # 12:22:56 EDT

在设置观察者的时间时,你需要使用格林威治标准时间(GMT),而不是东部标准时间(EST)、东部夏令时(EDT)、中央标准时间(CST)等等。因为你在东边得到的高度是低于地平线的,pyephem 假设你传入的是早上的 GMT 时间,这样会导致你得到的是日出前的 EDT(或者你用的其他美国时区的时间)。

撰写回答