AstroResearch/src/services/observation/gaia_xp/config/bpC03_v375wi_dispersion.csv
Asfmq 8f1ed6d08c feat: 观测层跨源扩展——ZTF/TESS 时域 + Gaia XP 光谱还原 + FITS 预览与统一全源检索
后端(新增 ~4400 行):
- 新增 IRSA/IPAC、MAST 两客户端:ZTF 光变曲线(IRSA REST,CSV,免认证)、
  TESS 光变(MAST TIC cone search + LC FITS),均复用 SSRF 安全重定向 + 重试
- Gaia DR3 XP_CONTINUOUS 光谱还原(gaia_xp/):逆向 GaiaXPy calibrate() 算法,
  55 个 Hermite 系数 → 采样光谱;design_matrix 启动时 OnceLock 预计算一次。
  因 fitsio crate 遇 PD(55) 变长数组列会 panic,改用 fitsio-sys 直连 CFITSIO
  原生读取;新增 fitsio/fitsio-sys(vendored,无需系统 cfitsio)
- FITS 预览解析层(preview.rs):跨 LAMOST/SDSS/DESI/Gaia XP 的异构 FITS
  (BinTable/Image/Hermite 系数)统一归一化为 ObservationPreview JSON
  (Spectrum/LightCurve/Photometry/Image 标签枚举,OCP 可扩展)
- 测光 fetcher(photometry.rs):2MASS/AllWISE/Pan-STARRS/Gaia 四源,
  均复用 VizieR/Gaia TAP 查询、零新 HTTP 代码,配置驱动表名/列名差异
- 统一全源检索(unified.rs):在 dispatch 之上叠加多目标 × 多源并发 cone 扇出,
  失败隔离,两阶段(检索聚合 → 勾选后复用现有 download 端点批量下载)
- registry 注册 6 个新 fetcher + list_all_keys() 暴露全 (Source,ProductSpec)
  组合供前端细粒度勾选;Source 枚举增 5 个变体
- 新增 3 条路由:GET /observation/preview、POST /observation/unified/{search,resolve}

前端(新增 ~1600 行):
- UnifiedSearchPanel:三模式目标输入(坐标/天体名/CSV)+ 源 chip 筛选,
  按 (source,product) 分组展示候选源并支持勾选批量下载
- SpectrumPlot:手写内联 SVG 光谱折线图(零第三方绘图库),多段叠加 + hover 取值
- ObservationPreviewRenderer + useObservationPreview:预览渲染接入
- useObservation/ObservationResultCard/App 联动统一检索状态与下载链路
2026-07-09 00:20:29 +08:00

1.8 KiB

1275.0295.0315.0335.0355.0375.0395.0415.0435.0455.0475.0495.0515.0535.0555.0575.0595.0615.0635.0655.0675.0695.0715.0735.0755.0775.0795.0815.0835.0855.0875.0895.0915.0935.0955.0975.0995.01015.01035.01055.01075.01095.01115.01135.01155.01175.01195.01215.01235.01255.01275.01295.01315.01335.01355.01375.01395.01415.01435.01455.01475.01495.01515.01535.01555.01575.01595.01615.01635.01655.01675.01695.01715.01735.01755.01775.01795.01815.01835.01855.01875.01895.01915.01935.01955.01975.01995.02015.02035.02055.02075.02095.02115.02135.02155.02175.02195.0
275.9181040265.3067659856.7442012849.8845019344.3339349939.7722193035.9620068332.7320890629.9588868127.5519353125.4436423323.5823507321.9277003920.4475211319.1157273317.9108653616.8150889915.8134186714.8931922314.0436475513.2555981812.5211761211.8336245511.1871282010.576673259.9979302849.4471560318.9211102848.4169853887.9323461777.4650786667.0133461176.5755513616.1503044115.7363946085.3327666204.9384997464.5527900514.1749349353.8043197803.4404064053.0827230632.7308557722.3844407992.0431581381.7067258451.3748951211.0474460370.72418381250.40493558160.08954757939-0.2221173109-0.5301816929-0.8347555172-1.135937702-1.433817548-1.728475967-2.019986561-2.308416552-2.593827607-2.876276543-3.155815952-3.432494739-3.706358600-3.977450424-4.245810658-4.511477616-4.774487750-5.034875885-5.292675425-5.547918531-5.800636273-6.050858765-6.298615283-6.543934356-6.786843865-7.027371104-7.265542853-7.501385427-7.734924728-7.966186278-8.195195258-8.421976533-8.646554680-8.868954005-9.089198559-9.307312157-9.523318383-9.737240605-9.949101979-10.15892545-10.36673378-10.57254951-10.77639501-10.97829244-11.17826377-11.37633080