如果你簡單地創建一個FixedObject,並給它一組座標,然後要求他們回來你會得到一個不同的位置:爲什麼我不能用pyephem得到相同的座標?
>>> import ephem
>>> TestStar = ephem.FixedBody()
>>> TestStar._ra, TestStar._dec = '12:43:20', '-45:34:12'
>>> TestStar.compute()
>>> print TestStar.ra, TestStar.dec
12:44:15.34 -45:39:46.8
我現在明白了,這是因爲,記錄的FixedBody是默認在J2000時代,默認的觀察者時代是創建觀察者的那一刻,而當你不指定觀察者時,它似乎是默認的。
但是,如果我嘗試以補償:
>>> TestStar4 = ephem.FixedBody()
>>> TestStar4._ra, TestStar4._dec, TestStar4._epoch = '12:43:20', '-45:34:12', '2000/01/01 12:00:00'
>>> TestSite2 = ephem.Observer()
>>> TestSite2.lat, TestSite2.lon, TestSite2.date = 0,0,'2000/01/01 12:00:00'
>>> TestStar4.compute(TestSite2)
>>> print TestStar4.ra, TestStar4.dec
12:43:19.42 -45:33:51.9
你得到一個幾乎相同的RA,但DEC是20秒 - 這個例子不同。
我特別試圖獲取WEBDA目錄中某些恆星的J2000座標,它提供了大多數恆星的相對座標。
例如看到這個隨機整羣: http://www.univie.ac.at/webda/cgi-bin/frame_list.cgi?ic0166
的「座標J2000」只有9分,幾乎所有的明星都在「XY位置」鏈接信息。這些XY位置的中心和比例有點隨意,但可以在現場找到。
但是,如果不知道爲什麼20英尺的座標差異存在,我不知道我的系統何時會失效。