Files
astro/moon/svg/occultation_map.go
T
b612 2bf8478639 feat: 完善日月食与月掩几何链路并扩展历法接口
- 新增日月食中心带、偏食带、阴影足迹、等时线、食分线及升落边界计算,支持极区与混合食拓扑
- 新增日食单时刻阴影求解器、站心状态查询、批量采样和 ΔT 覆盖接口
- 重构恒星与行星月掩路径,补充有限盘面接触、站心修正、掩带宽度、极区投影及升落边界
- 扩展 SVG 与 GeoJSON 输出,支持详细面板、全球/极区/地球投影、边界闭合、时间标记和拓扑签名
- 扩展日月食候选搜索、局地搜索、沙罗序列预计算与范围外推,补充系列锚点和成员一致性校验
- 补齐古历纪年、儒略历独有闰日、多公历候选、历法改革跨日及精确日期运算接口
- 优化 ΔT、章动、恒星时、月球地平线、事件根搜索和本地星历缓存,降低重复计算开销并提升边界稳定
2026-09-17 12:27:40 +08:00

33 lines
1.6 KiB
Go

package svg
import "b612.me/astro/internal/svgmap"
// MapProjection 控制全球月掩地图使用的投影。
// 零值根据事件几何自动选择投影。
// 与 eclipse/svg.EclipseMapProjection 是同一概念的两套名字,取值字符串逐对相同。
// MapProjection controls the projection used by a global occultation map.
// The zero value selects a projection from the event geometry.
type MapProjection string
const (
// MapProjectionAuto 根据事件几何自动选择投影。
// MapProjectionAuto selects a projection from event geometry.
MapProjectionAuto MapProjection = ""
// MapProjectionEquirectangular 使用等经纬投影。
// MapProjectionEquirectangular uses the equirectangular projection.
MapProjectionEquirectangular MapProjection = "equirectangular"
// MapProjectionNorthPolar 使用北极方位等距投影。
// MapProjectionNorthPolar uses the north-polar azimuthal equidistant projection.
MapProjectionNorthPolar MapProjection = "north-polar"
// MapProjectionSouthPolar 使用南极方位等距投影。
// MapProjectionSouthPolar uses the south-polar azimuthal equidistant projection.
MapProjectionSouthPolar MapProjection = "south-polar"
// MapProjectionOrthographic 使用正射球面投影,视点取事件中心,只画朝向观察者的半球。
// MapProjectionOrthographic uses the orthographic globe, viewed from the event centre; only the facing hemisphere is drawn.
MapProjectionOrthographic MapProjection = "orthographic"
)
func internalMapProjection(value MapProjection) svgmap.Projection {
return svgmap.Projection(value)
}