Name

ST_Resample — 重采样一个栅格图像,可以指定重新采样算法、新的尺寸、任意的栅格角点,以及一组栅格地理参考属性,这些属性可以自己定义,也可以从另一个栅格图像中借用。

Synopsis

raster ST_Resample(raster rast, integer width, integer height, double precision gridx=NULL, double precision gridy=NULL, double precision skewx=0, double precision skewy=0, text algorithm=NearestNeighbor, double precision maxerr=0.125);

raster ST_Resample(raster rast, double precision scalex=0, double precision scaley=0, double precision gridx=NULL, double precision gridy=NULL, double precision skewx=0, double precision skewy=0, text algorithm=NearestNeighbor, double precision maxerr=0.125);

raster ST_Resample(raster rast, raster ref, text algorithm=NearestNeighbor, double precision maxerr=0.125, boolean usescale=true);

raster ST_Resample(raster rast, raster ref, boolean usescale, text algorithm=NearestNeighbor, double precision maxerr=0.125);

描述

使用指定的重新采样算法、新的尺寸(width&height)、一个网格角点(gridx & gridy),以及一组栅格地理参考属性(scalex、scaley、skewx & skewy),这些属性可以自己定义,也可以从另一个栅格图像中借用。如果使用参考栅格图像,那么这两个栅格图像必须具有相同的空间参考ID(SRID)。

使用以下重采样算法之一计算新像素值:

  • NearestNeighbor (英语或美式拼写)

  • Bilinear

  • Cubic

  • CubicSpline

  • Lanczos

  • Max

  • Min

默认值是“NearestNeighbor”,它速度最快,但插值效果最差。

如果未指定 maxerr,则使用 0.125 的 maxerror 百分比。

[Note]

有关更多详细信息,请参阅:GDAL Warp 重采样方法

可用性:2.0.0 需要 GDAL 1.6.1+

增强:3.4.0 添加了最大和最小重采样选项

示例

SELECT
    ST_Width(orig) AS orig_width,
    ST_Width(reduce_100) AS new_width
FROM (
    SELECT
        rast AS orig,
        ST_Resample(rast,100,100) AS reduce_100
    FROM aerials.boston
    WHERE ST_Intersects(rast,
        ST_Transform(
            ST_MakeEnvelope(-71.128, 42.2392,-71.1277, 42.2397, 4326),26986)
    )
    LIMIT 1
) AS foo;

 orig_width | new_width
------------+-------------
        200 |         100