저는 PyEphem을 꽤 오랫동안 사용 해왔지만 며칠 (어쩌면 몇 주 전)부터 내 스크립트 중 하나가 더 이상 작동하지 않습니다. 스크립트는 다른 것들 중에서도 CALLHORIZONS
을 사용하여 궤도 요소로부터 생성하는 소행성의 상승 및 정각을 계산합니다. 나는 PyEphem이 소행성의 고도를 제대로 계산하지 못한다는 것을 알았지 만, 태양에 대한 고도를 적절하게 계산합니다.왜 수동으로 생성 된 객체의 고도를 PyEhem이 계산하지 않습니까?
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