Python >> Tutoriel Python >  >> Python

Lissage/réinterpolation raster avec GDAL ?

1) À la dure :avec un peu de codage, il est (relativement) facile d'implémenter une interpolation bilinéaire pour réaliser un rééchantillonnage décent.

2) La manière la plus simple :utilisez GDAL comme expliqué dans ce post précédent de GISSE, mais en sens inverse (en diminuant la taille des pixels).


Utilisez GDALReprojectImage, qui est exposé en Python :

from osgeo import gdal
help(gdal.ReprojectImage)

Pour l'interpolation douce, utilisez des méthodes bilinéaires ou cubiques. Cette fonction est maladroite, car elle ne prend pas d'arguments de mots-clés, vous devez donc trouver la position :

gdal.ReprojectImage(src_ds, dst_ds, None, None, gdal.GRA_Bilinear)

La partie délicate est probablement la configuration de dst_ds , qui doit avoir une géotransformation similaire à src_ds , mais avec des tailles de cellules modifiées.