我需要使用astroquery包中的xmatch来交叉匹配大型本地目录和2MASS。 我像往常一样用天体加载我的本地FITS表:
from astropy.io import fits
hdu = fits.open(root+'mycat.fits')
然后按照the astroquery docs中描述的语法尝试将xmatch与该表一起使用(表格为hdu [2]):
from astroquery.xmatch import XMatch
table = XMatch.query(cat1=hdu[2],
cat2='vizier:II/246/out',
max_distance=1 * u.arcsec, colRA1='RA',
colDec1='Dec')
但是得到以下错误:
AttributeError: 'BinTableHDU' object has no attribute 'read'
astroquery docs上的示例仅显示如何提供本地CSV文件。但是我的目录有大约700万个条目,因此将它作为ASCII CSV文件传递是不方便的。
我应该如何传递我的FITS表作为输入?谢谢!
答案 0 :(得分:1)
虽然xmatch可以接受文件对象作为输入,但该文件对象必须是Vizier样式的.csv表。您需要首先将FITS表转换为天文表,例如
from astropy.table import Table
myTable = Table(data=hdu[2].data)