Name

ST_Reskew — Rééchantillonne un raster en ajustant simplement son obliquité (skew, ou paramètre de rotation). 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) ou Lanczos. La valeur par défaut est NearestNeighbor.

Synopsis

raster ST_Reskew(raster rast, double precision skewxy, text algorithm=NearestNeighbor, double precision maxerr=0.125);

raster ST_Reskew(raster rast, double precision skewx, double precision skewy, text algorithm=NearestNeighbor, double precision maxerr=0.125);

Description

Rééchantillonne un raster en ajustant simplement son obliquité (skew, ou paramètre de rotation). 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) ou Lanczos. La valeur par défaut est NearestNeighbor, qui est le plus rapide mais donne le moins bon résultat.

skewx et skewy définissent la nouvelle obliquité.

L'étendue du nouveau raster englobe l'étendu du raster en entrée.

Un pourcentage maximal d'erreur de 0.125 % est utilisé si le paramètre maxerr n'est pas spécifié.

[Note]

Voir GDAL Warp resampling methods pour plus de détails.

[Note]

ST_Reskew est différent de ST_SetSkew : ST_SetSkew ne rééchantillonne pas le raster pour correspondre à l'étendue du raster. ST_SetSkew modifie seulement les méta-données (ou la géo-référence) du raster pour corriger une obliquité incorrecte. ST_Reskew produit un raster de taille différente pour correspondre à l'étendue spatiale du raster d'entrée. ST_SetSkew ne modifie pas la largeur ou hauteur du raster.

Disponibilité : 2.0.0 Nécessite GDAL 1.6.1+

Changement : 2.1.0 Fonctionne avec les rasters sans SRID

Exemples

Exemple simple de rééchantillonnage d'un raster d'une obliquité de 0.0 à 0.0015.

-- the original raster non-rotated
SELECT ST_Rotation(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0));

-- result
0

-- the reskewed raster raster rotation
SELECT ST_Rotation(ST_Reskew(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0), 0.0015));

-- result
-0.982793723247329

Voir aussi

ST_Resample, ST_Rescale, ST_SetSkew, ST_SetRotation, ST_SkewX, ST_SkewY, ST_Transform