【发布时间】:2018-11-23 03:45:40
【问题描述】:
我正在尝试编写一个程序,该程序将使用 JPL Horizons Ephemeris 向我展示地球上某个点的天空以及某些太阳系天体。我遇到了两个问题:astroquery.jplhorizons 模块不起作用,我没有足够的 3D 图形模块,我知道如何使用。这是第一个问题的代码;这是直接来自文档的测试 (https://astroquery.readthedocs.io/en/latest/jplhorizons/jplhorizons.html)。
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)
文档说我应该得到这个:
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
但是,当我从终端运行时却收到了这个错误:
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/),这样的东西会很完美。感谢您的帮助。
【问题讨论】:
-
您使用的是哪个版本的 astroquery?一开始 jplhorizons 存在一些问题,因此您应该考虑升级您的版本。如果你使用 pip 安装,可以试试
pip install --upgrade --pre astroquery。让我知道它是否有效。 -
是的,它起作用了,但在得到结果之前我得到了这个:
gzip was not found on your system! You should solve this issue for astroquery.eso to be at its best! On POSIX system: make sure gzip is installed and in your path!On Windows: same for 7-zip (http://www.7-zip.org)!我只需要安装 gzip 是什么? -
是的,试一试;它(可能)对您的用例无关紧要,但拥有一个完整的模块构建总是好的
-
这对我来说也与 astroquery 0.3.8 不同,但适用于 0.3.9。你能升级你的astroquery吗,也许用
pip install --upgrade astroquery然后重试?
标签: python-3.x 3d astronomy astroquery