Join two files whose sampling is different.
dmjoin infile joinfile outfile join [interpolate] [verbose] [clobber]
The dmjoin program allows you to perform interpolations on tables
which have a common column.
Suppose you have a file asol.fits which gives the aspect solution as
a function of time, sampled on a specific time interval, and a
set of photon events whose times are arbitrary. dmjoin allows you
to generate a version of the aspect solution with one record
per photon, interpolated to the times of those photons.
Another example would be a table linking photometric color BV_COL to
stellar effective temperature TE, together with a star catalog
containing values of BV_COL for each star. The program will generate
the corresponding TE values for each star.
NB: Interpolating has been generalized to offer more options than a
simple linear interpolation. These other options are selected by
setting the parameter 'interpolate' to a non-default value (see the
parameter section).
dmjoin evt.fits "asol.fits[cols ra,dec,roll,time]" evt_join.fits
join=time
The column "time" is present in both evt.fits and the virtual file
"asol.fits[cols ra,dec,roll,time]". In the latter, time is monotonic,
so we can interpolate. The output file evt_join.fits will be a copy
of evt.fits with the columns ra,dec,roll added to it. The values of
ra,dec,roll in the output file will be determined by using the value
of time in evt.fits and interpolating in the asol.fits file to
calculate the values of ra,dec and roll.
dmjoin "evt.fits[cols time]" asol.fits asol_join.fits join=TIME
Makes a version of the aspect file evaluated only at the times of
photons in the event file. Since the (virtual) event file has only
one column, time, and this is the join column, the output has exactly
the same column structure as the asol.fits file - except that the TIME
column will be the first one in the file.
dmjoin "catalog.fits" "color_table.fits[cols BV_COL,TE]' join=BV_COL
outfile=catalog_with_te.fits
Make a version of the catalog with a derived column TE generated from
the lookup table color_table.fits which gives the function TE(BV_COL).
Input virtual file
Input virtual file used as a basis for the output file.
Must contain the join column; need not be sorted.
Input virtual join file.
Must contain the join column
and at least one other column. Must be monotonically sorted
on the join column.
The output file, with the interpolated column.
The output file is a copy of the input virtual file, but with
the columns from the join file appended and interpolated.
Name of join column.
The name of the common column in the join file and input file.
Interpolation method
There are several methods of selecting values of the entries in the new column(s), based on
the relevent values in the join column.
-
linear - a simple linear interpolation
-
first - pick values from the first of the two rows bracketing the input value of the join column.
-
last - pick values from the second of the two rows
-
closest - pick values from the row closest to the input value of the join column.
-
furthest - pick values from the row furthest from the input value of the join column.
-
minimum - pick the smaller value of the two which bracket the input value of the join column.
-
maximum - pick the larger value
Controls screen output information, value is 0 (no info)
to 5 (most info).
Clobber output if it exists? (yes/no)
In addition to the original linear interpolation for choosing
values within an interval of the join column, several other
options are now available. These are controlled by the new
parameter, "interpolate" (whose default is the original
linear interpolation). These other options are described in
the parameter section of this file.
- dm
-
dmcols,
dmfiltering,
dmopt
- tools
-
dmappend,
dmarfadd,
dmgroup,
dmgti,
dmmerge,
dmpaste,
dmsort,
dmtcalc,
dmtype2split
|