尝试计算以下TLE时,计算结果不完整:
FENGYUN 1C DEB
1 31034U 99025BEC 12293.69998868 .02147743 29582-2 52063-2 0 1666
2 31034 099.0270 256.6567 0044344 106.5074 254.5558 15.95183245303888
使用
读取此TLEobj = readtle(line0, line1, line2) #where line0 is the 0th line, line1 is the 1st line etc.
我按如下方式设置了一个观察者:
#Observatory Data
obs = ephem.Observer()
obs.lat = '32.345010'
obs.lon = '-111.011647'
obs.elevation = 400
obs.name = 'myObs'
obs.date = '2012/11/9 01:52:48'
当我使用
时obj.compute(obs)
该函数无法在obj.ra,obj.elevation等中填入适当的值,但不会崩溃或挂起(有时也会这样做) 这可能是因为物体最近已经腐烂到大气中,然而,不完整的结果导致我的其余程序崩溃;我只是想找出一种方法来捕获这个异常,但未能这样做。
我试过
try:
obj.compute(obs) # no exception is thrown by compute
except:
print 'bad computation'
continue
也尝试了
if ~obj.elevation: continue
这给出了一个不同的错误,表明〜运算符不能用于obj.elevation数据类型(或类似的东西)。
有没有办法捕获Body.compute()产生的这些异常?