이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 funjoin 명령입니다.
프로그램:
이름
funjoin - 지정된 열에서 둘 이상의 FITS 이진 테이블을 조인합니다.
개요
펀 조인 [스위치] ...
옵션
-a cols # 모든 파일에서 활성화할 열
-a1 cols ... 각 파일에서 활성화할 cols # 열
-b 'c1:bvl,c2:bv2' # 모든 파일의 공통 열에 대한 공백 값
-bn 'c1:bv1,c2:bv2' # 특정 파일의 열에 대한 빈 값
-j col # 모든 파일에 결합할 열
-j1 col ... jn col # 각 파일에 결합할 열
-m min # min은 행을 출력하기 위해 일치합니다.
-M max # 최대 행을 출력하기 위해 일치합니다.
-s # 'jfiles' 상태 열 추가
-S col # 열을 상태 열로 추가
-t tol # 숫자 열 결합 허용 오차 [2 파일만]
기술
펀 조인 두 개 이상(최대 32개)의 FITS 이진 테이블 파일의 행을 결합합니다.
각 파일에 지정된 조인 열의 값. 주의: 조인 열에는 인덱스가 있어야 합니다.
관련된 파일입니다. 이 파일은 다음을 사용하여 생성됩니다. 재미 지수 프로그램)
프로그램에 대한 첫 번째 인수는 첫 번째 입력 FITS 테이블 또는 원시 이벤트 파일을 지정합니다.
"stdin"이 지정되면 표준 입력에서 데이터를 읽습니다. 후속 인수
조인할 추가 이벤트 파일 및 테이블을 지정합니다. 마지막 인수는 출력 FITS입니다.
파일.
주의: 할 지원 Funtools Bracket Notation을 사용하여 다음과 같은 경우 FITS 확장 및 행 필터를 지정합니다.
funjoin을 실행하지 않으면 잘못된 결과를 얻게 됩니다. 행은 다음을 사용하여 액세스 및 조인됩니다.
색인 파일을 직접 생성하고 모든 필터링을 우회합니다.
조인 열은 다음을 사용하여 지정됩니다. -j 대장균의 뜻 스위치(열 이름을 지정하는
모든 파일에 사용) 또는 -j1 col1, -j2 col2... -jn 열 스위치(
각 파일에 사용할 열 이름). 각 파일에 대해 조인 열을 지정해야 합니다. 둘 다
-j 대장균의 뜻 과 -jn 열 지정된 파일에 대해 지정된 경우 후자가 사용됩니다. 열 조인
문자열 유형 또는 숫자 유형이어야 합니다. 숫자와 문자열을 혼합하는 것은 불법입니다.
주어진 조인의 열. 예를 들어 동일한 키 열을 사용하여 세 개의 파일을 결합하려면
각 파일에서 다음을 사용하십시오.
funjoin -j 키 in1.fits in2.fits in3.fits out.fits
다음과 같은 방식으로 세 번째 파일에 대해 다른 키를 지정할 수 있습니다.
funjoin -j 키 -j3 otherkey in1.fits in2.fits in3.fits out.fits
XNUMXD덴탈의 -a "콜" 스위치 (및 .A1 "콜1", .A2 "콜2" 대응)를 지정하는 데 사용할 수 있습니다.
각 입력 파일에 대해 활성화(즉, 출력 파일에 쓰기)할 열. 기본적으로 모든
열이 출력됩니다.
별도 파일의 두 개 이상의 열이 동일한 이름을 갖는 경우 두 번째(및 후속)
열은 밑줄과 숫자 값이 추가되도록 이름이 바뀝니다.
XNUMXD덴탈의 -m 분 과 -M 최대 스위치는 필요한 최소 및 최대 조인 수를 지정합니다.
행을 씁니다. 기본 최소값은 0 조인(즉, 모든 행이 기록됨)이고
기본 최대값은 63입니다(입력 제한이 32개로 가능한 최대 조인 수
파일). 예를 들어 정확히 두 개의 파일에 열이 있는 행만 기록하려면
일치(즉, 하나의 조인):
funjoin -j 키 -m 1 -M 1 in1.fits in2.fits in3.fits ... out.fits
주어진 행은 모든 파일이 조인되지 않고 필요한 수의 조인을 가질 수 있습니다.
(예: XNUMX개의 파일이 결합되고 있지만 XNUMX개의 파일에만 결합 키 값이 지정됨). 이에
이 경우 결합되지 않은 파일의 모든 열은 기본적으로 공백을 사용하여 작성됩니다.
(XNUMX 또는 NULL). NS -b c1:bv1,c2:bv2 및 -b1 'c1:bv1,c2:bv2' -b2 'c1:bv1,c2 - bv2' ...
스위치를 사용하여 모든 파일 및/또는 열에 공통적인 열에 대한 공백 값을 설정할 수 있습니다.
지정된 파일에서 각각. 각 빈 값 문자열에는 쉼표로 구분된 목록이 포함됩니다.
column:blank_val 지정자의 수. 부동 소수점 값(단일 또는 이중)의 경우,
민감하지 않은 문자열 값 "nan"은 IEEE NaN(숫자가 아님)을 사용해야 함을 의미합니다.
따라서 예를 들면 다음과 같습니다.
funjoin -b "AKEY:???" -b1 "A:-1" -b3 "G:NaN,E:-1,F:-100" ...
모든 파일의 조인되지 않은 AKEY 열에 문자열 "???"이 포함됨을 의미합니다.
결합된 파일 1의 열에는 -1 값이 포함되고 파일 3의 결합되지 않은 G 열에는 값이 포함됩니다.
IEEE NaN을 포함하는 반면 동일한 파일의 조인되지 않은 E 및 F 열에는 다음이 포함됩니다.
값은 각각 -1 및 -100입니다. 물론 공통 및 특정 공백 값이 있는 경우
동일한 열에 대해 지정된 경우 특정 공백 값이 사용됩니다.
어떤 파일이 주어진 행의 비어 있지 않은 구성 요소인지 구별하기 위해 -s (상태) 스위치
"JFILES"라는 비트마스크 열을 출력 파일에 추가하는 데 사용할 수 있습니다. 이 칼럼에서는
주어진 행을 구성하는 비어 있지 않은 각 파일에 대해 비트가 설정되며, 비트 0은 해당 행에 해당합니다.
첫 번째 파일, 비트 1에서 두 번째 파일, 등등. 파일 이름 자체는 다음 위치에 저장됩니다.
FITS 헤더를 JFILE1, JFILE2 등으로 명명된 매개변수로 사용합니다. -S 대장균의 뜻 스위치를 사용하면
기본 "JFILES"에서 상태 열의 이름을 변경합니다.
행 간의 조인은 주어진 조인을 갖는 한 파일의 모든 행의 데카르트 곱입니다.
조인 열에 대해 동일한 값을 갖는 두 번째 파일의 모든 행이 있는 열 값 및
곧. 따라서 file1에 조인 열 값이 2인 100개의 행이 있으면 file2에는 3개의 행이 있습니다.
동일한 값이고 file3에 4개의 행이 있으면 조인 결과 2*3*4=24개의 행이 출력됩니다.
조인 알고리즘은 의 조인 열과 연결된 인덱스 파일을 직접 처리합니다.
각 파일. 현재 모든 열 중 가장 작은 값이 기준으로 선택되며 이 값은
value는 다른 파일의 동일한 값 열을 결합하는 데 사용됩니다. 이처럼 인덱스
파일은 정확히 한 번만 트래버스됩니다.
XNUMXD덴탈의 -t 톨 스위치는 숫자 열에 대한 허용 오차 값을 지정합니다. 현재,
허용 오차 값은 한 번에 두 개의 파일만 결합할 수 있습니다. (완전히 다른 알고리즘은
허용 오차를 사용하여 두 개 이상의 파일을 결합하는 데 필요합니다.
앞으로 시행할 예정입니다.)
다음 예는 funjoin의 많은 기능을 보여줍니다. 입력 파일 t1.fits,
t2.fits 및 t3.fits에는 다음 열이 포함됩니다.
[sh]펀디스프 t1.fits
AKEY 키 AB
----------- ------ ------ ------
아아아 0 0 1
bbbb 1 3 4
참조 2 6 7
dd 3 9 10
에이 4 12 13
ff 5 15 16
ㅋㅋ 6 18 19
헉 7 21 22
펀디스프 t2.fits
AKEY 키 CD
----------- ------ ------ ------
ⅲ 8 24 25
ㅋㅋ 6 18 19
에이 4 12 13
참조 2 6 7
아아아 0 0 1
펀디스프 t3.fits
AKEY 키 EFG ------------ ------ -------- --------
-----------
GG 6 18 19 100.10
쯧쯧 9 27 28 200.20
아아아 0 0 1 300.30
dd 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(in에서)를 제외한 모든 열을 출력합니다.
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
참조 2 6 참조 2 6 ??? 0 -100 nan 3
dd 3 9 ??? 0 0 ddd 3 10 400.40 5
에에 4 12 에에 4 12 ??? 0 -100 nan 3
ff 5 15 ??? 0 0 ??? 0 -100 nan 1
GG 6 18 GG 6 18 GG 6 19 100.10 7
헐 7 21 ??? 0 0 ??? 0 -100 nan 1
XXX 0 255 iii 8 24 ??? 0 -100 나노 2
XXX 0 255 ??? 0 0 쯧쯧 9 28 200.20 4
onworks.net 서비스를 사용하여 온라인으로 funjoin 사용