如果你简单地创建一个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英尺的坐标差异存在,我不知道我的系统何时会失效。