PostGIS
Name
ST_SnapToGrid — Resample a raster by snapping it to a grid. New pixel values are computed using the NearestNeighbor (english or american spelling), Bilinear, Cubic, CubicSpline or Lanczos resampling algorithm. Default is 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`
)`;
Description
Resample a raster by snapping it to a grid defined by an arbitrary pixel corner (gridx & gridy) and optionally a pixel size (scalex & scaley). New pixel values are computed using the NearestNeighbor (english or american spelling), Bilinear, Cubic, CubicSpline or Lanczos resampling algorithm. The default is NearestNeighbor which is the fastest but results in the worst interpolation.
gridx
and gridy
define any arbitrary pixel corner of the new
grid. This is not necessarily the upper left corner of the new raster
and it does not have to be inside or on the edge of the new raster
extent.
You can optionally define the pixel size of the new grid with scalex
and scaley
.
The extent of the new raster will encompass the extent of the provided raster.
A maxerror percent of 0.125 if no maxerr
is specified.
|
|
Availability: 2.0.0 Requires GDAL 1.6.1+
Changed: 2.1.0 Works on rasters with no SRID
Examples
A simple example snapping a raster to a slightly different grid.
-- 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