我使用Astropy.coordinates
来匹配两个具有RA,DEC坐标的天文目录。在
我可以通过遵循astropy
文档(link to astropy.coordinates documentation)并执行以下操作来找到最近邻居的列表:
from astropy.coordinates import SkyCoord
from astropy import units as u
cat1 = SkyCoord(ra=ra1*u.degree, dec=dec1*u.degree)
cat2 = SkyCoord(ra=ra2*u.degree, dec=dec2*u.degree)
idx, d2d, d3d = cat1.match_to_catalog_sky(cat2)
其中ra1
,ra2
,dec1
,dec2
是包含目录1和目录2中坐标的向量。在
结果idx
为目录1中的每个对象提供目录2中最接近匹配的id。d2d
给出匹配项之间的2d分隔,而{
因此,要在所需的匹配半径之间选择匹配,例如,使用1“半径,我可以执行以下操作:
^{pr2}$现在,为了为最后一步选择合适的半径,我想检查一下cat1
中每个震源与其第二个最近的邻居之间的距离d2d
。在
有人知道我如何在记录第二个邻居的同时完成匹配过程?在
注意,
match_to_catalog_sky
接受一个关键字nthneighbor
,该关键字默认为1(即,最近的),但可以设置为其他值。改变这个就可以了。在似乎您还需要注意
search_around_sky
方法,使用该方法可以找到所有符合分隔限制的匹配项。在相关问题 更多 >
编程相关推荐