Content-type: text/html
Input lines consist of
x y z
fields, optionally followed by the standard deviation accuracy of the point.
The first image output is the interpolated
height
value.
The second image gives standard deviation accuracy for each of the interpolated point.
Upon being read, the points are stored in a regular grid of 'bins' for easy access; ideally there should be one point per bin.
To interpolate a point in the output DEM, it is necessary to identify which input points should be used.
A ray casting approach is used: starting in the bin corresponding to the point to be generated a number of rays are fired out, each continuing until it has passed through bins containing a specified number of points or until it has travelled a specified distance. The nearest N points from these bins are then used to set up Kriging equations
which are solved to interpolate a height value at the (grid) point. This approach is adopted as it stops the
number of points included in the Kriging equationsfrom becoming excessively large and therefore impacting
adversely on the speed of the algorithm (the value of N defaults to 16 in order to preclude the accuracy of
the algorithm being compromised).
-verbose
tells the user what is happening. Log output goes to
stdout
-usage
prints a usage list and then exits
-slots
displays the
pups(3)
library
dependencies in short format for this program and then exits.
-slotinfo
displays the
pups(3)
library
dependencies in long format for this program and then exits.
-version
prints the current version number for this program and then exists.
-argf
<argument_file>
reads the command tail from the argument file. The data format for this file
is:
optional comment ...
-argflag <parameter list>
# ... Optional comment ...
-argflag <parameter list>
-nice
<nice level>
sets the scheduling level for the program. As this is an interactive display
program,
<nice level>
defaults to 4.
-growth_protection
retrys
causes the system to retry an
sbrk(2)
up to
retrys
times. This option permits the program to wait until the core that it requires
is available rather than simply exiting if
sbrk(2)
fails.
-dtm_spatial_metric
specifies
metric,
the units of the DTM (e.g. metres, millimetres, feet etc). Defaults to
unknown.
-bin_extent
ox oy sx sy
specifies the extent of the area within which points will be stored (binned).
Points outside this region are discarded.
Ideally the bin extent should cover a larger area than the DEM extent, otherwise accuracy will be lost around DEM edges.
If not specified, bin extent defaults to the DEM extent (specified by the
-extent
option).
-bin_size
rows cols
specifies the number of bins within the bin extent.
Ideally this should be based on the input point density so that there is approximately one point per bin.
If there are many points per bin, excessively large kriging equation sets result.
If there are many empty bins, cast rays may fail to include close points.
Defaults to the number of rows and columns in the output DEM (specified by
-dtm_size
option).
-catchment
catchment distance
effectively specifies the segment
catchments
for
krige_spb(1).
Typically, for ungridded DTM's derived from SPOT PA imagery this should be set to between 100m and 500m. In
general this parameter need to be set to between 25% and 50% of the segment width in order to avoid artifacts.
-ray_distance
ray distance
specifies the maximum distance from the grid point for which binned ungridded DTM points will be included
in the Kriging equations. In order to optimally infill holes in the DTM this should be set to 10,000m to
20,000m when interpolating output from a typical SPOT stereomatching run. In general setting a large value
for this parameter will not compromise either the speed or accuracy of the interpolation.
-dtm_implicit_extent
Use the ungridded DTM data to implicitly compute the top left hand corner and side lengths of the DTM
bounding box (extent parameters). This option mutually excludes
-dtm_extent
and
-dtm_extent_file
-dtm_extent
ox oy sx sy
specifies the extent of the DTM to be generated.
ox oy
is the planimetric co-ordinate of the bottom-left corner.
sx sy
are the side-lengths, thus the DTM corners are at
(ox,oy) (ox+x,oy) (ox+x,oy+y) (ox,oy+y)
and the x & y spacings are
sx/(cols-1) & sy/(rows-1).
This option mutually excludes
-dtm_implicit_extent
and
-dtm_extent_file
-dtm_extent_file
extent_file_name
reads the extent parameters (ox, oy, sx, sy) from a file (generated by the camera model).
This option mutually excludes
-dtm_implicit_extent
and
-dtm_extent
-from_row
dtm_row
specifies the DTM row to commence Kriging at (default 0).
-last_row
dtm_row
specifies the DTM row to commence Kriging at (default to maximum number of rows in DTM).
-points_per_ray
n
specifies the minimum number of points a ray must include (i.e the total number of points in the bins the ray passes through).
Each ray stops once it has included a sufficient number of points.
Defaults to one.
-dtm_file
HIPS float DTM file name
specifies the name of the file to which interpolated height data is written (in HIPS float format).
Memory mapping is used, so the image can be seen building up. This option is mutually exclusive
to
-xyz
-variance_file
HIPS float variogram file name
specifies the name of the file to which variance data is written (in HIPS float format). Memory
mapping is used so the image can be seen building up. This option is only valid if
-dtm_file
has been specified, and
-xyz
is not specified.
-xyz
tells
krige_spb(1)
to write gridded DTM data to standard output as X,Y,Z triplets. This data format is readily
imported into spatial information and geological modelling systems. Mutually exclusive to
-dtm_file
option
-variogram
tells
krige_spb(1)
to append per-point variance data to X,Y,Z grid tuples.
-all_data
specifies that all data (X,Y,Z,...) is written to standard output. If this flag is not
specified only interpolated grid points are written. Option is only valid if
-xyz
is specified.
-geosoft_line_mode
tells
krige_spb(1)
to produce O/P appropriate for Geosoft line profiling modes (this option is only valid as a
sub-option of
-xyz
-channels
tells
krige_spb(1)
the number of extra channels of data to expect on stdin, This extra data is appended to the
DTM data tuple and typically consists of statistical data which is required for each gridded
DTM point.
-<N>
channel information string
tells
krige|_spb(1)
[channel file name]
to process the data read from the Nth data channel after the DTM tuple (note N starts at 0 not 1).
Currently data processing consists of finding the RMS of the quantity read in on channel <N>.
Depending on the output mode this per DTM grid point RMS is either appended to the gridded DTM
co-ordinate, or written to HIPS file (
channel file name
). In
-xyz
mode data is appended to the gridded DTM co-ordinate. If the output DTM is written to a HIPS file
the the statistical data is also written to a HIPS file in precisely the same format (IEEE floats).
-quiet
sets 'quiet mode'.
By default, row, column, number of points used and the intepolated Z and accuracy estimate are printed on the standard error for each interpolated point.
-n_rays
rays
specifies the number of rays to be cast (defaults to 8).
If there are large voids in the data, better results can be obtained using
rays
>=16, so as to include more points from around the void.
-dtm_size
rows cols
specifies the number of rows and columns in the output DTM. This option is only
valid if
-dtm_step
has not been previously specified on the command line.
-dtm_step
step size
specifies the grid step of the DTM. The extent parameter (specified via the
-dtm_extent,
-dtm_extent_file,
or
-dtm_implicit_extent
command tail options is used in conjuction with the
step size
to compute the number of rows and columns in the DTM. This option is only valid if
the
-dtm_size
parameter has not been previously specified on the command line.
-default_accuracy
accuracy
specifies the estimated standard deviation accuracy for input points that do not have an accuracy specified in their 4th field.
Defaults to zero.
-V...
specifies which of the various semi-variogram models is to be used.
See the
variogram_options
man page for details of those available.
-auto_segment
points per segment
name of file containing number of points in ungridded dtm (produced by camera model)
|
-ugrid_dtm_size
points in ungridded dtm
tells
krige_spb(1)
to automatically compute the number of segments to use for the prebinning phase of the Kriging
job. The number of segments is chosen to keep the number of points in core memory below
points per segment
assuming a uniform distribution of points in the ungridded DTM and taking account of any implicit
overlap between the prebin segments. The number of points in the ungridded DTM (required for this
computation) is either read from a file produced by the camera model or specified explicitly via
the command sub-tail option
-ugrid_dtm_size.
Note that this option and
-n_segments
are mutaully exclusive.
-n_segments
number of segments
specifies the number of segments the computation is to be divided into. This feature has been introduced
into the Kriging code to permit the algorithm to function with reasobable throughput on small memory (< 32MB)
machines with large datasets (ungridded DTM's containing > 1,000,000 points). Defaults to 8 which permits
DTM's derived from SPOT PA imagery to be Kriged on 32Mb machines. Note that this option and
-auto_segment
are mutaully exclusive.
-protect_zstreams
tells
krige_spb(1)
to use PUPS homeostats to protect zstreams and associated data from accidental (or malicious) deletion.
Defaults to FALSE (no homeostatic protection for zstreams or associated files).
-min_support_points
minimum points in Kriging equations per grid point
specifies the minimum number of points which must surround a grid point before Kriging is attempted. This
defaults to 8 which ensures interpolation rather than extrapolation when Kriging ungridded DTM's derived from
SPOT PA stereo pairs, without compromising accuracy.
-max_support_points
max points in Kriging equations per grid point
specifies the maximum number of support points per grid point. Defaults to 32 which ensures that the Kriging
equations do not get too large (and therefore too slow to solve).
-skew_limit
misclosure
specifies the misclosure above which ungridded DTM points is barred from becoming support points for a grid
points which are to be interpolated.
-statefile
statefile name
tells
krige_spb(1)
to periodically checkpoint its computations, allowing the run to be restarted in the event of a
system crash. The current state of the computation is stored in the file
statefile name
which is provided by the user.
-restart
statefile name
tells
krige_spb(1)
to restart the computation using the information stored within
statefile name.
-keep_prebin_files
prebin file name
tells
krige_spb(1)
to keep prebin files (the prebin files will be of the form Krige.prebin.<N>.<prebin file name>.tmp
where <N> is an integer. This facility enables the use to generate DTM's at many resolutions
without having to keep prebinning the data (which is time consuming).