feat: 完善星表查询与跨版本回归验证
- 将星表名称数据收敛为 TSV/GZIP 单一数据源,补充中文名、别名、英文常用名及宿/垣区域字段 - 增加星表名称表加载校验、旧详情字段一致性校验和 GZIP 漂移检查 - 新增 StarDataByName、StarDataByNameAll、StarDataByNameIn ,统一中英文查询与重名消歧 - 优化日月食半影带、升落曲线和可见性回归测试,补充极区、拓扑及低精度场景覆盖 - 增加 Go 1.16/386 兼容门禁和测试案例,处理旧工具链的分配、拓扑、SVG字节及 ULP 差异 - 补充星表、坐标、日月食和低精度回归用例,完善测试文件与缓存忽略规则
This commit is contained in:
+14
-1
@@ -84,7 +84,7 @@ fmt.Println(crossings[0].Time.UTC().Format("2006-01-02 15:04"))
|
||||
|
||||
| 入口 | 输入 |
|
||||
| --- | --- |
|
||||
| `StarCoordinateByName(name)` | 星表中文名,例如 `"天狼星"` |
|
||||
| `StarCoordinateByName(name)` | 星表中文名/别名或英文常用名,例如 `"天狼星"`、`"sirius"`;同名多星返回 `ErrStarNameAmbiguous` |
|
||||
| `StarCoordinateByHR(hr)` | HR 编号 |
|
||||
| `StarCoordinateFromStarData(star)` | `star.StarDataByHR` 等取到的星表记录 |
|
||||
|
||||
@@ -98,6 +98,19 @@ fmt.Println(err, star.ID, fmt.Sprintf("%.6f %.6f %.2f %.2f", star.RA, star.Dec,
|
||||
<nil> 天狼 101.287083 -16.716111 -553.00 -1205.00
|
||||
```
|
||||
|
||||
`StarCoordinateByName` 遇到同名多星会返回 `phenomena.ErrStarNameAmbiguous`,未找到返回 `phenomena.ErrStarNotFound`;两者都可用 `errors.Is` 判断。重名时先用 `star.StarDataByNameIn(name, region)` 取到唯一星表记录,再交给 `StarCoordinateFromStarData`:
|
||||
|
||||
```go
|
||||
data, err := star.StarDataByNameIn("杵增一", "危宿")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
coord, err := phenomena.StarCoordinateFromStarData(data)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
```
|
||||
|
||||
`RA`、`Dec` 为度,`Epoch` 与 `Frame` 必填;自行字段(`ProperMotionRACosDecMasPerYear` 等)按星表常见的 `dRA·cos(Dec)` 约定,单位毫角秒/年。`ParallaxMas`(或等价的 `DistanceLightYear`)给出距离,`RadialVelocityKmPerSecond` 给出视向速度;距离缺失时按二维自行传播,有距离时才计入视向速度。
|
||||
|
||||
## 偕日可见
|
||||
|
||||
Reference in New Issue
Block a user