1
我已經嘗試調試我的代碼,並且我已經意識到,當我嘗試將我的AltAz座標保存到.csv文件時,它最終會崩潰,因爲它不是一個numpy數組,它是一個SkyCoord對象。有人可能會提出一個簡單的方法來將大型赤道座標錶轉換爲AltAz,或者我可以如何將我的代碼保存到文件中。如何生成從赤道儀到AltAz的座標轉換表?
# Get time now
time = astropy.time.Time.now()
time.delta_ut1_utc = 0
# Geodetic coordinates of observatory (example here: Munich)
observatory = astropy.coordinates.EarthLocation(
lat=48.21*u.deg, lon=11.18*u.deg, height=532*u.m)
# Alt/az reference frame at observatory, now
frame = astropy.coordinates.AltAz(obstime=time, location=observatory)
# Look up (celestial) spherical polar coordinates of HEALPix grid.
theta, phi = hp.pix2ang(nside, np.arange(npix))
# Convert to Equatorial coordinates
radecs = astropy.coordinates.SkyCoord(
ra=phi*u.rad, dec=(0.5*np.pi - theta)*u.rad)
# Transform grid to alt/az coordinates at observatory, now
altaz = radecs.transform_to(frame)
#Transpose array from rows to columns
altaz_trans=np.transpose(altaz)
np.savetxt('altaz.csv',altaz_trans,fmt='%s', delimiter=',')
'np.savetxt'是相當原始的,而且astropy有更好的選項來處理天文學家喜歡製作的各種文本文件。下面的答案討論了幾個不錯的選擇。 – Iguananaut