72460fa228
- 将星表名称数据收敛为 TSV/GZIP 单一数据源,补充中文名、别名、英文常用名及宿/垣区域字段 - 增加星表名称表加载校验、旧详情字段一致性校验和 GZIP 漂移检查 - 新增 StarDataByName、StarDataByNameAll、StarDataByNameIn ,统一中英文查询与重名消歧 - 优化日月食半影带、升落曲线和可见性回归测试,补充极区、拓扑及低精度场景覆盖 - 增加 Go 1.16/386 兼容门禁和测试案例,处理旧工具链的分配、拓扑、SVG字节及 ULP 差异 - 补充星表、坐标、日月食和低精度回归用例,完善测试文件与缓存忽略规则
36 lines
1.4 KiB
Go
36 lines
1.4 KiB
Go
package phenomena
|
|
|
|
import "b612.me/astro/basic"
|
|
|
|
// StarData 内嵌 9100 星表中的一条记录 / one entry from the embedded 9100-star catalog.
|
|
type StarData = basic.StarData
|
|
|
|
// ErrStarNotFound 未找到匹配的恒星 / no matching star.
|
|
var ErrStarNotFound = basic.ErrStarNotFound
|
|
|
|
// ErrStarNameAmbiguous 星名对应多颗恒星 / the star name matches more than one star.
|
|
var ErrStarNameAmbiguous = basic.ErrStarNameAmbiguous
|
|
|
|
// StarCoordinateFromStarData 将星表记录转换为恒星坐标 / converts a catalog entry to a star coordinate.
|
|
func StarCoordinateFromStarData(star StarData) (StarCoordinate, error) {
|
|
return basic.StarCoordinateFromStarData(star)
|
|
}
|
|
|
|
// StarCoordinateByHR 按 HR 编号从内嵌星表得到恒星坐标 / returns a star coordinate by HR number.
|
|
func StarCoordinateByHR(hr int) (StarCoordinate, error) {
|
|
star, err := basic.StarDataByHR(hr)
|
|
if err != nil {
|
|
return StarCoordinate{}, err
|
|
}
|
|
return StarCoordinateFromStarData(star)
|
|
}
|
|
|
|
// StarCoordinateByName 按内嵌星表中文名、别名或英文常用名得到唯一恒星坐标;同名多星返回 ErrStarNameAmbiguous / returns the unique star coordinate by Chinese name, alias or English common name, or ErrStarNameAmbiguous for duplicate names.
|
|
func StarCoordinateByName(name string) (StarCoordinate, error) {
|
|
star, err := basic.StarDataByName(name)
|
|
if err != nil {
|
|
return StarCoordinate{}, err
|
|
}
|
|
return StarCoordinateFromStarData(star)
|
|
}
|