为地球卫星对象捕获ephem.Body.compute()时出错

时间:2012-11-08 21:26:19

标签: pyephem

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

0 个答案:

没有答案