Запрос критериев в базе данных SIMBAD с помощью astroquery.simbad
У меня есть большое количество критериев запросов к базе данных 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
Этот запрос дает все объекты типов ("ClG", "SCG", "GrG", "CGG", "SC?", "C?G", "Gr?") В круге 0,6 градуса с центром в 29,20 -0,214 и с красным смещением от 0,037 до 0,0531. Он хорошо работает в веб-интерфейсе 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)
Как это не работает вообще.
Я попытался положить только один элемент для ототипа
types='ClG'
и с этим я получаю таблицу с огромным количеством объектов ogf (даже выбор круга на 0,6 градуса не работает)
Моя цель - извлечь имя, тип, координату и красное смещение каждого из объектов, соответствующих моему критерию запроса.
Заранее большое спасибо за вашу помощь!
1 ответ
Вы были довольно близки с вашей первоначальной попыткой:
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