看来pyephem应该能给我一个标准的人名来描述我们在月球周期中的位置,给出一个日期--“第一季度”、“满月”、“新月形”、“衰落的长臂猿”等等。
我说得对吗?
有人知道这方面的标准解决方案吗?
发布于 2014-11-04 04:14:30
唉,除了月亮完全满月的时刻之外,没有任何标准的定义像“满月”这样的术语。这意味着,从技术上讲,月球完全满月时,只有一个非常小的时刻,因此,你可以问PyEphem的任何真实时刻,无论是在那个完美的满足点之前还是之后。
因此,除非你能找到一个标准的定义,以秒为“宽”的时刻的满月是,实际的相位,在任何给定的时刻,你提出的将是起起落落。有关所有细节,您可以查阅USNO定义:
phases.php
因为那里的标准说,黄道经度的区别在于如何确定相位,所以您可以尝试这样的方法:
import ephem
tau = 2.0 * ephem.pi
sun = ephem.Sun()
moon = ephem.Moon()
names = ['Waxing Crescent', 'Waxing Gibbous',
'Waning Gibbous', 'Waning Crescent']
for n in range(1, 31):
s = '2014/%d/11' % n
sun.compute(s)
moon.compute(s)
sunlon = ephem.Ecliptic(sun).lon
moonlon = ephem.Ecliptic(moon).lon
angle = (moonlon - sunlon) % tau
quarter = int(angle * 4.0 // tau)
print n, names[quarter]https://stackoverflow.com/questions/26702144
复制相似问题