2015-03-12 1 views
1

J'ai un problème avec PyEphem lorsque j'essaie d'effectuer une transformation de coordonnées. Fondamentalement, dans ce petit exemple, j'essaie de calculer les coordonnées équatoriales de (l, b) = (52 °, 68,5 °).PyEphem: transformation de coordonnées galactique à équatoriale

Voilà comment je pensais que cela devrait fonctionner:

import ephem 

galactic = ephem.Galactic(52.0/360.0,68.5/360.0) 
equatorial = ephem.Equatorial(galactic, epoch=ephem.J2000) 
print('%.13f %.13f' % (equatorial.ra*360.0, equatorial.dec*360.0)) 

La sortie est 1640.9226879684597 -101.5405093325453 qui est bien sûr pas ce que je pense, étant donné que les plages sont comprises entre 0 ° à 360 ° pour RA et -90 ° à 90 ° pour DEC.

Où est l'erreur?

EDIT

J'ai besoin de transformer degrés en radians comme l'a souligné la bonne réponse. Ma solution à la fin:

import ephem 
import math 

galactic = ephem.Galactic(52.0/180.0*math.pi,68.5/180.0*math.pi) 
equatorial = ephem.Equatorial(galactic, epoch=ephem.J2000) 
print('%.13f %.13f' % (equatorial.ra/math.pi*180.0, equatorial.dec/math.pi*180.0)) 

Répondre

2

equatorial.ra et equatorial.dec sont en radians.

>>> help(equatorial.ra) 
Help on Angle object: 

class Angle(builtins.float) 
| An angle in radians that can print itself in an astronomical format. 
| Use ephem.degrees() and ephem.radians() to create one. 
| 
0

Bien que je n'ai aucune expérience avec le module Ephem je suis sûr qu'il attend des chaînes comme arguments à Galactic() et Equatorial(). Par conséquent, ils retournent un tuple de cordes, puis ne flottent pas.