我已經看過使用ephem計算日出和日落的例子,並且它的工作效果很好。使用ephem計算「Solar Noon」,翻譯爲當地時間
當我嘗試計算這兩次之間的中點時,我遇到了麻煩。下面是我有:
import datetime
import ephem
o = ephem.Observer()
o.lat, o.long, o.date = '37.0625', '-95.677068', datetime.datetime.utcnow()
sun = ephem.Sun(o)
print "sunrise:", o.previous_rising(sun), "UTC"
print "sunset:",o.next_setting(sun), "UTC"
print "noon:",datetime.timedelta((o.next_setting(sun)-o.previous_rising(sun))/2)
我得到:
日出:2010年11月2日12時47分四十秒UTC
日落:2010年11月2日23時24分25秒UTC
中午:5:18:22.679044
這就是我卡住的地方。我是一名Python初學者,並且坦率地說並不是一般的程序員。
任何建議將是最受歡迎的!
如果你的北方(或南方)太遠,太陽沒有今天上升,你的日出計算不「工作」...(例如今天是7月8日但最後的日出是5月17日:-) – thebjorn 2011-07-08 10:37:07
是的,我看到了問題:'ephem.AlwaysUpError:'太陽'仍然在地平線上2011/7/8 00:04:58' – 2011-07-08 10:50:16