我正在尝试根据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/