尝试计算以下 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
此 TLE 使用以下方式读取
obj = 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() 导致的这些异常?