使用astroquery.simbad

时间:2017-05-15 19:30:58

标签: python astronomy astropy astroquery

我在SIMBAD数据库上有大量的标准查询,例如:

region(circle, 29.20 -0.214, 0.60d) & otypes in ('ClG','SCG','GrG','CGG','SC?','C?G','Gr?')& redshift > 0.037 & redshift < 0.0531

此查询在所居中的0.6度圆内给出所有类型的对象('ClG','SCG','GrG','CGG','SC?','C?G','Gr?')在29.20 -0.214,红移在0.037和0.0531之间。 它在Web界面http://simbad.u-strasbg.fr/simbad/sim-fsam上运行良好,对于此示例,我得到一个对象。

问题是我需要像这样做大量的查询。我试图使用这个包python http://astroquery.readthedocs.io/en/latest/simbad/simbad.html,但我没有成功地正常工作。

from astroquery.simbad import Simbad

from astropy import coordinates

query_cr="region(circle, 29.20 -0.214, 0.60d)" types=('ClG','SCG','GrG','CGG','SC?','C?G','Gr?') 
result =Simbad.query_criteria(query_cr, otype=types)

像这样根本不起作用。

我尝试只为otype设置一个项目

types='ClG'

并且用这个我得到一个包含大量ogf对象的表(即使是0.6度的圆圈选择也不起作用)

我的目标是提取与我的条件查询匹配的每个对象的名称,类型,坐标和红移。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你与原来的尝试非常接近:

qry = ("region(circle, 29.20 -0.214, 0.60d) &"
       " otypes in ('ClG','SCG','GrG','CGG','SC?','C?G','Gr?') &"
       " redshift > 0.037 & redshift < 0.0531")
result = Simbad.query_criteria(qry)
result

结果是:

<Table masked=True length=1>
   MAIN_ID        RA        DEC    RA_PREC DEC_PREC COO_ERR_MAJA COO_ERR_MINA COO_ERR_ANGLE COO_QUAL COO_WAVELENGTH     COO_BIBCODE
               "h:m:s"    "d:m:s"                       mas          mas           deg
    object      str13      str13    int16   int16     float32      float32        int16       str1        str1             object
------------- ---------- --------- ------- -------- ------------ ------------ ------------- -------- -------------- -------------------
SDSSCGB 51414 01 55 07.2 -00 11 04       5        5           --           --             0        D              O 2009MNRAS.395..255M

请注意,为了便于阅读,我只将其拆分为多行; qry只是您传递给SIMBAD的完整字符串。这是astroquery发送的结果查询:

votable {main_id,coordinates}
votable open
query sample  region(circle, 29.20 -0.214, 0.60d) & otypes in ('ClG','SCG','GrG','CGG','SC?','C?G','Gr?')& redshift > 0.037 & redshift < 0.0531
votable close