新增天文观测数据获取能力,覆盖星表查询与一维光谱下载两大场景:
星表检索(CDS VizieR)
- VizieR TAP 客户端(JSON 优先 + VOTable 降级),共享 IVOA VOTable 解析层
- 业务层支持自由 ADQL、锥形检索、交叉证认、星表发现与 CSV 导出
- ADQL 注入防护(标识符清洗 + 字符串字面量转义),TTL 缓存(7 天)
跨望远镜光谱下载(统一入口)
- 接入 LAMOST(ConeSearch + FITS.gz)、Gaia(TAP + DataLink ZIP)、
SDSS(Data Lab TAP + SAS)、DESI(HEALPix coadd)四源
- 双模式:坐标模式(cone 检索 → 选源 → 下载)/ 标识符模式(直按 ID 下载)
- 光谱文件永久缓存(不可变),按 source+source_id 去重
Agent 与 API
- +4 工具:query_vizier / cone_search / find_spectrum / catalog_operation(22 → 26)
- +6 路由:/catalog/vizier、/cone、/crossmatch、/spectrum/{download,list}
- 前端新增 VizierResultCard / FindSpectrumCard 可视化卡片
工程重构
- services/target.rs (832 行) 拆分为 services/cds/{target,vizier}.rs + clients/cds/sesame.rs,
贯彻 client(通信)/ service(缓存+编排)分层
- ADS 返回字段新增 data(关联数据表 URL),与星表功能联动
7.7 KiB
7.7 KiB
VizieR 星表查询指南
表名结构
VizieR 表名三段式:分类/编号/子集
I/355/gaiadr3
│ │ │
│ │ └─ 子集:具体数据子集或版本
│ └───── 编号:CDS 分配的顺序号(纯索引)
└──────── 分类:数据类型
分类前缀
| 前缀 | 类型 | 说明 | 示例 |
|---|---|---|---|
I/ |
天体测量 | 位置、自行、视差 | I/355/gaiadr3(Gaia DR3) |
II/ |
测光 | 多波段测光数据 | II/246/out(2MASS) |
III/ |
光谱 | 已发布光谱 flux 数据 | III/272(LAMOST DR6) |
IV/ |
交叉证认 | 不同星表匹配结果 | IV/14/trp2mass |
V/ |
综合 | 大型巡天综合目录 | V/162/dr11l(LAMOST)、V/154/sdss16(SDSS) |
B/ |
文献(旧) | 早期文献伴生数据 | B/cb/cbdata |
J/ |
期刊表 | 论文伴生数据表 | J/ApJ/836/5/table1 |
为什么 LAMOST 和 SDSS 是 V/ 不是 III/
III/ 要求表中直接包含光谱 flux 数组(波长-流量对)。LAMOST 和 SDSS 的 VizieR 表只存了测光/元数据/参数,原始光谱 FITS 文件在各自数据中心,所以归入 V/(综合巡天目录)。
J/ 期刊表命名
J/ApJ/836/5/table1
│ │ │ │ │
│ │ │ │ └─ 论文中表编号
│ │ │ └───── 卷号
│ │ └───────── 文章编号
│ └────────────── 期刊缩写
└───────────────── 固定前缀 J/
常用期刊:ApJ(天体物理学报)、A&A(天文与天体物理)、MNRAS(皇家天文学会月刊)、AJ(天文期刊)、ApJS(天体物理学报增刊)
Gaia DR3
主表 I/355/gaiadr3(18 亿源,225 列)
天体测量(核心):
| 列名 | 类型 | 单位 | 说明 |
|---|---|---|---|
DR3Name |
CHAR(28) | — | 唯一标识(如 Gaia DR3 162109245908224) |
Source |
BIGINT | — | 源 ID |
RA_ICRS |
DOUBLE | deg | 赤经(J2016.0) |
DE_ICRS |
DOUBLE | deg | 赤纬(J2016.0) |
e_RA_ICRS |
REAL | mas | 赤经误差 |
e_DE_ICRS |
REAL | mas | 赤纬误差 |
Plx |
DOUBLE | mas | 视差 |
e_Plx |
REAL | mas | 视差误差 |
pmRA |
DOUBLE | mas/yr | 赤经方向自行 |
pmDE |
DOUBLE | mas/yr | 赤纬方向自行 |
e_pmRA |
REAL | mas/yr | 自行误差 |
e_pmDE |
DOUBLE | mas/yr | 自行误差 |
测光(G/BP/RP 三波段):
| 列名 | 类型 | 单位 | 说明 |
|---|---|---|---|
Gmag |
DOUBLE | mag | G 波段平均星等 |
e_Gmag |
DOUBLE | mag | G 星等误差 |
BPmag |
DOUBLE | mag | BP 波段星等 |
RPmag |
DOUBLE | mag | RP 波段星等 |
BP-RP |
DOUBLE | mag | BP-RP 色指数 |
BP-G |
DOUBLE | mag | BP-G 色指数 |
E(BP/RP) |
DOUBLE | mag | BP/RP 过量因子(消光指示) |
其他重要列: 径向速度 (RV)、光谱类型、银河系参数、变星标记等,完整 225 列。
光谱相关表
| 表名 | 行数 | 内容 | 含 flux? |
|---|---|---|---|
I/355/rvsmean |
24 亿 | RVS 均采样光谱 | 是(RVS 波段) |
I/355/xpsummary |
2.2 亿 | BP/RP 光谱摘要参数 | 否(参数) |
I/355/spectra |
3400 万 | 光谱视图 | 否(链接到 FITS) |
LAMOST
主表 V/162/dr11l(DR11 LRS 低分辨率,1200 万条光谱)
观测标识:
| 列名 | 类型 | 说明 |
|---|---|---|
ObsID |
INT | 光谱观测 ID(下载 FITS 的关键字) |
Target |
CHAR(19) | 目标名称(JHHMMSS.ss+DDMMSS.s) |
PlanID |
VARCHAR | 观测计划名 |
spID |
SMALLINT | 光谱仪编号(1-16) |
FiberID |
SMALLINT | 光纤编号(1-250) |
FiberType |
CHAR(5) | 光纤类型(Obj/Sky/Filler) |
坐标与时间:
| 列名 | 类型 | 单位 | 说明 |
|---|---|---|---|
RAJ2000 |
DOUBLE | deg | 纤维指向赤经 |
DEJ2000 |
DOUBLE | deg | 纤维指向赤纬 |
Obs_Date |
DOUBLE | — | 儒略日 |
LMJD / MJD |
INT | d | 修正儒略日 |
信噪比(5 波段):
| 列名 | 说明 |
|---|---|
snru / snrg / snrr / snri / snrz |
u/g/r/i/z 波段信噪比 |
光谱分类与红移:
| 列名 | 说明 |
|---|---|
Class |
大类(STAR / GALAXY / QSO) |
subClass |
光谱子型(如 K4、G8、A0) |
z |
光谱红移 |
e_z |
红移误差 |
测光(PanSTARRS + Gaia):
| 列名 | 说明 |
|---|---|
gmag / rmag / imag / zmag / ymag |
PanSTARRS 五波段星等 |
Gmag |
Gaia G 波段星等 |
GaiaDR3 |
Gaia DR3 源 ID |
PanSTARRS |
PanSTARRS objID |
光纤信息: offsets(偏移标记)、FiberMask(光纤问题)、fNFlux(是否有归一化流量)、nMRS(中分辨率光谱数)
参数表(需单独查)
| 表名 | 行数 | 包含参数 |
|---|---|---|
J/ApJ/836/5/table1 |
45 万 | Teff、logg、[Fe/H]、[α/M] |
J/ApJS/266/40/catalog |
140 万 | MRS 恒星参数+化学丰度 |
J/ApJS/271/60/table1 |
306 万 | G 型星光谱参数 |
SDSS
主表 V/154/sdss16(DR16 测光,12.3 亿源,50 列)
标识与分类:
| 列名 | 类型 | 说明 |
|---|---|---|
objID |
BIGINT | SDSS 唯一标识 |
RA_ICRS |
DOUBLE | 赤经(ICRS) |
DE_ICRS |
DOUBLE | 赤纬(ICRS) |
class |
SMALLINT | 天体类型(3=星系、6=恒星) |
mode |
SMALLINT | 照相模式(1=主探测) |
clean |
SMALLINT | 测光质量标记 |
PSF 星等(5 波段):
| 列名 | 单位 | 说明 |
|---|---|---|
upmag / gpmag / rpmag / ipmag / zpmag |
mag | u/g/r/i/z PSF 星等 |
e_upmag ... e_zpmag |
mag | 对应误差 |
Petrosian 星等与半径:
| 列名 | 说明 |
|---|---|
uPmag ... zPmag |
Petrosian 星等(5 波段) |
uPrad ... zPrad |
Petrosian 半径(角秒) |
形态拟合(De Vaucouleurs):
| 列名 | 说明 |
|---|---|
udVrad ... zdVrad |
拟合半径 |
udVell ... zdVell |
轴比 (b/a) |
三巡天对比
| Gaia DR3 | LAMOST DR11 | SDSS DR16 | |
|---|---|---|---|
| VizieR 表 | I/355/gaiadr3 |
V/162/dr11l |
V/154/sdss16 |
| 分类 | I/ 天体测量 |
V/ 综合巡天 |
V/ 综合巡天 |
| 数据量 | 18 亿源 | 1200 万光谱 | 12.3 亿源 |
| 核心数据 | 位置+自行+视差+测光 | S/N+光谱型+红移 | 五波段测光+形态 |
| 恒星参数 | 无 | 无(另查 J/ 表) |
无(另查 J/ 表) |
| 原始光谱 | RVS 有 flux;BP/RP 需下载 FITS | 需用 ObsID 下载 FITS | 需从 SkyServer 下载 |
光谱数据获取方式
| 巡天 | 参数表(TAP 可查) | 原始光谱(需下载) |
|---|---|---|
| Gaia DR3 | I/355/xpsummary(BP/RP 摘要) |
I/355/spectra → 链接到 FITS |
| Gaia DR3 RVS | — | I/355/rvsmean(含 flux) |
| LAMOST | J/ApJ/836/5/table1 等 |
用 ObsID 从 lamost.org 下载 |
| SDSS | J/ApJ/901/93/table1 等 |
从 SkyServer spectra 下载 |
查询示例
-- Gaia DR3:视差 > 10mas 的亮星
SELECT TOP 100 DR3Name, RA_ICRS, DE_ICRS, Plx, Gmag, BP-RP
FROM "I/355/gaiadr3"
WHERE Plx > 10
-- LAMOST:S/N_r > 50 的 K 型星
SELECT TOP 100 ObsID, RAJ2000, DEJ2000, subClass, z, snrr
FROM "V/162/dr11l"
WHERE snrr > 50 AND Class = 'STAR' AND subClass LIKE 'K%'
-- LAMOST 恒星参数
SELECT TOP 100 RA, DEC, Teff, logg, FEH, ALPHA
FROM "J/ApJ/836/5/table1"
WHERE Teff BETWEEN 5000 AND 6000
-- SDSS:r 波段 < 18 等的恒星
SELECT TOP 100 objID, RA_ICRS, DE_ICRS, rpmag, class
FROM "V/154/sdss16"
WHERE rpmag < 18 AND class = 6