当卫星观测到的物体会被 moon/sun

When an object observed by a satellite will be obscured by the moon/sun

我有卫星经度、纬度和高度。然后我有远处物体的 Ra&Decl。我需要知道给定时间对象与 moon/sun 之间的 angular 距离。

import ephem
sun = ephem.Sun()
scraft = ephem.Observer()
scraft.lon = lon
scraft.lat = lat
scraft.elevation = altit
scraft.date = time-15019.5 # my time is in MJD
sun.compute(scraft)
print float(sun.dec), float(sun.ra)        

这是正确的做法吗? 有没有办法检查结果? (另一个带有网络界面的工具,我可以在其中输入少数情况下的数字并查看是否存在差异)

你可能想创建一个固定的物体来表示远处物体的位置,然后要求从卫星上看它的位置与太阳的位置之间的距离:

f = ephem.FixedBody()
f._ra = '1:23:45.0'
f._dec = '6:78:90.0'
f.compute(scraft.date)
print ephem.separation(sun, f), 'degrees'
print float(ephem.separation(sun, f)), 'radians'