用astropy查询Gaia数据

发布时间:2026/7/16 10:07:49
用astropy查询Gaia数据 文章目录简介简单查询ADQL查询简介盖亚全天天体测量干涉仪Global Astrometric Interferometer for Astrophysics, Gaia长下面这样是欧空局(ESA)主导的一项空间天体测量任务于2013年12月发射运行在日地系统的第二拉格朗日点L2附近的李萨如轨道上。2022年Gaia发布了第三批数据(Gaia DR3)总共包含18.1亿个天体源的数据总共10T左右。26年则发布的DR4更是有超过500TB的数据现在硬盘这么贵显然不可能全下载。简单查询【astroquery】提供了Gaia数据库的查询功能例如下面我们要查询一下M45昴星团示例如下。fromastroquery.gaiaimportGaiafromastropy.coordinatesimportSkyCoordimportastropy.unitsasu coordSkyCoord(ra56.87,dec24.12,unit(u.degree,u.degree),frameicrs)radiusu.Quantity(0.5,u.deg)# 搜索半径 0.5 度tabGaia.query_object(coordinatecoord,radiusradius)上述代码中通过指定坐标和角半径来搜索天体其返回值是个数据表。通过tab.colnames可获取其表头其查询结果共有153列内容涵盖solution_id, designation, source_id等。ADQL查询astroquery支持基于天文数据查询语言(Astronomical Data Query Language, ADQL)来搜索天文数据示例如下queryf SELECT TOP 5000 ra, dec, phot_g_mean_mag, parallax, parallax_error, bp_rp FROM gaiadr3.gaia_source WHERE CONTAINS(POINT(ICRS, ra, dec), CIRCLE(ICRS,{coord.ra.deg},{coord.dec.deg},{radius.to(u.deg).value})) 1 AND parallax 0 AND parallax_error / parallax 0.2 -- 相对误差小于 20% AND bp_rp IS NOT NULL jobGaia.launch_job(query)tabjob.results在查询代码中第一行表示最多只返回5000组数据第二行为具体请求的字段分别是ra赤经 (Right Ascension)单位是度 (degree)。dec赤纬 (Declination)单位是度 (degree)。phot_g_mean_magG 波段的平均视星等 (Apparent Magnitude)。数值越小恒星越亮。parallax视差 (Parallax)单位是毫角秒 (mas)。它是计算恒星距离的关键距离d ≈ 1000 d\approx1000d≈1000/parallax秒差距。parallax_error视差的测量误差单位也是 mas。用于评估视差数据的可靠性。bp_rp颜色指数 (Color Index)即 BP 波段星等减去 RP 波段星等 (G B P − G R P G_{BP}-G_{RP}GBP​−GRP​)。它反映了恒星的表面温度数值越小越蓝/越热数值越大越红/越冷。将查询结果绘制为图像效果如下绘图代码为fig,axplt.subplots(figsize(8,8))fig.patch.set_facecolor(black)ax.set_facecolor(black)sizesnp.clip(np.exp(-tab[phot_g_mean_mag])*1e5,10,500)scax.scatter(tab[ra],tab[dec],ctab[phot_g_mean_mag],cmapplasma_r,marker*,ssizes,alpha0.85,edgecolorsnone)ax.axis(off)plt.tight_layout()plt.show()