Name

ST_SnapToGrid — 通过将栅格捕捉到网格来重采样栅格。 新的像素值是使用NearestNeighbor(英语或美式拼写)、Bilinear, Cubic, CubicSpline 或 Lanczos 重采样算法计算的。 默认为NearestNeighbor。

Synopsis

raster ST_SnapToGrid(raster rast, double precision gridx, double precision gridy, text algorithm=NearestNeighbor, double precision maxerr=0.125, double precision scalex=DEFAULT 0, double precision scaley=DEFAULT 0);

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

raster ST_SnapToGrid(raster rast, double precision gridx, double precision gridy, double precision scalexy, text algorithm=NearestNeighbor, double precision maxerr=0.125);

描述

通过将栅格图像重新采样,将其对齐到由任意像素角点(gridx & gridy)定义的网格,可选地使用像素大小(scalex & scaley)。新的像素值是使用最近邻(NearestNeighbor,英式或美式拼写)、双线性(Bilinear)、三次样条(Cubic)、立方样条(CubicSpline)或兰索斯(Lanczos)重新采样算法计算的。默认情况下使用最近邻(NearestNeighbor),这是最快但插值效果最差的算法。

gridx gridy 定义新网格的任意像素角。 这不一定是新栅格的左上角,也不必位于新栅格范围的内部或边缘。

您可以选择使用scalexscaley定义新网格的像素大小。

新栅格的范围将包含所提供栅格的范围。

如果未指定 maxerr,则 maxerror 百分比为 0.125。

[Note]

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

[Note]

如果您需要对网格参数进行更多控制,请使用 ST_Resample

可用性:2.0.0 需要 GDAL 1.6.1+

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

示例

将栅格捕捉到稍微不同的网格的简单示例。

-- the original raster upper left X
SELECT ST_UpperLeftX(ST_AddBand(ST_MakeEmptyRaster(10, 10, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0));
-- result
0

-- the upper left of raster after snapping
SELECT ST_UpperLeftX(ST_SnapToGrid(ST_AddBand(ST_MakeEmptyRaster(10, 10, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0), 0.0002, 0.0002));

--result
-0.0008