1

最初の質問: 緯度/経度と日付の大規模なグループをループして、月の出/入時間を見つけています。これらのポイントのいくつかは、極の近くにあります。次のコードは、オブザーバーの日付を進めますNeverUpError

moon = ephem.Moon()
obs = ephem.Observer()
obs.lat='89'
obs.lon='0'
obs.date = ephem.Date('2014/01/01')
print obs.date
# 2014/1/1 00:00:00
obs.next_rising(moon)
# Traceback (most recent call last):
#   ...
# ephem.NeverUpError: 'Moon' transits below the horizon at 2014/1/1 12:04:01
print obs.date
# 2014/1/1 12:04:01

呼び出す前にこれを確認する方法はありobs.next_rising(moon)ますか? 観測で日付を保持したいと思います。現在、try/except ブロックを使用してそれをキャッチし、日付をリセットしています。より良い方法はありますか?

2 番目の質問: 最初の質問に関連して、ライブラリはスレッドセーフですか? Queue および threading モジュールを使用して、別々のスレッドで一度に複数の日付を計算するように設定しました。

4

1 に答える 1