PyEphem:如何计算太阳的最低高度(太阳将达到的最大角度 horizon 以下)?

PyEphem: How do I calculate the lowest altitude of the sun (largest angle the sun will reach below the horizon)?

根据季节的不同,在某些地区,太阳似乎永远不会低于相对于 horizon 的特定角度。

PyEphem 中有没有一种方法可以计算特定时间和位置的最低可能角度,这样我就可以避免 AlwaysUpError?

要获取太阳到达的角度范围,请使用 transit_time、next_antitransit 函数。中转时间是太阳通过您的观察者位置到达子午线的时间,当然也对应于太阳到达最高高度的时间。同样的想法也适用于反凌日(当太阳到达子午线的背面时)

例如:

... #create observer
sun = ephem.Sun(obs)
obs.date = sun.transit_time
maximum_altitude = sun.alt

要获得最低高度,您可以这样做:

obs.date = obs.next_antitransit(sun)
sun.compute(obs)
minimum_altitude = sun.alt