2016-05-25 3 views
1

astroqueryパッケージからxmatchを使用して、大きなローカルカタログと2MASSをクロスマッチさせる必要があります。 私はいつものようにastropyと私の地元のFITS表をロード:FITSテーブルをastroquery.xmatchに入力

from astropy.io import fits 
hdu = fits.open(root+'mycat.fits') 

次にthe astroquery docsに記述構文以下の(表はHDUである[2])は、そのテーブルにXMATCH使用しよう:

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テーブルを入力としてどのように渡す必要がありますか?ありがとう!

答えて

1

xmatchはファイルオブジェクトを入力として受け入れることができますが、そのファイルオブジェクトはVizier形式の.csvテーブルでなければなりません。最初にFITSテーブルをastropyテーブルに変換する必要があります。

from astropy.table import Table 
myTable = Table(data=hdu[2].data) 
関連する問題