AstroResearch/docs/catalog.md
Asfmq a156252bc3 feat: 接入 VizieR 星表检索与 LAMOST/Gaia/SDSS/DESI 跨源光谱下载
新增天文观测数据获取能力,覆盖星表查询与一维光谱下载两大场景:

星表检索(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),与星表功能联动
2026-07-06 00:07:25 +08:00

237 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 有 fluxBP/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 下载 |
---
## 查询示例
```sql
-- Gaia DR3视差 > 10mas 的亮星
SELECT TOP 100 DR3Name, RA_ICRS, DE_ICRS, Plx, Gmag, BP-RP
FROM "I/355/gaiadr3"
WHERE Plx > 10
-- LAMOSTS/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
-- SDSSr 波段 < 18 等的恒星
SELECT TOP 100 objID, RA_ICRS, DE_ICRS, rpmag, class
FROM "V/154/sdss16"
WHERE rpmag < 18 AND class = 6
```