Name

ST_Resample — Resampla ett raster med hjälp av en specificerad resamplingsalgoritm, nya dimensioner, ett godtyckligt rutnätshörn och en uppsättning rastergeoreferensattribut som definierats eller lånats från ett annat 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);

Beskrivning

Resampla ett raster med en specificerad resamplingsalgoritm, nya dimensioner (bredd & höjd), ett rasterhörn (gridx & gridy) och en uppsättning rastergeoreferensattribut (scalex, scaley, skewx & skewy) definierade eller lånade från ett annat raster. Om man använder ett referensraster måste de två rastren ha samma SRID.

Nya pixelvärden beräknas med hjälp av någon av följande omsamplingsalgoritmer:

  • NearestNeighbor (engelsk eller amerikansk stavning)

  • Bilinjär

  • Kubisk

  • CubicSpline

  • Lanczos

  • Max

  • Min

Standardinställningen är NearestNeighbor, vilket är snabbast men ger den sämsta interpoleringen.

En maxerrorprocent på 0,125 används om ingen maxerr har angetts.

[Note]

Hänvisa till: GDAL Warp resampling methods för mer information.

Tillgänglighet: 2.0.0 Kräver GDAL 1.6.1+

Förbättrad: 3.4.0 max- och min-alternativ för omsampling har lagts till

Exempel

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