2026-05-01 22:38:44 +08:00
|
|
|
package moon
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"b612.me/astro/basic"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// TopocentricPhysical 月球站心物理观测参数 / topocentric physical observing parameters of the Moon.
|
|
|
|
|
//
|
2026-09-23 18:55:12 +08:00
|
|
|
// date 为观测时刻;observerLon/observerLat 为观测者经纬度,东正西负、北正南负;height 为椭球高(大地高),单位米。
|
2026-05-01 22:38:44 +08:00
|
|
|
// 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,
|
|
|
|
|
}
|
|
|
|
|
}
|