天球坐标系上两个点的距离比我们想象的还要复杂一点,因为要考虑天球坐标是圆的,在大尺度结构上会有变化。运用一下代码可以求得两个坐标之间的角距离
from astropy import wcs
from astropy.coordinates import SkyCoord
from astropy.wcs import WCS
from astropy import units as u
from astropy.coordinates import Angle
inp = 'file.fits'
hdr = pf.getheader(inp)
w_n = wcs.WCS(hdr)
D1 = w_n.wcs_pix2world([[251, 300]], 0)[0]
D2 = w_n.wcs_pix2world([[200, 300]], 0)[0]
print(D1)
print(D2)
sky1 = SkyCoord(D1[0],D1[1],unit="deg")
sky2 = SkyCoord(D2[0],D2[1],unit="deg")
angle_distance = sk1.separation(sky2)
#至此得到距离,还回的是Angle的属性
print(Angle(50*u.deg) == angle_distance)
#我们可以用Angle函数,来跟这个距离做一个对比判断。