feat: 扩展天文计算能力

- 新增日食、月食、本地可见性、中心线、半影区域、SVG 图示与沙罗周期信息
- 新增行星冲合、留、方照、物理星历、视直径、相位、亮肢角、轨道节点等计算
- 新增木星伽利略卫星位置、现象与接触事件计算
- 新增恒星星表、星座判定、自行修正与观测辅助能力
- 新增 coord、formula、orbit、sundial、lite/sun、lite/moon 等扩展包
- 完善农历年号、月相英文别名、视差角、大气质量、折射、日晷与双星计算
- 增加 NASA、JPL Horizons、IMCCE 等回归测试数据与基线测试
- 重构基础算法文件组织,补充大量公开 API 注释和语义回归测试
- 更新中文和英文 README,补充示例、精度说明、SVG 配图
This commit is contained in:
2026-05-01 22:38:44 +08:00
parent 98ff574495
commit 3ffdbe0034
365 changed files with 63589 additions and 17508 deletions
+24 -2
View File
@@ -17,6 +17,7 @@ type EraDesc struct {
Dynasty string
}
// String 年号字符串 / era description string.
func (e EraDesc) String() string {
if e.YearOfNianHao == 1 {
return e.Nianhao + "元年"
@@ -86,7 +87,7 @@ func innerEras(year int, eraSource func() []Era) []EraDesc {
}
func nianHaoMap() map[string][][]int {
return map[string][][]int{
m := map[string][][]int{
"民国": [][]int{{1912, 1949}},
"宣统": [][]int{{1909, 1911}},
"光绪": [][]int{{1875, 1908}},
@@ -127,7 +128,7 @@ func nianHaoMap() map[string][][]int {
"大德": [][]int{{1297, 1307}},
"元贞": [][]int{{1295, 1297}},
"至元": [][]int{{1264, 1294}, {1335, 1368}},
"祥兴": [][]int{{1278, 1264}},
"祥兴": [][]int{{1278, 1279}},
"景炎": [][]int{{1276, 1278}},
"德祐": [][]int{{1275, 1276}},
"咸淳": [][]int{{1265, 1275}},
@@ -402,6 +403,27 @@ func nianHaoMap() map[string][][]int {
"天汉": [][]int{{-99, -96}},
"太初": [][]int{{-103, -100}},
}
addNianHaoYouCompatAliases(m)
return m
}
func addNianHaoYouCompatAliases(m map[string][][]int) {
for alias, canonical := range map[string]string{
"延佑": "延祐",
"德佑": "德祐",
"宝佑": "宝祐",
"淳佑": "淳祐",
"元佑": "元祐",
"嘉佑": "嘉祐",
"皇佑": "皇祐",
"景佑": "景祐",
"乾佑": "乾祐",
"天佑": "天祐",
} {
if years, ok := m[canonical]; ok {
m[alias] = years
}
}
}
func hanEras() []Era {