1

我有大量的标准查询要在 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

此查询在以 29.20 为中心的 0.6 度圆内给出所有类型的对象('ClG'、'SCG'、'GrG'、'CGG'、'SC?'、'C?G'、'Gr?') - 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 度的圆选择也不起作用)

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

非常感谢您的帮助!

4

1 回答 1

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
于 2017-05-16T03:00:14.757 回答