PostGIS
Name
ST_Resample — Resample a raster using a specified resampling algorithm, new dimensions, an arbitrary grid corner and a set of raster georeferencing attributes defined or borrowed from another raster.
Synopsis
raster +`*`+ST_Resample
*(`raster `rast
, integer width
,
integer height
, double precision gridx=NULL
, double precision
gridy=NULL
, double precision skewx=0
, double precision
skewy=0
, text algorithm=NearestNeighbor
, double precision
maxerr=0.125`
)`;
raster +`*`+ST_Resample
*(`raster `rast
, double precision
scalex=0
, double precision scaley=0
, double precision
gridx=NULL
, double precision gridy=NULL
, double precision
skewx=0
, double precision skewy=0
, text
algorithm=NearestNeighbor
, double precision maxerr=0.125`
)`;
raster +`*`+ST_Resample
*(`raster `rast
, raster ref
, text
algorithm=NearestNeighbor
, double precision maxerr=0.125
,
boolean usescale=true`
)`;
raster +`*`+ST_Resample
*(`raster `rast
, raster ref
,
boolean usescale
, text algorithm=NearestNeighbor
, double
precision maxerr=0.125`
)`;
Description
Resample a raster using a specified resampling algorithm, new dimensions (width & height), a grid corner (gridx & gridy) and a set of raster georeferencing attributes (scalex, scaley, skewx & skewy) defined or borrowed from another raster. If using a reference raster, the two rasters must have the same SRID.
New pixel values are computed using the NearestNeighbor (English or American spelling), Bilinear, Cubic, CubicSpline or Lanczos resampling algorithm. Default is NearestNeighbor which is the fastest but produce the worst interpolation.
A maxerror percent of 0.125 is used if no maxerr
is specified.
|
Availability: 2.0.0 Requires GDAL 1.6.1+
Changed: 2.1.0 Parameter srid removed. Variants with a reference raster no longer applies the reference raster’s SRID. Use ST_Transform() to reproject raster. Works on rasters with no SRID.
Examples
SELECT
ST_Width(orig) AS orig_width,
ST_Width(reduce_100) AS new_width
FROM (
SELECT
rast AS orig,
ST_Resample(rast,100,100) AS reduce_100
FROM aerials.boston
WHERE ST_Intersects(rast,
ST_Transform(
ST_MakeEnvelope(-71.128, 42.2392,-71.1277, 42.2397, 4326),26986)
)
LIMIT 1
) AS foo;
orig_width | new_width
------------+-------------
200 | 100