Content-type: text/html Manpage of KRIGE_SPB

KRIGE_SPB

Section: PSLAM stereo pipeline (1)
Updated: 14th Febraury 2001
Index Return to Main Contents
 

NAME

krige_spb - generate kriged DTM using pre-binning segmented DTM generation algorithm.

 

SYNOPSIS

krige_spb [ -verbose ][ -nice nice level ][ -version ][ -usage ][ -slots ][ -slotinfo ][ -argf argfile ][ -growth_protection retrys ][ -dtm_spatial_metric metric ][ -dtm_implicit_extent ][ -dtm_extent ox oy sx sy ][ -dtm_extent_file filename ][ -dtm_size dtm_rows dtm_cols ] | [ -dtm_step step size ][ -bin_extent ox oy sx sy ][ -bin_size rows cols ][ -catchment catchment distance ][ -ray_distance ray distance ][ -points_per_ray number of points to stop ray ][ -extent ox oy sx sy ][ -krige_from krige_dtm_start_row ][ -krige_to krige_dtm_stop_row ][ -default_accuracy default accuracy parameter ][ B -n_rays number of rays cast from grid point ][ -points_per_ray n ][ -auto_segment points per segment dtm point count file | -ugrid_dtm_size dtm point count ] | [ -n_segments number of segments in computation ][ -protect_zstreams ][ -debug ][ -quiet ][ -min_support_points minimum points in Kriging equations per grid point ][ -max_support_points max points in Kriging equations per grid point ][ -skew_limit misclosure ][ -Vlinear a b c ][ -Vonsphere ][ -Vmap ox oy sx sy v_mapfile ][ -Vfile side_length, semi variogram filename ][ -statefile statefile name ][ -restart statefile_name ][ -prebin_file_name prebin file name ][ -dtm_file hips float gridded DTM (output) file name [ -variance_file hips float gridded DTM variance file name -channels number of (statistics) data channels -<n> channel info strin channel O/P file name ] ][ -xyz [ -variance ][ -channels ][ -<n> channel information string ][ -all_data ][ -geosoft_line_mode ]]
< ungridded_dtm_file [1>ascii_xyz_dtm_file] 2>log_file

 

DESCRIPTION

krige_spb reads a list of scattered points from the standard input, and outputs at least one floating point HIPS file to disk.

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).

 

OPTIONS

-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).

 

SIGNALS

SIGUSR2 is used to support PSRP event handling

 

PSRP INTERACTIVITY

Supports interactive querying while running using Process Status Request Protocol [PSRP], see psrp(1).

 

LIBRARY DEPENDENCIES

Requies the pups(3) programming environment.

 

BUGS

Not a bug - more a feature - the pre-binning is accomplished using pipe streams which means that the maximum number of segments is limited to the maximum number of open files supported by the implementation of UNIX that krige_spb(1) is currently running under.

 

SEE ALSO

variogram_options(3), psrp(1), pups(3).

 

COPYRIGHT

(C) Digital Vision, Didcot, Laser-Scan Ltd, Cambridge.


 

PROGRAMMERS

T Day
Cadence Corporation (Original Kriger)
M.A. O'Neill
Digital Vision, Didcot (Adaptive pre-binning Kriger)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SIGNALS
PSRP INTERACTIVITY
LIBRARY DEPENDENCIES
BUGS
SEE ALSO
COPYRIGHT
PROGRAMMERS

This document was created by man2html, using the manual pages.
Time: 10:23:07 GMT, May 07, 2001