join_skycoord¶
- astropy.table.join_skycoord(distance, distance_func='search_around_sky')[ソース]¶
距離マッチングを用いてSkyCoord列を接続するブースタ関数を用いる.
この関数は
table.join()
キー列が同時に存在する場合にテーブル接続を実行することを許可する場合は、以下の操作を実行してくださいSkyCoord
対象は,点間の距離を計算し,以下の値を受け取ることでマッチングを行う.distance
それがそうです。距離交差マッチングは以下のいずれかの方法を用いて行われる.
search_around_sky
あるいは…。search_around_3d
具体的にはdistance_func
それがそうです。黙認する.'search_around_sky'
それがそうです。以下のオブジェクトに関数オブジェクトを提供することも可能である.
distance_func
この場合、同じ入出力APIに従う関数でなければならない。search_around_sky
それがそうです。本例では,この関数を呼び出す際に使用する.(skycoord1, skycoord2, distance)
論拠として。- パラメータ
- distance量 [“角度”“長さ”]
マッチングされた点間の最大距離を接続すると見なす.角度や距離単位が必要です。
- distance_func文字列や関数
交差マッチングを実行するための関数を指定し、この関数は
distance
それがそうです。文字列形式で提供される場合は、指定astropy.coordinates
それがそうです。関数として与えられれば,その関数を直接呼び出す.
- 返品
- join_func機能
関数,この関数は2つを受け取る
SkyCoord
列(coll 1,coll 2)は、一致する一意の識別子のペアになるタプル(ids 1,ids 2)を返す。
実例.
この例は2つを示しています
SkyCoord
カラムは,いずれの0.2度以内のソースも一致している。新しいのに注意してくださいsc_id
列は、追加され、一致項に一意のソース識別子を提供する。>>> from astropy.coordinates import SkyCoord >>> import astropy.units as u >>> from astropy.table import Table, join_skycoord >>> from astropy import table
>>> sc1 = SkyCoord([0, 1, 1.1, 2], [0, 0, 0, 0], unit='deg') >>> sc2 = SkyCoord([0.5, 1.05, 2.1], [0, 0, 0], unit='deg')
>>> join_func = join_skycoord(0.2 * u.deg) >>> join_func(sc1, sc2) # Associate each coordinate with unique source ID (array([3, 1, 1, 2]), array([4, 1, 2]))
>>> t1 = Table([sc1], names=['sc']) >>> t2 = Table([sc2], names=['sc']) >>> t12 = table.join(t1, t2, join_funcs={'sc': join_skycoord(0.2 * u.deg)}) >>> print(t12) # Note new `sc_id` column with the IDs from join_func() sc_id sc_1 sc_2 deg,deg deg,deg ----- ------- -------- 1 1.0,0.0 1.05,0.0 1 1.1,0.0 1.05,0.0 2 2.0,0.0 2.1,0.0