g ^問題!
有兩個原因,你得到的答案不同於你的預期。
首先,天文學家目前使用的星座邊界是使用1875年發生黃道的位置確定的。從那時起,黃道上的「零經度」點繼續移動,因爲地球軸已經進入,所以你得到的答案將是幾度。要真正瞭解經度在1875年的座標,你要問這樣的:
import ephem
sun = ephem.Sun()
sun.compute('2011/05/04')
print "Today's coordinates:", ephem.Ecliptic(sun).lon
sun.compute('2011/05/04', epoch='1875')
print "In 1875 coordinates:", ephem.Ecliptic(sun).lon
運行此腳本,我得到的輸出:
Today's coordinates: 43:02:58.8
In 1875 coordinates: 41:18:14.1
因此,可以消除你的結果誤差的來源之一。需要注意的是PyEphem constellation()
函數座標轉換爲1875年在其星座邊界的表中查找一個天空位置之前自動,如果你提供身體作爲它的參數有一個epoch
比1875年
你的其他問題不同遇到的問題是官方星座界限標記形成了Ram(金牛座),Scales(天秤座)等等的數字的天空中的實際星羣。而且恰巧這些數字甚至沒有接近整個黃道上正好30°的距離(正如你可能預料的那樣,因爲你從你回來的角度減去30°)。如果你在黃道上的每一個角度打印星座,你會(a)發現星座的寬度差異很大,(b)你會發現13個而不是12個星座穿過黃道,因爲蛇夫座的一部分在於沿着1875年的黃道。
這裏有一些參考,可能會有所幫助:
http://en.wikipedia.org/wiki/Constellation#IAU_constellations
http://en.wikipedia.org/wiki/Precession