044f2f4381
- 新增半解析、旧模型、自定义与多源堆叠星历实例,提供 Context、Instance、SPK 读取及状态与视位置计算 - 统一太阳、月球和行星实例接口,扩展黄经穿越、留、相位、最近角距、偕日可见、任意高度升落、轨道节点及凌日等天象查询 - 完善日月食、月掩与凌日的月缘剖面、有限盘面接触、站心修正、局地可见性、全球路径和地图输出 - 新增 SVG、GeoJSON、KML 天象输出及凌日、月掩和月缘地形相关缓存与几何求解 - 新增恒星星表导入与查询,支持 CSV、Hipparcos、BSC5、Stellarium 等格式及名称、交叉标识、锥面检索和星等过滤 - 补充 IAU 2006、地球定向、折射消光、大气观测、轨道传播及半解析行星/月球数据支持 - 将默认未来民用时标切换为 TimeScaleLeapHour,更新 2027–2400 农历速查表、中文日期解析和时区边界处理 - 增加事件基线、跨模型回归、几何边界、月缘地形和输出契约测试,完善中英文手册、示例资源、NOTICE 与忽略规则
68 lines
3.5 KiB
Go
68 lines
3.5 KiB
Go
// Package svg 生成日食、月食与水星、金星凌日的 SVG 图件。
|
|
//
|
|
// 可降级的图层用 data-source 标注实际几何来源,取值词表如下;没有降级分支的图层不带该属性。
|
|
//
|
|
// partial-band-union 偏食可见域填充:权威边界线材与瞬时足迹求并集
|
|
// sampled-footprint-sweep 偏食可见域填充:逐瞬时足迹扫掠(并集不可用时的降级)
|
|
// partial-band-contours 偏食可见域边界线
|
|
// rise-set-phase-lines 初亏、食甚、复圆的日升日落线
|
|
// magnitude-contours 地方最大食分等值线
|
|
// greatest-time-isochrones 食甚时刻等时线
|
|
// besselian-critical-envelope 中心食带:Bessel 临界包络
|
|
// paired-limit-chords 中心食带:南北限界弦带(包络不可用时的降级)
|
|
// sampled-open-sweep 中心食带:采样扫掠(前两者都不可用时的降级)
|
|
// central-path-limits 中心线与南北限界线
|
|
// penumbral-outlines 瞬时半影轮廓
|
|
// central-shadow-outlines 瞬时本影、反本影轮廓
|
|
// p1-p4-visibility-regions 月食可见性分区
|
|
// p1-p4-horizon-boundaries 月食 P1、P4 地平边界
|
|
// c1-c4-visibility-regions 凌日可见性分区
|
|
// c1-c4-horizon-boundaries 凌日 C1、C4 视地平边界
|
|
// transit-contact-isochrones 凌日站心接触等时线
|
|
//
|
|
// Package svg renders solar-eclipse, lunar-eclipse and Mercury/Venus transit SVG charts. Degradable layers tag the geometry
|
|
// source they actually used in data-source, using exactly the values above.
|
|
package svg
|
|
|
|
// data-source 词表,见包注释。
|
|
const (
|
|
eclipseMapSourcePartialBandUnion = "partial-band-union"
|
|
eclipseMapSourceSampledFootprintSweep = "sampled-footprint-sweep"
|
|
eclipseMapSourcePartialBandContours = "partial-band-contours"
|
|
eclipseMapSourceRiseSetPhaseLines = "rise-set-phase-lines"
|
|
eclipseMapSourceMagnitudeContours = "magnitude-contours"
|
|
eclipseMapSourceGreatestTimeIsochrones = "greatest-time-isochrones"
|
|
eclipseMapSourceBesselianEnvelope = "besselian-critical-envelope"
|
|
eclipseMapSourcePairedLimitChords = "paired-limit-chords"
|
|
eclipseMapSourceSampledOpenSweep = "sampled-open-sweep"
|
|
eclipseMapSourceCentralPathLimits = "central-path-limits"
|
|
eclipseMapSourcePenumbralOutlines = "penumbral-outlines"
|
|
eclipseMapSourceCentralShadowOutlines = "central-shadow-outlines"
|
|
eclipseMapSourceLunarVisibilityRegions = "p1-p4-visibility-regions"
|
|
eclipseMapSourceLunarHorizonBoundaries = "p1-p4-horizon-boundaries"
|
|
eclipseMapSourceTransitVisibilityRegions = "c1-c4-visibility-regions"
|
|
eclipseMapSourceTransitHorizonBoundaries = "c1-c4-horizon-boundaries"
|
|
eclipseMapSourceTransitContactIsochrones = "transit-contact-isochrones"
|
|
)
|
|
|
|
// eclipseMapDataSources 是全部合法取值,测试用它封闭词表。
|
|
var eclipseMapDataSources = []string{
|
|
eclipseMapSourcePartialBandUnion,
|
|
eclipseMapSourceSampledFootprintSweep,
|
|
eclipseMapSourcePartialBandContours,
|
|
eclipseMapSourceRiseSetPhaseLines,
|
|
eclipseMapSourceMagnitudeContours,
|
|
eclipseMapSourceGreatestTimeIsochrones,
|
|
eclipseMapSourceBesselianEnvelope,
|
|
eclipseMapSourcePairedLimitChords,
|
|
eclipseMapSourceSampledOpenSweep,
|
|
eclipseMapSourceCentralPathLimits,
|
|
eclipseMapSourcePenumbralOutlines,
|
|
eclipseMapSourceCentralShadowOutlines,
|
|
eclipseMapSourceLunarVisibilityRegions,
|
|
eclipseMapSourceLunarHorizonBoundaries,
|
|
eclipseMapSourceTransitVisibilityRegions,
|
|
eclipseMapSourceTransitHorizonBoundaries,
|
|
eclipseMapSourceTransitContactIsochrones,
|
|
}
|