EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

funjoin – Online in der Cloud

Führen Sie funjoin beim kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl funjoin, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


funjoin – Verbinde zwei oder mehr FITS-Binärtabellen in bestimmten Spalten

ZUSAMMENFASSUNG


Spaß beitreten [Schalter] ...

OPTIONAL


-a cols # Spalten, die in allen Dateien aktiviert werden sollen
-a1 cols ... an cols # Spalten, die in jeder Datei aktiviert werden sollen
-b 'c1:bvl,c2:bv2' # leere Werte für gemeinsame Spalten in allen Dateien
-bn 'c1:bv1,c2:bv2' # leere Werte für Spalten in bestimmten Dateien
-j Spalte # Spalte zum Zusammenführen aller Dateien
-j1 col ... jn col # Spalte, die jeder Datei beigefügt werden soll
-m min # min entspricht der Ausgabe einer Zeile
-M max # max entspricht der Ausgabe einer Zeile
-s # Statusspalte „jfiles“ hinzufügen
-S Spalte # Spalte als Statusspalte hinzufügen
-t tol # Toleranz für die Verknüpfung numerischer Spalten [nur 2 Dateien]

BESCHREIBUNG


Spaß beitreten Verbindet Zeilen aus zwei oder mehr (bis zu 32) FITS-Binärtabellendateien, basierend auf
Werte der angegebenen Join-Spalten in jeder Datei. Hinweis: Die Join-Spalten müssen einen Index haben
die damit verbundene Datei. Diese Dateien werden mit dem generiert Funindex

Das erste Argument des Programms gibt die erste Eingabe-FITS-Tabelle oder Rohereignisdatei an.
Wenn „stdin“ angegeben ist, werden Daten aus der Standardeingabe gelesen. Nachfolgende Argumente
Geben Sie zusätzliche Ereignisdateien und Tabellen an, die verknüpft werden sollen. Das letzte Argument ist die Ausgabe FITS
Datei.

NB: Tun Sie es nicht Verwenden Sie die Funtools-Klammernotation, um FITS-Erweiterungen und Zeilenfilter anzugeben, wenn
Führen Sie funjoin aus, sonst erhalten Sie falsche Ergebnisse. Der Zugriff auf und die Verknüpfung von Zeilen erfolgt über
Dateien direkt indizieren, wodurch jegliche Filterung umgangen wird.

Die Join-Spalten werden mit angegeben -j col Schalter (der einen Spaltennamen angibt
für alle Dateien verwenden) oder mit -j1 col1, -j2 col2... -jon Spalte Schalter (die a angeben
Spaltenname, der für jede Datei verwendet werden soll). Für jede Datei muss eine Join-Spalte angegeben werden. Wenn beides
-j col und -jon Spalte werden für eine bestimmte Datei angegeben, dann wird letztere verwendet. Spalten verbinden
muss entweder vom Typ „String“ oder vom Typ „Numerisch“ sein; Es ist illegal, Zahlen und Zeichenfolgen zu mischen
Spalten in einem bestimmten Join. Um beispielsweise drei Dateien mit derselben Schlüsselspalte zu verbinden
Verwenden Sie für jede Datei:

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

Für die dritte Datei kann wie folgt ein anderer Schlüssel angegeben werden:

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

Das -a „cols“ Schalter (und .A1 „col1“, .A2 „cols2“ Gegenstücke) können zur Spezifizierung verwendet werden
Spalten, die für jede Eingabedatei aktiviert (dh in die Ausgabedatei geschrieben) werden sollen. Standardmäßig alle
Spalten werden ausgegeben.

Wenn zwei oder mehr Spalten aus separaten Dateien denselben Namen haben, wird die zweite (und die folgenden)
Spalten werden umbenannt, sodass ein Unterstrich und ein numerischer Wert angehängt werden.

Das -m Min. und -M max Schalter geben die minimale und maximale Anzahl der erforderlichen Verknüpfungen an
Schreibe eine Zeile aus. Das Standardminimum beträgt 0 Joins (dh alle Zeilen werden ausgeschrieben) und die
Das Standardmaximum beträgt 63 (die maximale Anzahl möglicher Verknüpfungen mit einem Limit von 32 Eingaben).
Dateien). Um beispielsweise nur die Zeilen auszuschreiben, in denen genau zwei Dateien Spalten haben
diese Übereinstimmung (d. h. ein Join):

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

Eine bestimmte Zeile kann die erforderliche Anzahl von Verknüpfungen aufweisen, ohne dass alle Dateien verknüpft werden
(z. B. werden drei Dateien zusammengefügt, aber nur zwei haben einen bestimmten Join-Schlüsselwert). In diesem
In diesem Fall werden alle Spalten der nicht verbundenen Datei standardmäßig mit Leerzeichen ausgeschrieben
(Nullen oder NULL). Der -b c1:bv1,c2:bv2 und -b1 'c1:bv1,c2:bv2' -b2 'c1:bv1,c2 - bv2' ...
Mit Schaltern können Sie den Leerwert für Spalten festlegen, die allen Dateien und/oder Spalten gemeinsam sind
jeweils in einer angegebenen Datei. Jede Leerwertzeichenfolge enthält eine durch Kommas getrennte Liste
der Column:blank_val-Bezeichner. Für Gleitkommawerte (einfach oder doppelt) ist ein Fall-
Der unempfindliche Zeichenfolgenwert „nan“ bedeutet, dass IEEE NaN (keine Zahl) verwendet werden sollte.
So zum Beispiel:

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

bedeutet, dass eine nicht verbundene AKEY-Spalte in einer beliebigen Datei die Zeichenfolge „???“ enthält, die nicht
Die verbundene A-Spalte von Datei 1 enthält den Wert -1, die nicht verbundene G-Spalte von Datei 3
enthält IEEE NaNs, während die nicht verbundenen E- und F-Spalten derselben Datei Folgendes enthalten
Werte -1 bzw. -100. Natürlich dort, wo gemeinsame und spezifische Leerwerte sind
Wird für dieselbe Spalte ein Wert angegeben, wird der spezifische Leerwert verwendet.

Um zu unterscheiden, welche Dateien nicht leere Komponenten einer bestimmten Zeile sind, wird die -s (Status-)Schalter
kann verwendet werden, um der Ausgabedatei eine Bitmaskenspalte mit dem Namen „JFILES“ hinzuzufügen. In dieser Spalte a
Das Bit wird für jede nicht leere Datei gesetzt, aus der die angegebene Zeile besteht, wobei Bit 0 dem entspricht
erste Datei, Bit 1 zur zweiten Datei und so weiter. Die Dateinamen selbst werden in gespeichert
der FITS-Header als Parameter mit den Namen JFILE1, JFILE2 usw. Der -S col Mit dem Schalter können Sie Folgendes tun
Ändern Sie den Namen der Statusspalte vom Standardnamen „JFILES“.

Eine Verknüpfung zwischen Zeilen ist das kartesische Produkt aller Zeilen in einer Datei mit einer bestimmten Verknüpfung
Spaltenwert, wobei alle Zeilen in einer zweiten Datei denselben Wert für ihre Verbindungsspalte haben und
bald. Wenn also Datei1 2 Zeilen mit dem Join-Spaltenwert 100 hat, hat Datei2 3 Zeilen mit dem
Wenn derselbe Wert vorhanden ist und Datei3 4 Zeilen hat, führt die Verknüpfung dazu, dass 2*3*4=24 Zeilen ausgegeben werden.

Der Join-Algorithmus verarbeitet direkt die Indexdatei, die der Join-Spalte von zugeordnet ist
jede Datei. Als Basis wird der kleinste Wert aller aktuellen Spalten gewählt, und zwar dieser
Der Wert wird verwendet, um gleichwertige Spalten in den anderen Dateien zu verbinden. Auf diese Weise ist der Index
Dateien werden genau einmal durchlaufen.

Das -t tol Der Schalter gibt einen Toleranzwert für numerische Spalten an. Derzeit a
Der Toleranzwert kann nur zwei Dateien gleichzeitig verbinden. (Ein völlig anderer Algorithmus ist
Es ist erforderlich, mehr als zwei Dateien mithilfe einer Toleranz zu verbinden, was wir möglicherweise in Betracht ziehen
in Zukunft umsetzen.)

Das folgende Beispiel zeigt viele der Funktionen von funjoin. Die Eingabedateien t1.fits,
t2.fits und t3.fits enthalten die folgenden Spalten:

[sh] fundisp t1.fits
AKEY KEY AB
----------- ------ ------ ------
aaa 0 0 1
bbb 1 3 4
ccc 2 6 7
ddd 3 9 10
eee 4 12 13
fff 5 15 16
ggg 6 18 19
hhh 7 21 22

fundisp t2.fits
AKEY KEY CD
----------- ------ ------ ------
iii 8 24 25
ggg 6 18 19
eee 4 12 13
ccc 2 6 7
aaa 0 0 1

fundisp t3.fits
AKEY KEY EFG ------------ ------ -------- --------
-----------
ggg 6 18 19 100.10
jjj 9 27 28 200.20
aaa 0 0 1 300.30
ddd 3 9 10 400.40

Angesichts dieser Eingabedateien der folgende funjoin-Befehl:

funjoin -s -a1 "-B" -a2 "-D" -a3 "-E" -b \
"EIN SCHLÜSSEL:???" -b1 "AKEY:XXX,A:255" -b3 "G:NaN,E:-1,F:-100" \
-j Schlüssel t1.fits t2.fits t3.fits foo.fits

verbindet die Dateien in der KEY-Spalte und gibt alle Spalten außer B (in t1.fits), D (in
t2.fits) und E (in t3.fits) und das Festlegen leerer Werte für AKEY (global, aber überschrieben).
für t1.fits) und A (in Datei 1) und G, E und F (in Datei 3). Es wird eine JFILES-Spalte geben
Ausgabe, um zu kennzeichnen, welche Dateien in jeder Zeile verwendet wurden:

AKEY KEY A AKEY_2 KEY_2 C AKEY_3 KEY_3 FG JFILES
------------ ------ ------ ------------ ------ ------ -- ---------- ------ -------- ----------- --------
aaa 0 0 aaa 0 0 aaa 0 1 300.30 7
bbb 1 3 ??? 0 0 ??? 0 -100 Nanometer 1
ccc 2 6 ccc 2 6 ??? 0 -100 Nanometer 3
ddd 3 9 ??? 0 0 ddd 3 10 400.40 5
eee 4 12 eee 4 12 ??? 0 -100 Nanometer 3
fff 5 15 ??? 0 0 ??? 0 -100 Nanometer 1
ggg 6 18 ggg 6 18 ggg 6 19 100.10 7
hhh 7 21 ??? 0 0 ??? 0 -100 Nanometer 1
XXX 0 255 iii 8 24 ??? 0 -100 Nanometer 2
XXX 0 255 ??? 0 0 jjj 9 28 200.20 4

Nutzen Sie funjoin online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad