Расчет положения звезды на небе, PyEphem

У меня трудности с поиском текущих координат (RA, DEC) для звезды на небе. В сети я нашел только один урок, как использовать библиотеку ephem: http://asimpleweblog.wordpress.com/2010/07/04/astrometry-in-python-with-pyephem/

Как я понял, мне нужно:

  1. создать наблюдателя
telescope = ephem.Observer()
telescope.long =  ephem.degrees('10')
telescope.lat = ephem.degrees('60')
telescope.elevation = 200
  1. Создать тело Объект звезда здесь беда, у меня только (RA, DEC) координаты звезды

  2. Рассчитать позицию по.calculate(now())

  3. по новым координатам найти высоту

Еще один вопрос о точности этой библиотеки, насколько она точна? Я сравнил юлиандатское и звездное время между этой программой и kstars, похоже, очень похоже.

и это http://www.jgiesen.de/astro/astroJS/siderealClock/

PS! Или может быть кто-то может порекомендовать лучшую библиотеку для этих целей.

2 ответа

Я думаю, вы ищете FixedBody?

telescope = ephem.Observer()
telescope.long =  ephem.degrees('10')
telescope.lat = ephem.degrees('60')
telescope.elevation = 200
star = ephem.FixedBody()
star._ra = 123.123
star._dec = 45.45
star.compute(telescope)
print star.alt, star.az

Я не знаю о точности; pyephem использует тот же код, что и xephem, и, например, положения планет задаются округленными вниз решениями VSOP87 (точность лучше, чем 1 угловая секунда); kstars использует полное решение VSOP.
Но это действительно будет зависеть от вашей потребности; Например, не полагайтесь на то, что ваш телескоп слепо направляет, для этого есть лучшие решения.

star = ephem.FixedBody(ra=123.123, dec=45.45)

в моем случае создание исправленного тела не работает, должно быть

star = ephem.FixedBody()
star._ra = ephem.hours('10:10:10')
star._dec = ephem.degrees('10:10:10')
Другие вопросы по тегам