ST_Rescale — 通过仅调整其比例(或像素大小)来重采样栅格。使用NearestNeighbor(英式或美式拼写)、双线性、立方、立方样条线或Lanczos重采样算法计算新的像素值。默认为NearestNeighbor。
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,它是最快的,但结果是最差的插值。
scalex
和 scaley
定义新的像素大小。若要获得定向良好的栅格,scaleY通常必须为负数。
如果新的scalex或scaleY不是栅格宽度或高度的除数,则生成的栅格的范围将扩展为包含所提供的栅格的范围。如果要确保保留准确的输入范围,请参见 ST_Resize
maxerr
是重采样算法的变换近似阈值(以像素为单位)。如果没有,则使用缺省值0.125 maxerr
与GDAL gdalwarp实用程序中使用的值相同。如果设置为零,则不会发生近似。
![]() | |
请参阅: GDAL扭曲重采样方法 了解更多详细信息。 |
![]() | |
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