PostGIS
Name
ST_InterpolateRaster — Interpolates a gridded surface based on an input set of 3-d points, using the X- and Y-values to position the points on the grid and the Z-value of the points as the surface elevation.
Synopsis
raster +`*`+ST_InterpolateRaster
*(`geometry `input_points
,
text algorithm_options
, raster template
, integer
template_band_num=1`
)`;
Description
Interpolates a gridded surface based on an input set of 3-d points, using the X- and Y-values to position the points on the grid and the Z-value of the points as the surface elevation. There are five interpolation algorithms available: inverse distance, inverse distance nearest-neighbor, moving average, nearest neighbor, and linear interpolation. See the gdal_grid documentation for more details on the algorithms and their parameters. For more information on how interpolations are calculated, see the GDAL grid tutorial.
Input parameters are:
- input_points
-
The points to drive the interpolation. Any geometry with Z-values is acceptable, all points in the input will be used.
- algorithm_options
-
A string defining the algorithm and algorithm options, in the format used by gdal_grid. For example, for an inverse-distance interpolation with a smoothing of 2, you would use "invdist:smoothing=2.0"
- template
-
A raster template to drive the geometry of the output raster. The width, height, pixel size, spatial extent and pixel type will be read from this template.
- template_band_num
-
By default the first band in the template raster is used to drive the output raster, but that can be adjusted with this parameter.
Availability: 3.2.0
Example
SELECT ST_InterpolateRaster(
'MULTIPOINT(10.5 9.5 1000, 11.5 8.5 1000, 10.5 8.5 500, 11.5 9.5 500)'::geometry,
'invdist:smoothing:2.0',
ST_AddBand(ST_MakeEmptyRaster(200, 400, 10, 10, 0.01, -0.005, 0, 0), '16BSI')
)