名称

ST_InterpolateRaster — 根据一组输入 3-d 点插值网格表面,使用 X 和 Y 值将点定位在网格上,并使用点的 Z 值作为表面高程。

语法

raster ST_InterpolateRaster(geometry input_points, text algorithm_options, raster template, integer template_band_num=1);

描述

根据一组输入 3-d 点插值网格表面,使用 X 和 Y 值将点定位在网格上,并使用点的 Z 值作为表面高程。有五种插值算法可用:反距离、反距离最近邻、移动平均、最近邻和线性插值。有关算法及其参数的更多详细信息,请参阅 gdal_grid 文档。有关如何计算插值内容的更多信息,请参阅 GDAL 网格教程

输入参数为

input_points

用于驱动插值的点。具有 Z 值的任何几何都可接受,将使用输入中的所有点。

algorithm_options

一个字符串,用于定义算法和算法选项,格式与 gdal_grid 使用的格式相同。例如,对于平滑度为 2 的反距离插值,可以使用“invdist:smoothing=2.0”

template

一个栅格模板,用于驱动输出栅格的几何。将从此模板中读取宽度、高度、像素大小、空间范围和像素类型。

template_band_num

默认情况下,模板栅格中的第一个波段用于驱动输出栅格,但可以通过此参数进行调整。

可用性:3.2.0

示例

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

另请参阅

ST_Contour