PyEphem不同方案计算本地太阳时结果差异问题咨询
为什么相关公式计算结果和12:00:00存在偏差
PyEphem中太阳的三个赤经属性定义存在本质区别:
sun.a_ra是视赤经:已经修正了光行差、大气折射、章动等观测端效应,对应观测者实际看到的太阳天球坐标sun.g_ra以及默认的sun.ra是几何赤经:仅计算太阳相对于地心的理论几何位置,没有加入观测相关的效应修正
你测试时使用的是next_transit()返回的太阳视位置上中天时刻,该时刻太阳视赤经刚好和观测者子午线赤经重合,用未做观测修正的几何赤经计算自然会出现偏差,你测试中约1分03秒的偏差,正好对应太阳光行差带来的常规偏移量级。
哪组输出是正确的本地太阳时
你测试中输出为12.0000小时的三组结果都是正确的真太阳时:
- 方位角/高度角转时角的计算,直接基于观测到的太阳实际位置推导,完全符合真太阳时的定义
- 用
observer_ra-sun.a_ra的计算,采用了修正后的视赤经,和实际观测位置完全对齐 - 用
sidereal_time-sun.ra+12h的计算,本质是用本地恒星时减去太阳视赤经得到太阳时角,时角为0对应真太阳时12点,逻辑完全自洽
剩下两组用sun.g_ra和sun.ra的结果,因为采用了未修正的几何坐标,仅适合平太阳时相关的计算,不能对应实际观测的真太阳时。
内容的提问来源于stack exchange,提问作者roe
相关产品推荐
相关产品推荐

