英語フランス語スペイン語

Ad


OnWorksファビコン

funjoin - クラウド上のオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで funjoin を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド funjoin です。

プログラム:

NAME


funjoin - 指定された列で XNUMX つ以上の FITS バイナリ テーブルを結合します

SYNOPSIS


ファンジョイン 【スイッチ】 ...

OPTIONS


-acols すべてのファイルでアクティブ化する列数
-a1cols ... 各ファイルでアクティブ化する列 # 列
-b 'c1:bvl,c2:bv2' # すべてのファイルの共通列の値を空白にする
-bn 'c1:bv1,c2:bv2' # 特定のファイルの列の値を空白にする
-jcol # すべてのファイルに結合する列
-j1col ... jncol # 各ファイル内で結合する列
-m min # 行を出力するために一致する最小値
-M max # 行を出力するために一致する最大数
-s # 「jfiles」ステータス列を追加
-S col # ステータス列として列を追加します
-t tol # 数値列の結合の許容値 [2 ファイルのみ]

DESCRIPTION


ファンジョイン に基づいて、32 つ以上 (最大 XNUMX) の FITS バイナリ テーブル ファイルの行を結合します。
各ファイル内の指定された結合列の値。 注意: 結合列にはインデックスが必要です
それに関連付けられたファイル。 これらのファイルは、 ファンインデックス プログラム。

プログラムの最初の引数は、最初の入力 FITS テーブルまたは生のイベント ファイルを指定します。
「stdin」を指定した場合は、標準入力からデータを読み込みます。 後続の引数
結合する追加のイベント ファイルとテーブルを指定します。 最後の引数は出力 FITS です。
ファイルにソフトウェアを指定する必要があります。

注意: 実行してください Funtools Bracket Notation を使用して、FITS 拡張機能と行フィルターを指定します。
funjoin を実行しないと、間違った結果が得られます。 行へのアクセスと結合には、
ファイルに直接インデックスを付けると、すべてのフィルタリングがバイパスされます。

結合列は、 -j コル スイッチ (列名を指定します)
すべてのファイルに使用)、または -j1 col1, -j2 col2、 ... -jn コルン スイッチ (
各ファイルに使用する列名)。 結合列はファイルごとに指定する必要があります。 両方の場合
-j コル & -jn コルン 特定のファイルに指定されている場合は、後者が使用されます。 列を結合する
文字列型または数値型のいずれかである必要があります。 数値と文字列を混在させることは違法です
特定の結合内の列。 たとえば、同じキー列を使用して XNUMX つのファイルを結合するには、
各ファイルでは、以下を使用します。

funjoin -j キー in1.fits in2.fits in3.fits out.fits

次の方法で XNUMX 番目のファイルに別のキーを指定できます。

funjoin -j key -j3 otherkey in1.fits in2.fits in3.fits out.fits

  -a 「コル」 スイッチ(および .A1 「列1」, .A2 「コル2」 対応するもの)を指定するために使用できます
各入力ファイルに対してアクティブ化する (つまり、出力ファイルに書き込む) 列。 デフォルトでは、すべて
列が出力されます。

別個のファイルの XNUMX つ以上の列が同じ名前である場合、XNUMX 番目 (およびそれ以降)
列の名前は、アンダースコアと数値が追加されるように変更されます。

  -m & -M マックス スイッチは、必要な結合の最小数と最大数を指定します。
一行書き出す。 デフォルトの最小値は 0 結合 (つまり、すべての行が書き出されます) であり、
デフォルトの最大値は 63 です (入力制限が 32 の場合の可能な結合の最大数)
ファイル)。 たとえば、ちょうど XNUMX つのファイルに列がある行のみを書き出すには
一致するもの (つまり XNUMX つの結合):

funjoin -j キー -m 1 -M 1 in1.fits in2.fits in3.fits ... out.fits

すべてのファイルを結合しなくても、特定の行に必要な数の結合を含めることができます。
(例: XNUMX つのファイルが結合されていますが、指定された結合キー値を持つファイルは XNUMX つだけです)。 この中で
この場合、デフォルトでは、結合されていないファイルのすべての列がブランクを使用して書き出されます。
(ゼロまたは NULL)。 の -b c1:bv1、c2:bv2 そして -b1 'c1:bv1,c2:bv2' -b2 'c1:bv1,c2 - bv2' ...
スイッチを使用して、すべてのファイルおよび/または列に共通の列に空白の値を設定できます。
それぞれ指定されたファイルに保存されます。 各空白の値文字列には、カンマ区切りのリストが含まれます
列:blank_val 指定子の数。 浮動小数点値 (single または double) の場合、
「nan」というインセンシティブな文字列値は、IEEE NaN (not-a-number) を使用する必要があることを意味します。
したがって、たとえば次のようになります。

funjoin -b "AKEY:???" -b1 "A:-1" -b3 "G:NaN,E:-1,F:-100" ...

これは、ファイル内の結合されていない AKEY 列に文字列 "???" が含まれることを意味します。
結合 ファイル 1 の A 列には、値 -1 (ファイル 3 の結合されていない G 列) が含まれます。
には IEEE NaN が含まれますが、同じファイルの結合されていない E 列と F 列には
値はそれぞれ -1 と -100 です。 もちろん、共通および特定の空白値が存在する場合、
同じ列に指定すると、特定の空白値が使用されます。

どのファイルが特定の行の非空白コンポーネントであるかを区別するには、 -s (ステータス)スイッチ
「JFILES」という名前のビットマスク列を出力ファイルに追加するために使用できます。 このコラムでは、
ビットは、指定された行を構成する空白以外のファイルごとに設定され、ビット 0 は、
最初のファイル、ビット 1 から XNUMX 番目のファイル、というように続きます。 ファイル名自体は次の場所に保存されます。
FITS ヘッダーを JFILE1、JFILE2 などの名前のパラメータとして指定します。 -S コル スイッチを使用すると、
ステータス列の名前をデフォルトの「JFILES」から変更します。

行間の結合は、指定された結合を持つ XNUMX つのファイル内のすべての行のデカルト積です。
XNUMX 番目のファイル内のすべての行がその結合列に同じ値を持つ列値と、
すぐ。 したがって、file1 に結合列値 2 の 100 行がある場合、file2 には結合列値 3 の XNUMX 行があります。
同じ値で、file3 に 4 行がある場合、結合の結果は 2*3*4=24 行が出力されます。

結合アルゴリズムは、結合列に関連付けられたインデックス ファイルを直接処理します。
各ファイル。 現在のすべての列の最小値がベースとして選択され、これが
value は、他のファイル内の同じ値の列を結合するために使用されます。 このようにして、インデックスは、
ファイルは XNUMX 回だけスキャンされます。

  -t 通行料 スイッチは数値列の許容値を指定します。 現時点では、
許容値では、一度に XNUMX つのファイルのみを結合できます。 (まったく異なるアルゴリズムは
許容値を使用して XNUMX つ以上のファイルを結合する必要がありますが、これについては考慮する必要があります
将来的には実装予定です。)

次の例は、funjoin の多くの機能を示しています。 入力ファイル t1.fits、
t2.fits および t3.fits には次の列が含まれます。

[sh] fundisp t1.fits
エイキーキーAB
----------- ------ ------ ------
ああ 0 0 1
1 3 4
CCC 2 6 7
dd3 9 10
ええ 4 12 13
fff5 15 16
ぐぐ 6 18 19
えっ7 21 22

ファンディスプ t2.fits
エイキーキーCD
----------- ------ ------ ------
ⅲ 8 24 25
ぐぐ 6 18 19
ええ 4 12 13
CCC 2 6 7
ああ 0 0 1

ファンディスプ t3.fits
AKEY KEY EFG ------------ ------ -------- --------
-----------
ggg 6 18 19 100.10
ジジ 9 27 28 200.20
AAA 0 0 1 300.30
ddd 3 9 10 400.40

これらの入力ファイルを指定すると、次の funjoin コマンドが実行されます。

funjoin -s -a1 "-B" -a2 "-D" -a3 "-E" -b \
"かぎ:???" -b1 "AKEY:XXX,A:255" -b3 "G:NaN,E:-1,F:-100" \
-j キー t1.fits t2.fits t3.fits foo.fits

KEY 列でファイルを結合し、B (t1.fits 内)、D (tXNUMX.fits 内) を除くすべての列を出力します。
t2.fits) と E (t3.fits 内)、および AKEY の空白値の設定 (グローバルだがオーバーライドされる)
t1.fits の場合)、A (ファイル 1 内)、および G、E、および F (ファイル 3 内)。 JFILES 列は次のようになります。
各行でどのファイルが使用されたかをフラグに出力します。

AKEY キー A AKEY_2 KEY_2 C AKEY_3 KEY_3 FG JFILES
------------ ------ ------ ------------ ------ ------ -- ---------- ------ -------- ----------- --------
ああ 0 0 ああ 0 0 ああ 0 1 300.30 7
bbb 1 3 ??? 0 0 ??? 0~100ナン1
ccc 2 6 ccc 2 6 ??? 0~100ナン3
3 9 ??? 0 0 ddd 3 10 400.40 5
ええ 4 12 ええ 4 12 ??? 0~100ナン3
fff 5 15 ??? 0 0 ??? 0~100ナン1
ggg 6 18 ggg 6 18 ggg 6 19 100.10 7
ああ、7 21 ??? 0 0 ??? 0~100ナン1
XXX 0 255 iii 8 24 ??? 0~100ナン2
XXX 0 255 ??? 0 0 jjj 9 28 200.20 4

onworks.net サービスを使用してオンラインで funjoin を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad