@@ -52,17 +52,24 @@ def azel2radec(
5252 """
5353
5454 try :
55- obs = EarthLocation (lat = lat_deg * u .deg , lon = lon_deg * u .deg )
55+ return azel2radec_astropy (az_deg , el_deg , lat_deg , lon_deg , time )
56+ except NameError :
57+ return vazel2radec (az_deg , el_deg , lat_deg , lon_deg , time )
5658
57- direc = AltAz (
58- location = obs , obstime = Time (str2dt (time )), az = az_deg * u .deg , alt = el_deg * u .deg
59- )
6059
61- sky = SkyCoord (direc .transform_to (ICRS ()))
60+ def azel2radec_astropy (
61+ az_deg : float , el_deg : float , lat_deg : float , lon_deg : float , time : datetime
62+ ) -> tuple [float , float ]:
63+ """azel2radec using Astropy
64+ see azel2radec() for description
65+ """
66+ obs = EarthLocation (lat = lat_deg * u .deg , lon = lon_deg * u .deg )
6267
63- return sky .ra .deg , sky .dec .deg
64- except NameError :
65- return vazel2radec (az_deg , el_deg , lat_deg , lon_deg , time )
68+ direc = AltAz (location = obs , obstime = Time (str2dt (time )), az = az_deg * u .deg , alt = el_deg * u .deg )
69+
70+ sky = SkyCoord (direc .transform_to (ICRS ()))
71+
72+ return sky .ra .deg , sky .dec .deg
6673
6774
6875def radec2azel (
@@ -97,10 +104,27 @@ def radec2azel(
97104 """
98105
99106 try :
100- obs = EarthLocation (lat = lat_deg * u .deg , lon = lon_deg * u .deg )
101- points = SkyCoord (Angle (ra_deg , unit = u .deg ), Angle (dec_deg , unit = u .deg ), equinox = "J2000.0" )
102- altaz = points .transform_to (AltAz (location = obs , obstime = Time (str2dt (time ))))
103-
104- return altaz .az .degree , altaz .alt .degree
107+ return radec2azel_astropy (ra_deg , dec_deg , lat_deg , lon_deg , time )
105108 except NameError :
106109 return vradec2azel (ra_deg , dec_deg , lat_deg , lon_deg , time )
110+
111+
112+ def radec2azel_astropy (
113+ ra_deg : float ,
114+ dec_deg : float ,
115+ lat_deg : float ,
116+ lon_deg : float ,
117+ time : datetime ,
118+ ) -> tuple [float , float ]:
119+ """
120+ rade2azel using Astropy
121+ see radec2azel() for description
122+ """
123+
124+ obs = EarthLocation (lat = lat_deg * u .deg , lon = lon_deg * u .deg )
125+
126+ points = SkyCoord (Angle (ra_deg , unit = u .deg ), Angle (dec_deg , unit = u .deg ), equinox = "J2000.0" )
127+
128+ altaz = points .transform_to (AltAz (location = obs , obstime = Time (str2dt (time ))))
129+
130+ return altaz .az .degree , altaz .alt .degree
0 commit comments