名称

ST_SnapToGrid — 通过将栅格捕捉到网格来重采样。新的像素值使用最近邻 (NearestNeighbor),双线性 (Bilinear),三次 (Cubic),三次样条 (CubicSpline) 或兰索斯 (Lanczos) 重采样算法计算。默认值为最近邻。

概要

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) 重采样算法计算。默认值是最近邻,它是最快的,但会导致最差的插值。

gridxgridy 定义新网格的任意像素角。这不一定是新栅格的左上角,并且它不必在新栅格范围的内部或边缘上。

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

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

如果未指定 maxerr,则最大误差百分比为 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