ST_Resample
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=NearestNeighbour
, 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=NearestNeighbour
, double precision
maxerr=0.125
, boolean
usescale=true
)
;
raster
ST_Resample
(
raster
rast
, raster
ref
, boolean
usescale
, text
algorithm=NearestNeighbour
, 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.
Refer to: GDAL Warp resampling methods for more details. |
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