Name

ST_Rescale — 通过仅调整其比例(或像素大小)来重采样栅格。使用NearestNeighbor(英式或美式拼写)、双线性、立方、立方样条线或Lanczos重采样算法计算新的像素值。默认为NearestNeighbor。

Synopsis

raster ST_Rescale(raster rast, double precision scalexy, text algorithm=NearestNeighbor, double precision maxerr=0.125);

raster ST_Rescale(raster rast, double precision scalex, double precision scaley, text algorithm=NearestNeighbor, double precision maxerr=0.125);

描述

通过仅调整其比例(或像素大小)来重采样栅格。使用NearestNeighbor(英式或美式拼写)、双线性、立方、立方样条线或Lanczos重采样算法计算新的像素值。默认值为NearestNeighbor,它是最快的,但结果是最差的插值。

scalexscaley 定义新的像素大小。若要获得定向良好的栅格,scaleY通常必须为负数。

如果新的scalex或scaleY不是栅格宽度或高度的除数,则生成的栅格的范围将扩展为包含所提供的栅格的范围。如果要确保保留准确的输入范围,请参见 ST_Resize

maxerr 是重采样算法的变换近似阈值(以像素为单位)。如果没有,则使用缺省值0.125 maxerr 与GDAL gdalwarp实用程序中使用的值相同。如果设置为零,则不会发生近似。

[Note]

请参阅: GDAL扭曲重采样方法 了解更多详细信息。

[Note]

ST_RESale不同于 ST_SetScale 在ST_SetScale中,不要重新采样栅格以匹配栅格范围。ST_SetScale仅更改栅格的元数据(或地理参考)以更正最初错误指定的比例。ST_RESERSCALE会导致计算出的栅格具有不同的宽度和高度,以适应输入栅格的地理范围。ST_SetScale不修改栅格的宽度或高度。

可用性:2.0.0需要GDAL 1.6.1+

已更改:2.1.0适用于没有SRID的栅格

示例

将栅格从0.001度的像素大小重新调整为0.0015度的像素大小的简单示例。

-- the original raster pixel size
SELECT ST_PixelWidth(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0)) width

   width
----------
0.001

-- the rescaled raster raster pixel size
SELECT ST_PixelWidth(ST_Rescale(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0), 0.0015)) width

   width
----------
0.0015

另请参阅

ST_Resize, ST_Resample, ST_SetScale, ST_ScaleX, ST_ScaleY, ST_Transform