Python 2.7 为什么赢了';t PyEphem是否计算手动生成对象的高程?
我已经使用PyEphem很长一段时间了,但是从几天前(可能是几周前?)开始,我的一个脚本就不再工作了。这个脚本计算了小行星的上升时间和落下时间,我使用。我发现Pyphem并没有正确计算小行星的高度——但是,它正确地计算了太阳的高度 下面是一个简单的脚本:Python 2.7 为什么赢了';t PyEphem是否计算手动生成对象的高程?,python-2.7,pyephem,Python 2.7,Pyephem,我已经使用PyEphem很长一段时间了,但是从几天前(可能是几周前?)开始,我的一个脚本就不再工作了。这个脚本计算了小行星的上升时间和落下时间,我使用。我发现Pyphem并没有正确计算小行星的高度——但是,它正确地计算了太阳的高度 下面是一个简单的脚本: import ephem import numpy import callhorizons this_target = '3552' body = callhorizons.query(this_target) body.set_discr
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)
使用自定义目标(3552
),Pyphem不会计算目标的高程,因此在尝试推导该目标的上升/设定时间时会遇到分段错误
我尝试安装最新版本的PyEphem(3.7.6.0),但没有任何帮助。有人能复制(解释?)这个错误吗?假设纬度为35度,这个物体靠近黄道上方略高的木星,并且它有8年的周期,可能是在大约2年或3年之后它才上升。假设纬度为35度,事实上,这颗天体距离黄道稍高的木星很近,它的周期为8年,这可能是因为它在大约2年或3年后才会上升。由R.J.Mathar的回答触发,我再次研究了这个问题,发现这个问题已经消失了。我现在使用Python2.7和3.5获得正确的结果;两者都使用PyEphem 3.7.6.0
我很想提供更多关于问题所在的见解,但我不知道。我不确定我的系统是否有任何重要变化。这似乎是由某种安装问题引起的。由R.J.Mathar的回答触发,我再次调查,发现问题已经消失。我现在使用Python2.7和3.5获得正确的结果;两者都使用PyEphem 3.7.6.0
我很想提供更多关于问题所在的见解,但我不知道。我不确定我的系统是否有任何重要变化。这似乎是由于某种安装问题造成的。当时可以观察到该物体,因此这不是原因。而且,它对任何对象都不起作用。然而,这个问题已经消失了(见下面我的答案)。这个物体当时是可以观察到的,所以这不是原因。而且,它对任何对象都不起作用。然而,这个问题已经消失了(见下面我的答案)。