GRASS logo

NAME - Performs thin plate spline interpolation with regularization and covariables.


vector, surface, interpolation, TPS

SYNOPSIS --help [-c] input=name [layer=string] [column=name] [smooth=float] [overlap=float] [min=float] [covars=name[,name,...]] [thin=float] output=name [mask=name] [memory=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Input points are dense clusters separated by empty areas
Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


input=name [required]
Name of input vector point map
Or data source for direct OGR access
Layer number or name
Vector features can have category values in different layers. This number determines which layer to use. When used with direct OGR access this is the layer name.
Default: 1
Name of the attribute column with values to be used for interpolation
If not given, z-coordinates are used.
Smoothing factor
Default: 0
Overlap factor <= 1
A larger value increase the tile overlap
Default: 0.1
Minimum number of points to use for TPS interpolation
Default: 20
Name of input raster map(s) to use as covariables
Name of input raster map(s)
Point cloud thinning factor in number of cells of the current region
Minimum distance between neighboring points for local TPS interpolation
Default: 1.5
output=name [required]
Name for output raster map
Raster map to use for masking
Only cells that are not NULL and not zero are interpolated
Memory in MB
Default: 300

Table of contents

DESCRIPTION performs multivariate thin plate spline interpolation with regularization. The input is a 2D or 3D vector points map. Values to interpolate can be the z values of 3D points or the values in a user-specified attribute column in a 2D or 3D vector map. Output is a raster map. Optionally, several raster maps can be specified to be used as covariables which will improve results in areas with few points. The module can be regarded as a combination of a multiple regression and spline interpolation.

The min options specifies the minimum number of points to be used for interpolation. If the number of input points is smaller than or equal to the minimum number of points, global TPS interpolation is used. If the number of input points is larger than the minimum number of points, tiled local TPS interpolation is used. Tile sizes are variable and dependent on the extents of the min nearest neighbors when a new tile is generated.

The smooth option can be used to reduce the influence of the splines and increase the influence of the covariables. Without covariables, the resulting surface will be smoother. With covariables and a large smooting value, the resulting surface will be mainly determined by the multiple regression component.

The overlap option controls how much tiles are overlapping when the min option is smaller than the numer of input points. Tiling artefacts occur with low values for the min option and the overlap option. Increasing both options will reduce tiling artefacts but processing will take more time. Values for the overlap option must be between 0 and 1.

The module works best with evenly spaced sparse points. In case of highly unevenly spaced points, e.g. remote sensing data with gaps due to cloud cover, the thin option should be used in order to avoid tiling artefacts, otherwise a high number of minimum points and a large overlap value are required, slowing down the module.

The memory option controls only how much memory should be used for the covariables and the intermediate output. The input points are always completely loaded to memory.


The computational region setting for the following examples:
g.region -p rast=elev_state_500m

Basic interpolation

Interpolation of 30 year precipitation normals in the North Carlolina sample dataset: input=precip_30ynormals_3d output=precip_30ynormals_3d \
           column=annual min=140

Interpolation with a covariable input=precip_30ynormals_3d output=precip_30ynormals_3d \
           column=annual min=140 covars=elev_state_500m

Interpolation with a covariable and smoothing input=precip_30ynormals_3d output=precip_30ynormals_3d \
           column=annual min=140 covars=elev_state_500m smooth=0.1

Tiled interpolation with a covariable and smoothing input=precip_30ynormals_3d output=precip_30ynormals_3d \
           column=annual min=20 covars=elev_state_500m smooth=0.1 \

Precipitation computed based on annual normals and elevation as a covariable




Markus Metz


Available at: source code (history)

Latest change: Monday Jan 30 19:52:26 2023 in commit: cac8d9d848299297977d1315b7e90cc3f7698730

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

© 2003-2024 GRASS Development Team, GRASS GIS 8.3.3dev Reference Manual