ST_Rescale — Resampla ett raster genom att endast justera dess skala (eller pixelstorlek). Nya pixelvärden beräknas med hjälp av omsamplingsalgoritmen NearestNeighbor (engelsk eller amerikansk stavning), Bilinear, Cubic, CubicSpline, Lanczos, Max eller Min. Standard är NearestNeighbor.
raster ST_Rescale(
raster rast, double precision scalexy, text algorithm=NearestNeighbor, double precision maxerr=0.125)
;
raster ST_Rescale(
raster rast, double precision scalex, double precision scaley, text algorithm=NearestNeighbor, double precision maxerr=0.125)
;
Omsampla ett raster genom att endast justera dess skala (eller pixelstorlek). 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.
scalex
och scaley
definierar den nya pixelstorleken. scaley måste ofta vara negativ för att få ett välorienterat raster.
När den nya scalex eller scaley inte är en divisor av rastrets bredd eller höjd, utökas det resulterande rastrets utsträckning så att det omfattar det tillhandahållna rastrets utsträckning. Om du vill vara säker på att behålla den exakta omfattningen av inmatningen, se ST_Resize
maxerr
är tröskelvärdet för omsamplingsalgoritmens approximation av transformationen (i pixelenheter). Ett standardvärde på 0,125 används om maxerr
inte anges, vilket är samma värde som används i GDAL:s verktyg gdalwarp. Om värdet sätts till noll sker ingen approximering.
![]() |
|
Hänvisa till: GDAL Warp resampling methods för mer information. |
![]() |
|
ST_Rescale skiljer sig från ST_SetScale genom att ST_SetScale inte omsamplar rastret för att matcha rastrets utsträckning. ST_SetScale ändrar endast rastrets metadata (eller georeferens) för att korrigera en ursprungligen felaktigt specificerad skalning. ST_Rescale resulterar i ett raster med olika bredd och höjd som beräknats för att passa den geografiska omfattningen av indatarastret. ST_SetScale ändrar inte bredden eller höjden på rastret. |
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
Ändrad: 2.1.0 Fungerar på raster utan SRID
Ett enkelt exempel är omskalning av ett raster från en pixelstorlek på 0,001 grader till en pixelstorlek på 0,0015 grader.
-- the original raster pixel size SELECT ST_PixelWidth(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0)) width width ---------- 0.001 -- the rescaled raster raster pixel size SELECT ST_PixelWidth(ST_Rescale(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0), 0.0015)) width width ---------- 0.0015
ST_Resize, ST_Resample, ST_SetScale, ST_ScaleX, ST_ScaleY, ST_Transform