首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写天文学/天文动力学程序时遇到的问题

编写天文学/天文动力学程序时遇到的问题
EN

Stack Overflow用户
提问于 2018-11-23 11:45:40
回答 1查看 287关注 0票数 0

我正在尝试写一个程序,它将使用喷气推进实验室的地平线星历向我展示地球上某个点上某些太阳系天体的天空。我遇到了两个问题: astroquery.jplhorizons模块不工作,以及我没有足够的3D图形模块,我不知道如何使用。这是来自第一个问题的代码;它是直接来自文档(https://astroquery.readthedocs.io/en/latest/jplhorizons/jplhorizons.html)的测试。

代码语言:javascript
复制
from astroquery.jplhorizons import Horizons
obj = Horizons(id='Ceres', location='568',
            epochs={'start':'2010-01-01', 'stop':'2010-03-01','step':'10d'})
eph = obj.ephemerides()
print(eph)

医生说我应该得到这个:

代码语言:javascript
复制
targetname    datetime_str   datetime_jd ...   GlxLat  RA_3sigma DEC_3sigma
  ---            ---             d      ...    deg      arcsec    arcsec
---------- ----------------- ----------- ... --------- --------- ----------
   1 Ceres 2010-Jan-01 00:00   2455197.5 ... 24.120057       0.0        0.0
   1 Ceres 2010-Jan-11 00:00   2455207.5 ... 20.621496       0.0        0.0
   1 Ceres 2010-Jan-21 00:00   2455217.5 ... 17.229529       0.0        0.0
   1 Ceres 2010-Jan-31 00:00   2455227.5 ...  13.97264       0.0        0.0
   1 Ceres 2010-Feb-10 00:00   2455237.5 ... 10.877201       0.0        0.0
   1 Ceres 2010-Feb-20 00:00   2455247.5 ...  7.976737       0.0        0.0

然而,当我从我的终端运行时,我得到了这个错误:

代码语言:javascript
复制
Traceback (most recent call last):
 File ".\astrotest.py", line 4, in <module>
    eph = obj.ephemerides()
File "C:\Users\ct_sk\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroquery\utils\class_or_instance.py", line 25, in f
    return self.fn(obj, *args, **kwds)
File "C:\Users\ct_sk\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroquery\utils\process_asyncs.py", line 29, in newmethod
    result = self._parse_result(response, verbose=verbose)
File "C:\Users\ct_sk\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroquery\jplhorizons\core.py", line 946, in _parse_result
    data = self._parse_horizons(response.text)
File "C:\Users\ct_sk\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroquery\jplhorizons\core.py", line 852, in _parse_horizons
    raise IOError('Cannot parse table column names.')
OSError: Cannot parse table column names.

我不知道该怎么办。对于3D问题,我对OpenGL略有涉猎,我发现它太难了,我想要更简单的东西。通常,当我做3D图形时,我会使用Processing (https://processing.org/),这样的东西会很完美。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-11-26 22:20:31

我试图查看这个库的源代码,但行号与您的不匹配,因此您需要在代码中检查这一点。

看看文件core.py852行,这就是你的错误。您可以打印在那里使用的值/对象,并查看它是否是您所期望的。在Python中,错误通常会进一步传播,所以如果值是错误的,您需要检查从哪里获得它并在那里进行调试。

如果您向我们显示您的错误所在的行,我们可能会为您提供更多帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53440421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档