astroquery:访问在线天文数据的 Python 工具集

天文学 2026-10-08 15 阅读

astroquery 是 astropy 的附属包,把 SIMBAD、VizieR 等在线天文数据服务封装成 Python 子模块,让研究者用统一接口检索和获取数据。

这个工具是什么

astroquery 是 astropy 的 affiliated package,定位是访问在线天文数据。它由一系列子包组成,每个在线网络服务对应一个子包,例如通过 simbad 子包访问 SIMBAD 网站。它基于 Python,要求 Python 3.10 或更高版本,并依赖 astropy 5.0 或更高版本。项目由 Adam Ginsburg 与 Brigitta Sipőcz 维护,采用 BSD-3-Clause 许可证,代码托管在 GitHub,文档发布在 Read the Docs,并为每个版本分配独立的 Zenodo DOI。使用时应引用其发表在 The Astronomical Journal 上的论文。

核心能力

  • 按服务划分子包,每个在线天文数据服务对应独立模块,便于按需导入。
  • 提供 query_object、query_region 等标准 API,多数模块共用一致的调用方式。
  • 返回结果可直接打印查看,如 SIMBAD 查询返回含 main_id、ra、dec 等列的表。
  • 作为 astropy 附属包,与 astropy 生态在版本和接口上保持衔接。

科研中的典型用法

  • 用 simbad 子包按天体名称查询,例如 Simbad.query_object('tet01 Ori C') 获取目标坐标等信息。
  • 通过 query_region 一类标准接口按天区检索在线星表或数据库中的源。
  • 在脚本中分别导入所需子模块,把不同在线服务的查询结果整合进同一分析流程。

快速上手

需 Python 3.10 及以上、astropy 5.0 及以上。用 pip 安装最新版:python -m pip install -U --pre astroquery;需要全部必需与可选依赖时加 [all],即 python -m pip install -U --pre astroquery[all]。也可从 GitHub 安装开发版:python -m pip install git+https://github.com/astropy/astroquery.git。注意单独 import astroquery 作用有限,需按需导入具体子模块,可查阅文档中的 Available Services 列表。

生态与相近工具

astroquery 属于 astropy 生态,是 astropy 的附属包,与 astropy 核心库配合使用。README 未列出同领域其他同类工具,因此不做对比。取舍时可考虑:若需要以统一 Python 接口访问多个在线天文数据服务,astroquery 的子包结构较为直接;若只需访问单一服务,也可直接使用该服务自身的接口。具体支持的服务清单以官方文档的 Available Services 为准。

项目信息


本文属于《学科研究工具知识库 · 天文学》第 5 篇(按 GitHub 星标排序)。收录标准:该学科公开可获取的开源研究工具,星标与活跃度为主要参考,不代表对其性能或适用性的背书;选型前请结合自身场景评估。

评论 共 0 条

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部