PyEphemはかなり長い間使用されていましたが、数日前(おそらく数週間前)には私のスクリプトの1つがもう使えなくなりました。このスクリプトは、とりわけ、軌道要素から作成する小惑星の上昇時間と設定時間をCALLHORIZONS
を使って計算します。私は、PyEphemが小惑星の高度を正しく計算していないことを知った - しかし、それは太陽の高度を適切に計算する。なぜPyEphemは手動で生成されたオブジェクトの標高を計算しませんか?
import ephem
import numpy
import callhorizons
this_target = '3552'
body = callhorizons.query(this_target)
body.set_discreteepochs(2415730.0)
body.get_elements()
this_target = body.export2pyephem()[0]
### works fine for the Sun
#this_target = ephem.Sun()
date = ephem.now()
this_target.compute(date)
obs = ephem.Observer()
obs.epoch = 2000.0
obs.lon = -111.653152/180.*numpy.pi
obs.lat = 35.184108/180.*numpy.pi
obs.elevation = 2738 # m
obs.date = date
obs.horizon = 0.
# if target is '3552', this_target.alt stays constant
for time in numpy.arange(date, date+1, 0.1):
obs.date = time
this_target.compute(obs)
print time, this_target.alt, this_target.ra
### if this_target is '3552', this results in a segmentation fault
print obs.next_rising(this_target)
導出しようとすると、PyEphemは、ターゲットの高度を計算するので、セグメンテーションフォールトに実行されません(この場合は3552
)自己定義されたターゲットを使用した:ここで
私はPyEphem(3.7.6.0)の最新バージョンをインストールしようとしましたが、それは役に立ちませんでした。誰もがこのエラーを(説明する?)複製できますか?
オブジェクトはその時点で観測可能でしたので、理由はありませんでした。また、どのオブジェクトでも機能しませんでした。しかし、問題は消えています(下記の私の答えを参照)。 – mommermi