2016-07-07 52 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 

够简单了(只是不理解说明书的一部分,抱歉)。

我仍然很好奇所有的修正会影响到这一点,但我现在可以继续进行。

相关问题