Next Previous Up Contents
Next: Examples
Up: tmatch2: Pair Crossmatcher
Previous: tmatch2: Pair Crossmatcher
The usage of tmatch2
is
stilts <stilts-flags> tmatch2 ifmt1=<in-format> ifmt2=<in-format>
icmd1=<cmds> icmd2=<cmds>
matcher=<matcher-name> values1=<expr-list>
values2=<expr-list> params=<match-params>
join=1and2|1or2|all1|all2|1not2|2not1|1xor2
find=best|all ocmd=<cmds>
omode=<out-mode> <mode-args> out=<out-table>
ofmt=<out-format>
[in1=]<table1> [in2=]<table2>
If you don't have the stilts
script installed,
write "java -jar stilts.jar
" instead of
"stilts
" - see Section 3.
The available <stilts-flags>
are listed
in Section 2.1.
Parameter values are assigned on the command line
as explained in Section 2.3.
They are as follows:
-
find = best|all
- Determines which matches are retained.
If
best
is selected, then only the best match
between the two tables will be retained; in this case
the data from a row of either input table will appear in
at most one row of the output table.
If all
is selected, then all pairs of rows
from the two input tables which match the input criteria
will be represented in the output table.
[Default: best
]
-
icmd1 = <cmds>
- Commands to operate on the
first input table, before any other
processing takes place.
The value of this parameter is one or more of the filter commands
described in Section 5.1.
If more than one is given, they must be separated by
semicolon characters (";").
This parameter can be repeated multiple times on the same
command line to build up a list of processing steps.
The sequence of commands given in this way
defines the processing pipeline which is performed on the table.
-
icmd2 = <cmds>
- Commands to operate on the
second input table, before any other
processing takes place.
The value of this parameter is one or more of the filter commands
described in Section 5.1.
If more than one is given, they must be separated by
semicolon characters (";").
This parameter can be repeated multiple times on the same
command line to build up a list of processing steps.
The sequence of commands given in this way
defines the processing pipeline which is performed on the table.
-
ifmt1 = <in-format>
- Specifies the format of the first input table
(one of the known formats listed in Section 4.1).
This flag can be used if you know what format your input
table is in.
If it has the special value
(auto)
(the default),
then an attempt will be
made to detect the format of the table automatically.
This cannot always be done correctly however, in which case
the program will exit with an error explaining which
formats were attempted.
[Default: (auto)
]
-
ifmt2 = <in-format>
- Specifies the format of the second input table
(one of the known formats listed in Section 4.1).
This flag can be used if you know what format your input
table is in.
If it has the special value
(auto)
(the default),
then an attempt will be
made to detect the format of the table automatically.
This cannot always be done correctly however, in which case
the program will exit with an error explaining which
formats were attempted.
[Default: (auto)
]
-
in1 = <table1>
- The location of the first input table.
This is usually a filename or URL, and may point to a file
compressed in one of the supported compression formats
(Unix compress, gzip or bzip2).
If it is omitted, or equal to the special value "-",
the input table will be read from standard input.
In this case the input format must be given explicitly
using the
ifmt1
parameter.
-
in2 = <table2>
- The location of the second input table.
This is usually a filename or URL, and may point to a file
compressed in one of the supported compression formats
(Unix compress, gzip or bzip2).
If it is omitted, or equal to the special value "-",
the input table will be read from standard input.
In this case the input format must be given explicitly
using the
ifmt2
parameter.
-
join = 1and2|1or2|all1|all2|1not2|2not1|1xor2
- Determines which rows are included in the output table.
The matching algorithm determines which of the rows from
the first table correspond to which rows from the second.
This parameter determines what to do with that information.
Perhaps the most obvious thing is to write out a table
containing only rows which correspond to a row in both of
the two input tables. However, you may also want to see
the unmatched rows from one or both input tables,
or rows present in one table but unmatched in the other,
or other possibilities.
The options are:
-
1and2
: An output row for each row represented in both input tables
-
1or2
: An output row for each row represented in either or both of the input tables
-
all1
: An output row for each matched or unmatched row in table 1
-
all2
: An output row for each matched or unmatched row in table 2
-
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
[Default: 1and2
]
-
matcher = <matcher-name>
- Defines the nature of the matching that will be performed.
Depending on the name supplied, this may be positional
matching using celestial or Cartesian coordinates,
exact matching on the value of a string column,
or other things.
A list and explanation of the available matching algorithms
is given in Section 6.1.
The value supplied for this parameter determines the meanings
of the values required by the
params
,
values1
and values2
parameters.
[Default: sky
]
-
ocmd = <cmds>
- Commands to operate on the output table,
after all other processing has taken place.
The value of this parameter is one or more of the filter commands
described in Section 5.1.
If more than one is given, they must be separated by
semicolon characters (";").
This parameter can be repeated multiple times on the same
command line to build up a list of processing steps.
The sequence of commands given in this way
defines the processing pipeline which is performed on the table.
-
ofmt = <out-format>
- Specifies the format in which the output table will be written
(one of the ones in Section 4.2 - matching is
case-insensitive and you can use just the first few letters).
If it has the special value
"
(auto)
"
(the default),
then the output filename will be
examined to try to guess what sort of file is required
usually by looking at the extension.
If it's not obvious from the filename what output format is
intended, an error will result.
This parameter must only be given if
omode
has its default value of "out
".
[Default: (auto)
]
-
omode = <out-mode> <mode-args>
- The mode in which the result table will be output.
The default mode is
out
, which means that
the result will be written as a new table to disk or elsewhere,
as determined by the out
and ofmt
parameters.
However, there are other possibilities, which correspond
to uses to which a table can be put other than outputting it,
such as displaying metadata, calculating statistics,
or populating a table in an SQL database.
For some values of this parameter, additional parameters
(<mode-args>
)
are required to determine the exact behaviour.
Possible values are out
, meta
, stats
, count
, cgi
, discard
, topcat
, plastic
and tosql
.
Use the help=omode
flag
or see Section 5.4 for more information.
[Default: out
]
-
out = <out-table>
- The location of the output table. This is usually a filename
to write to.
If it is equal to the special value "-" (the default)
the output table will be written to standard output.
This parameter must only be given if
omode
has its default value of "out
".
[Default: -
]
-
params = <match-params>
- Determines the parameters of this match.
This is typically one or more tolerances such as error radii.
It may contain zero or more values; the values that are
required depend on the match type selected by the
matcher
parameter.
If it contains multiple values, they must be separated by spaces;
values which contain a space can be 'quoted' or "quoted".
-
values1 = <expr-list>
- Defines the values from table 1
which are used to determine whether a match has occurred.
These will typically be coordinate values such as RA and Dec
and perhaps some per-row error values as well, though exactly
what values are required is determined by the kind of match
as determined by
matcher
.
Depending on the kind of match, the number and type of
the values required will be different.
Multiple values should be separated by whitespace;
if whitespace occurs within a single value it must be
'quoted' or "quoted".
Elements of the expression list are commonly just column
names, but may be algebraic expressions calculated from
zero or more columns as explained in Section 7.
-
values2 = <expr-list>
- Defines the values from table 2
which are used to determine whether a match has occurred.
These will typically be coordinate values such as RA and Dec
and perhaps some per-row error values as well, though exactly
what values are required is determined by the kind of match
as determined by
matcher
.
Depending on the kind of match, the number and type of
the values required will be different.
Multiple values should be separated by whitespace;
if whitespace occurs within a single value it must be
'quoted' or "quoted".
Elements of the expression list are commonly just column
names, but may be algebraic expressions calculated from
zero or more columns as explained in Section 7.
Next Previous Up Contents
Next: Examples
Up: tmatch2: Pair Crossmatcher
Previous: tmatch2: Pair Crossmatcher
STILTS - Starlink Tables Infrastructure Library Tool Set
Starlink User Note
256
STILTS web page:
http://www.starlink.ac.uk/stilts/
Author email:
m.b.taylor@bristol.ac.uk