2016-05-09 2 views
1

Я пытаюсь установить pyephem, чтобы принять правильное восхождение и склонение, а затем использовать это для вычисления высоты и азимута тела. Однако у меня возникают проблемы с назначением этих признаков. Вот что я делаю:Pyephem - Переменные не назначаются должным образом?

obj = ephem.FixedBody() 
print (x) #x was assigned to 5.575 
obj._ra = x 
print (obj._ra) 

Выход этого:

5.575 
21:17:41.75 

Как я понимаю, я должен быть ввод значения RA в часах, а значение декабря в градусах. Вот как я это делаю. Но по какой-то причине я назначаю 5.575 переменной obj._ra, и эта переменная не удерживает правильное значение. Я получаю ту же проблему с моими значениями склонения. Может ли кто-нибудь объяснить, где я ошибаюсь?

ответ

1

Got it. Что вам нужно сделать, так это объявить свои углы в формате «XX: YY: ZZ» с часами минут и секунд. Вы не можете просто объявить как float, потому что тогда предполагается, что вы говорите о радианах. 5.575 радиан был преобразован в 21: 17: 41,75, потому что он предположил, что я кормил его радианами вместо часов.

+0

Да! Это раздражающая несогласованность в слое Python-to-C PyEphem, но я не уверен, как ее исправить, не нарушая существующие программы, которые исправляют неловкость. Это часть того, почему я создал Skyfield, чтобы в конечном итоге заменить PyEphem: так что все юниты должны быть указаны по пути в библиотеку и из нее! –

Смежные вопросы