-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
SkyCoord.transform_to(other) ignores other.equinox if default #5722
Copy link
Copy link
Closed
Labels
Description
Transforming from one frame to another acts differently depending on whether the destination frame's equinox was its default value or explicitly passed to the constructor.
from astropy.coordinates import SkyCoord,FK5
import astropy.units as u
cfk5_default = SkyCoord(1 * u.deg, 0 * u.deg, frame='fk5')
cfk5_J2000 = SkyCoord(1 * u.deg, 0 * u.deg, frame='fk5', equinox='J2000')
cfk5_B1950 = SkyCoord(1 * u.deg, 0 * u.deg, frame='fk5', equinox='B1950')
print(cfk5_default,cfk5_J2000,cfk5_B1950,sep='\n')
The print claims that both cfk5_default and cfk5_J2000 are equinox J2000
<SkyCoord (FK5: equinox=J2000.000): (ra, dec) in deg
( 1., 0.)>
<SkyCoord (FK5: equinox=J2000.000): (ra, dec) in deg
( 1., 0.)>
<SkyCoord (FK5: equinox=B1950.000): (ra, dec) in deg
( 1., 0.)>
But when an equinox=1950 coordinate is transformed to the cfk5_default frame, the equinox remains 1950.
print("Transformed:")
print(cfk5_B1950.transform_to(cfk5_default))
print(cfk5_B1950.transform_to(cfk5_J2000))
Transformed:
<SkyCoord (FK5: equinox=B1950.000): (ra, dec) in deg
( 1., -2.32615580e-17)>
<SkyCoord (FK5: equinox=J2000.000): (ra, dec) in deg
( 1.64050073, 0.27831554)>
Reactions are currently unavailable