STILTS-TMATCH2(1) | Stilts commands | STILTS-TMATCH2(1) |
NAME¶
stilts-tmatch2 - Crossmatches 2 tables using flexible criteria
SYNOPSIS¶
stilts tmatch2 [in1=<table1>] [ifmt1=<in-format>] [in2=<table2>] [ifmt2=<in-format>] [icmd1=<cmds>] [icmd2=<cmds>] [ocmd=<cmds>] [omode=out|meta|stats|count|cgi|discard|topcat|samp|tosql|gui] [out=<out-table>] [ofmt=<out-format>] [matcher=<matcher-name>] [values1=<expr-list>] [values2=<expr-list>] [params=<match-params>] [tuning=<tuning-params>] [join=1and2|1or2|all1|all2|1not2|2not1|1xor2] [find=all|best|best1|best2] [fixcols=none|dups|all] [suffix1=<label>] [suffix2=<label>] [scorecol=<col-name>] [progress=none|log|profile]
DESCRIPTION¶
tmatch2 is an efficient and highly configurable tool for crossmatching pairs of tables. It can match rows between tables on the basis of their relative position in the sky, or alternatively using many other criteria such as separation in some isotropic or anisotropic Cartesian space, identity of a key value, or some combination of these; the full range of match criteria is discussed in SUN/256. You can choose whether you want to identify all the matches or only the closest, and what form the output table takes, for instance matched rows only, or all rows from one or both tables, or only the unmatched rows.
If you simply want to match two tables based on sky position with a fixed maximum separation, you may find the tskymatch2 command easier to use.
Note: the duptag1 and duptag2 parameters have been replaced at version 1.4 by suffix1 and suffix2 for consistency with other table join tasks.
OPTIONS¶
- A filename.
- A URL.
- The special value "-", meaning standard input. In this case the input format must be given explicitly using the ifmt1 parameter. Note that not all formats can be streamed in this way.
- A scheme specification of the form :<scheme-name>:<scheme-args>.
- A system command line with either a "<" character at the start, or a "|" character at the end ("<syscmd" or "syscmd|"). This executes the given pipeline and reads from its standard output. This will probably only work on unix-like systems.
In any case, compressed data in one of the supported compression formats (gzip, Unix compress or bzip2) will be decompressed transparently.
- A filename.
- A URL.
- The special value "-", meaning standard input. In this case the input format must be given explicitly using the ifmt2 parameter. Note that not all formats can be streamed in this way.
- A scheme specification of the form :<scheme-name>:<scheme-args>.
- A system command line with either a "<" character at the start, or a "|" character at the end ("<syscmd" or "syscmd|"). This executes the given pipeline and reads from its standard output. This will probably only work on unix-like systems.
In any case, compressed data in one of the supported compression formats (gzip, Unix compress or bzip2) will be decompressed transparently.
Commands may alteratively be supplied in an external file, by using the indirection character '@'. Thus a value of "@filename" causes the file filename to be read for a list of filter commands to execute. The commands in the file may be separated by newline characters and/or semicolons, and lines which are blank or which start with a '#' character are ignored.
Commands may alteratively be supplied in an external file, by using the indirection character '@'. Thus a value of "@filename" causes the file filename to be read for a list of filter commands to execute. The commands in the file may be separated by newline characters and/or semicolons, and lines which are blank or which start with a '#' character are ignored.
Commands may alteratively be supplied in an external file, by using the indirection character '@'. Thus a value of "@filename" causes the file filename to be read for a list of filter commands to execute. The commands in the file may be separated by newline characters and/or semicolons, and lines which are blank or which start with a '#' character are ignored.
Possible values are
- out
- meta
- stats
- count
- cgi
- discard
- topcat
- samp
- tosql
- gui
Use the help=omode flag or see SUN/256 for more information.
This parameter must only be given if omode has its default value of "out".
This parameter must only be given if omode has its default value of "out".
- 1and2: An output row for each row represented in both input tables (INNER JOIN)
- 1or2: An output row for each row represented in either or both of the input tables (FULL OUTER JOIN)
- all1: An output row for each matched or unmatched row in table 1 (LEFT OUTER JOIN)
- all2: An output row for each matched or unmatched row in table 2 (RIGHT OUTER JOIN)
- 1not2: An output row only for rows which appear in the first table but are not matched in the second table
- 2not1: An output row only for rows which appear in the second table but are not matched in the first table
- 1xor2: An output row only for rows represented in one of the input tables but not the other one
- all: All matches. Every match between the two tables is included in the result. Rows from both of the input tables may appear multiple times in the result.
- best: Best match, symmetric. The best pairs are selected in a way which treats the two tables symmetrically. Any input row which appears in one result pair is disqualified from appearing in any other result pair, so each row from both input tables will appear in at most one row in the result.
- best1: Best match for each Table 1 row. For each row in table 1, only the best match from table 2 will appear in the result. Each row from table 1 will appear a maximum of once in the result, but rows from table 2 may appear multiple times.
- best2: Best match for each Table 2 row. For each row in table 2, only the best match from table 1 will appear in the result. Each row from table 2 will appear a maximum of once in the result, but rows from table 1 may appear multiple times.
The differences between best, best1 and best2 are a bit subtle. In cases where it's obvious which object in each table is the best match for which object in the other, choosing betwen these options will not affect the result. However, in crowded fields (where the distance between objects within one or both tables is typically similar to or smaller than the specified match radius) it will make a difference. In this case one of the asymmetric options (best1 or best2) is usually more appropriate than best, but you'll have to think about which of them suits your requirements. The performance (time and memory usage) of the match may also differ between these options, especially if one table is much bigger than the other.
- none: columns are not renamed
- dups: columns which would otherwise have duplicate names in the output will be renamed to indicate which table they came from
- all: all columns will be renamed to indicate which table they came from
If columns are renamed, the new ones are determined by suffix* parameters.
The options are:
- none: no progress is shown
- log: progress information is shown
- profile: progress information and limited time/memory profiling information are shown
SEE ALSO¶
If the package stilts-doc is installed, the full documentation
SUN/256 is available in HTML format:
file:///usr/share/doc/stilts-doc/sun256/index.html
VERSION¶
STILTS version 3.4-debian
This is the Debian version of Stilts, which lack the support of
some file formats and network protocols. For differences see
file:///usr/share/doc/stilts/README.Debian
AUTHOR¶
Mark Taylor (Bristol University)
Mar 2017 |