Если вы просто создать 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, но декабрь, который отличается от 20 угловых секунд для этого примера.
Я специально пытаюсь получить координаты J2000 некоторых звезд в каталоге WEBDA, которые обеспечивают относительные координаты для большинства звезд.
Для примера см это случайное скопление: http://www.univie.ac.at/webda/cgi-bin/frame_list.cgi?ic0166
«координаты J2000» имеет только информацию о 9 звезд и почти все звезды имеют информацию в «XY позиции» ссылку. Центр и масштаб этих позиций XY немного произвольны, но их можно найти на сайте.
Однако, если вы не знаете, почему разница в координатах 20 arcsecond существует, я не знаю, когда моя система потерпит неудачу.