2016-07-07 84 views
0

如果你簡單地創建一個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英尺的座標差異存在,我不知道我的系統何時會失效。

回答

0

好的,在這一點上,我想這種差異是由於一些修正因素。 我知道現在我想用天體測量地心位置,所以:

>>> import ephem 
>>> TestStar = ephem.FixedBody() 
>>> TestStar._ra, TestStar._dec = '12:43:20', '-45:34:12' 
>>> TestStar.compute() 
>>> print TestStar.a_ra, TestStar.a_dec 
12:43:20 -45:34:12 

夠簡單了(只是不理解說明書的一部分,抱歉)。

我仍然很好奇所有的修正會影響到這一點,但我現在可以繼續進行。

相關問題