feat: 完善水星与金星全球凌日搜索及制图导出

- 基于平均下合周期与节点相位预筛候选,减少无效星历计算;跳过无法求解的单个会合周期,避免有限覆盖星历导致搜索提前终止
- 引入影轴 γ、半影半径及地球尺度几何判定,结合站心可见性识别地心无接触、仅部分地区可见的掠凌
- 添加金星 243 年、水星 46 年周期族编号,并明确编号适用范围及未分配时的零值语义
- 为 SVG、GeoJSON 和 KML 增加站心部分凌日可见区,适配接触等时线、几何元数据、图层样式及取景;为地心无接触凌日事件增加正射图,按可见区球面面积加权居中
This commit is contained in:
b612 committed 2026-10-20 22:35:39 +08:00
1 parent 72460fa228
commit ccf5880269
41 files changed
+1554 -307

No files matched your search

+3 -1
View File
@@ -1254,6 +1254,7 @@ var lookAtPriority = map[string]bool{
"occultation-band": true,
"total-footprint": true,
"sublunar-track": true,
"transit-partial": true,
}
func lookAtElements(groups []roleGeometry) [][]element {
@@ -1386,7 +1387,7 @@ func paletteStyle(event, role string) Style {
return Style{LineColor: ColorOrange, LineWidth: 2}
case "c1-horizon", "c4-horizon", "visible-at-c1", "visible-at-c4":
return Style{LineColor: ColorOrange, LineWidth: 2}
case "transit-entire":
case "transit-entire", "transit-partial":
return Style{LineColor: transitEntireColor, FillColor: transitEntireFill, LineWidth: 1.5}
case "transit-at-sunrise":
return Style{LineColor: transitSunriseColor, FillColor: transitSunriseFill, LineWidth: 1.5}
@@ -1629,6 +1630,7 @@ var roleNames = map[string][2]string{
"visible-at-c1": {"一触可见区", "Visible at C1"},
"visible-at-c4": {"四触可见区", "Visible at C4"},
"transit-entire": {"全程可见", "Entire transit visible"},
"transit-partial": {"部分凌日可见区", "Partial transit visible"},
"transit-at-sunrise": {"日出时已在凌日", "Transit in progress at sunrise"},
"transit-at-sunset": {"日落时仍在凌日", "Transit in progress at sunset"},
"c1-isochrone": {"一触等时线", "C1 isochrones"},