3

尝试计算以下 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() 导致的这些异常?

4

0 回答 0