我试图使用Simbad
类从astroquery
获取所有帧的坐标,就像在SIMBAD web page上显示的一样
(基础数据部分)
我有以下代码:
from astroquery.simbad import Simbad
def get():
Simbad.reset_votable_fields()
Simbad.remove_votable_fields('coordinates')
Simbad.add_votable_fields('ra(:;A;ICRS;J2000)', 'dec(:;D;ICRS;2000)')
Simbad.add_votable_fields('ra(:;A;FK5;J2000)', 'dec(:;D;FK5;2000)')
table = Simbad.query_object("Betelgeuse", wildcard=False)
但我得到了一个错误:
KeyError: 'ra(:;A;FK5;J2000): field already present. Fields ra,dec,id,otype, and bibcodelist can only be specified once. To change their options, first remove the existing entry, then add a new one.'
我在文档中找到的关于操作votable字段的所有信息,尤其是坐标如下:
有没有一种方法可以获得发送一个查询到SIMBAD的所有帧的坐标?
由于我无法确定的原因,astroquery不支持多个可配置的添加VO选项。不过,很快就会有:见this pull request。你发布的代码没有问题,只是astroquery中的一个bug。在
您可以使用^{} 转换坐标,而不是从SIMBAD查询多个坐标(astroquery似乎不可能)。在
例如:
它现在是一个可以转换为其他帧的SkyCoord对象:
^{pr2}$这可以再次转换为字符串,例如
hms dms
格式:如果要将这些列作为表中的附加列,只需添加以下内容:
相关问题 更多 >
编程相关推荐