Files
astro/moon/physical_topocentric.go
T
b612 16c62a97d5 feat: 完善时标与天象几何计算并扩展输出接口
- 新增时标、ΔT 模型、质心时间与 UT1 支持
- 改进日月食、月掩、行星事件及路径边界计算
- 完善恒星三维自行与动态距离传播
- 扩展 SVG、GeoJSON、KML 输出与底层距离换算工具
- 整理中英文手册、示例资源及回归测试
2026-09-23 18:55:12 +08:00

30 lines
1.3 KiB
Go

package moon
import (
"time"
"b612.me/astro/basic"
)
// TopocentricPhysical 月球站心物理观测参数 / topocentric physical observing parameters of the Moon.
//
// date 为观测时刻;observerLon/observerLat 为观测者经纬度,东正西负、北正南负;height 为椭球高(大地高),单位米。
// date is the observing instant; observerLon/observerLat are east-positive and north-positive; height is observer elevation in meters.
func TopocentricPhysical(date time.Time, observerLon, observerLat, height float64) PhysicalInfo {
return TopocentricPhysicalN(date, observerLon, observerLat, height, -1)
}
// TopocentricPhysicalN 月球站心物理观测参数(截断版) / truncated topocentric physical observing parameters of the Moon.
func TopocentricPhysicalN(date time.Time, observerLon, observerLat, height float64, n int) PhysicalInfo {
info := basic.MoonTopocentricPhysicalN(observationTT(date), observerLon, observerLat, height, n)
return PhysicalInfo{
OpticalLongitude: info.OpticalLongitude,
OpticalLatitude: info.OpticalLatitude,
PhysicalLongitude: info.PhysicalLongitude,
PhysicalLatitude: info.PhysicalLatitude,
LibrationLongitude: info.LibrationLongitude,
LibrationLatitude: info.LibrationLatitude,
PositionAngle: info.PositionAngle,
}
}