# Difference between revisions of "Interpolation"

From GRASS-Wiki

(fine tuning; +new GRASS7 modules) |
m (→Resampling of raster maps to finer resolution) |
||

Line 10: | Line 10: | ||

Only GRASS 7: | Only GRASS 7: | ||

* {{cmd|r.resamp.bspline|version=70}} resamples with bicubic or bilinear spline interpolation with Tykhonov regularization. | * {{cmd|r.resamp.bspline|version=70}} resamples with bicubic or bilinear spline interpolation with Tykhonov regularization. | ||

− | * {{cmd|r.resamp.filter|version=70}} resamples raster map layers using an analytic kernel. | + | * {{cmd|r.resamp.filter|version=70}} resamples raster map layers using an analytic kernel. It offers box, bartlett, gauss, normal, hermite, sinc, lanczos1, lanczos2, lanczos3, hann, hamming, and blackman kernels. |

==== Resampling of raster maps to coarser resolution ==== | ==== Resampling of raster maps to coarser resolution ==== |

## Revision as of 13:51, 4 November 2012

## Resampling methods and interpolation in GRASS

### Reinterpolation of "filled" raster maps (continuous data) to a different resolution

#### Resampling of raster maps to finer resolution

- r.resample uses the built-in resampling (nearest neighbor in GRASS 6), so it should produce identical results as the on-the-fly resampling done via the raster import modules.
- r.resamp.interp Resampling with nearest neighbor, bilinear, and bicubic method: method=nearest uses the same algorithm as r.resample, but not the same code, so it may not produce identical results in cases which are decided by the rounding of floating-point numbers. For r.resamp.interp method=bilinear and method=bicubic, the raster values are treated as samples at each raster cell's centre, defining a piecewise-continuous surface. The resulting raster values are obtained by sampling the surface at each region cell's centre. As the algorithm only interpolates, and doesn't extrapolate, a margin of 0.5 (for bilinear) or 1.5 (for bicubic) cells is lost from the extent of the original raster. Any samples taken within this margin will be null.
- r.resamp.rst Regularized Spline with Tension (RST) interpolation 2D: Behaves similarly, i.e. it computes a surface assuming that the values are samples at each raster cell's centre, and samples the surface at each region cell's centre.

Only GRASS 7:

- r.resamp.bspline resamples with bicubic or bilinear spline interpolation with Tykhonov regularization.
- r.resamp.filter resamples raster map layers using an analytic kernel. It offers box, bartlett, gauss, normal, hermite, sinc, lanczos1, lanczos2, lanczos3, hann, hamming, and blackman kernels.

#### Resampling of raster maps to coarser resolution

- For r.resamp.stats resamples raster map layers to a coarser grid using aggregation. Used without -w, the value of each region cell is the chosen aggregate of the values from all of the raster cells whose centres fall within the bounds of the region cell. With -w, the samples are weighted according to the proportion of the raster cell which falls within the bounds of the region cell, so the result is normally unaffected by rounding error (a miniscule difference in the position of the boundary results in the addition or subtraction of a sample weighted by a miniscule factor; also, The min and max aggregates can't use weights, so -w has no effect for those).

### Reinterpolation of "sparse" (scattered points or lines) maps

- Inverse distance weighted average (IDW) interpolation (r.surf.idw and r.surf.idw2)
- Interpolating from contour lines (r.contour)
- Interpolating from vector points with B-splines (v.surf.bspline)
- Interpolating from vector points with regularized splines with Tension (v.surf.rst and v.vol.rst), see also RST Spline Surfaces
- Interpolating from vector points with Kriging (v.krige, GRASS 7+)

## See also

- GRASS rasterintro
- GRASS vectorintro