我正在尝试根据UTC小时和经度来计算当地的太阳时间。我已经查看了ephem包,但无法确定这样做的直接方法。关于此问题的类似问题或者引起对固定位置的计算(日出,月亮,日落)(例如Calculating dawn and sunset times using PyEphem),或者收到简化方法的建议(例如Local solar time function from UTC and longitude)。除了上述解决方案,还有其他选择吗?

提前致谢

最佳答案

为了计算当地的太阳时间,我认为您可以直接请求该位置正下方的点(其最低点)的当前右上角,然后减去太阳的右上角以确切了解离当地午夜有多远:

from ephem import Sun, Observer, pi, hours

dt = '2016/08/27 19:19'

sun = Sun()
sun.compute(dt)

boston = Observer()
boston.lat = '42.37'
boston.lon = '-71.03'
boston.date = dt
ra, dec = boston.radec_of('0', '-90')

print 'Sun right ascension:', sun.ra
print 'Boston nadir right ascension:', ra
print 'Solar time:', hours((ra - sun.ra) % (2 * pi)), 'hours'


您能否尝试这种方法,看看它是否能使您期望的数字达到合理的精度?

关于python - pyephem计算当前太阳时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39163549/

10-13 09:43