ST_Rescale — Rééchantillonne un raster en ajustant juste son échelle (ou la taille des pixels). Les nouvelles valeurs des pixels sont calculées en utilisant l'algorithme de rééchantillonnage NearestNeighbor (plus proche voisin), Bilinear (Bilinéaire), Cubic (Cubique), CubicSpline (Cubique Spline), Lanczos, Max ou Min. La valeur par défaut est 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)
;
Rééchantillonne un raster en ajustant juste son échelle (ou la taille des pixels). Les nouvelles valeurs des pixels sont calculées en utilisant un des algorithmes de rééchantillonnage suivants :
NearestNeighbor (plus proche voisin)
Bilinear (Bilinéaire)
Cubic (Cubique)
CubicSpline (Cubique Spline)
Lanczos
Max
Min
L'algorithme par défaut est NearestNeighbor, qui est le plus rapide mais donne le moins bon résultat.
scalex
et scaley
définissent la nouvelle taille des pixels. scaley est souvent négatif pour obtenir un raster correctement orienté.
Quand la nouvelle valeur de scalex (respectivement scaley) n'est pas un diviseur de la hauteur (respectivement largeur) du raster, l'étendue du raster résultant est agrandie pour englober l'étendue du raster d'entrée. Si vous voulez conserver l'étendue exacte du raster d'entrée, utilisez ST_Resize
maxerr
est le seuil pour l'approximation de l'algorithme de rééchantillonnage (en pixels). La valeur de 0.125 est utilisée si le paramètre maxerr
n'est pas spécifié, qui est la même valeur que celle utilisée par l'utilitaire GDAL gdalwarp. Si définie à 0, aucune approximation n'est effectuée.
Voir GDAL Warp resampling methods pour plus de détails. |
ST_Rescale est différent de ST_SetScale : ST_SetScale ne rééchantillonne pas le raster pour correspondre à l'étendue du raster. ST_SetScale modifie seulement les méta-données (ou lagéo-référence) d'un raster pour corriger une échelle incorrecte. ST_Rescale produit un raster de taille différente pour correspondre à l'étendue spatiale du raster d'entrée. ST_SetScale ne modifie pas la largeur ou hauteur du raster. |
Disponibilité : 2.0.0 Nécessite GDAL 1.6.1+
Améliration : 3.4.0 ajout des options de rééchantillonnage max et min
Changement : 2.1.0 Fonctionne avec les rasters sans SRID
Exemple simple de rééchantillonnage d'un raster d'une taille de pixel de 0.001 degrés vers une taille de pixel de 0.0015 degrés.
-- 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