feat: 完善时标与天象几何计算并扩展输出接口
- 新增时标、ΔT 模型、质心时间与 UT1 支持 - 改进日月食、月掩、行星事件及路径边界计算 - 完善恒星三维自行与动态距离传播 - 扩展 SVG、GeoJSON、KML 输出与底层距离换算工具 - 整理中英文手册、示例资源及回归测试
This commit is contained in:
+8
-8
@@ -33,26 +33,26 @@ type TransitInfo struct {
|
||||
|
||||
// NextTransit 下一次地心金星凌日 / next geocentric Venus transit.
|
||||
func NextTransit(date time.Time) TransitInfo {
|
||||
return transitInfoFromBasic(basic.NextVenusTransit(basic.Date2JDE(date.UTC())), date.Location())
|
||||
return transitInfoFromBasic(basic.NextVenusTransit(basic.Date2JD(date.UTC())), date.Location())
|
||||
}
|
||||
|
||||
// LastTransit 上一次地心金星凌日 / previous geocentric Venus transit.
|
||||
func LastTransit(date time.Time) TransitInfo {
|
||||
return transitInfoFromBasic(basic.LastVenusTransit(basic.Date2JDE(date.UTC())), date.Location())
|
||||
return transitInfoFromBasic(basic.LastVenusTransit(basic.Date2JD(date.UTC())), date.Location())
|
||||
}
|
||||
|
||||
// ClosestTransit 最近一次地心金星凌日 / closest geocentric Venus transit.
|
||||
func ClosestTransit(date time.Time) TransitInfo {
|
||||
return transitInfoFromBasic(basic.ClosestVenusTransit(basic.Date2JDE(date.UTC())), date.Location())
|
||||
return transitInfoFromBasic(basic.ClosestVenusTransit(basic.Date2JD(date.UTC())), date.Location())
|
||||
}
|
||||
|
||||
func transitInfoFromBasic(result basic.PlanetTransitResult, loc *time.Location) TransitInfo {
|
||||
if !result.Valid {
|
||||
return TransitInfo{}
|
||||
}
|
||||
start := basic.JDE2DateByZone(result.ExternalIngress, loc, false)
|
||||
greatest := basic.JDE2DateByZone(result.Greatest, loc, false)
|
||||
end := basic.JDE2DateByZone(result.ExternalEgress, loc, false)
|
||||
start := basic.JD2DateByZone(result.ExternalIngress, loc, false)
|
||||
greatest := basic.JD2DateByZone(result.Greatest, loc, false)
|
||||
end := basic.JD2DateByZone(result.ExternalEgress, loc, false)
|
||||
info := TransitInfo{
|
||||
Valid: true,
|
||||
Start: start,
|
||||
@@ -65,8 +65,8 @@ func transitInfoFromBasic(result basic.PlanetTransitResult, loc *time.Location)
|
||||
HasInternal: result.HasInternal,
|
||||
}
|
||||
if result.HasInternal {
|
||||
info.InternalStart = basic.JDE2DateByZone(result.InternalIngress, loc, false)
|
||||
info.InternalEnd = basic.JDE2DateByZone(result.InternalEgress, loc, false)
|
||||
info.InternalStart = basic.JD2DateByZone(result.InternalIngress, loc, false)
|
||||
info.InternalEnd = basic.JD2DateByZone(result.InternalEgress, loc, false)
|
||||
info.InternalDuration = info.InternalEnd.Sub(info.InternalStart)
|
||||
}
|
||||
return info
|
||||
|
||||
Reference in New Issue
Block a user