Je souhaite aligner de nombreux rasters dans une taille de pixel, une étendue et un système de projection à l'aide de Python ou PyQGIS.
Pensez d'abord à utiliser GDAL:
gdalinfo (pour rechercher des informations à partir du raster de référence)
gdalwarp (pour convertir le système de projection et la taille des pixels)
gdal_translate (pour convertir l'étendue)
Ils fonctionnent, mais il n'est pas facile d'utiliser ces outils ensemble en Python et ils ont besoin de beaucoup de temps pour terminer ce travail. En outre, cela peut être fait facilement en utilisant QGIS et Align Rasters Tool.
Existe-t-il un outil effectuant ce travail en utilisant PyQGIS ou Python? (Je veux travailler plus de programmation automatiquement)
MISE À JOUR
Je trouve ce code à partir de cette question :
from osgeo import gdal, gdalconst
inputfile = #Path to input file
input = gdal.Open(inputfile, gdalconst.GA_ReadOnly)
inputProj = input.GetProjection()
inputTrans = input.GetGeoTransform()
referencefile = #Path to reference file
reference = gdal.Open(referencefile, gdalconst.GAReadOnly)
referenceProj = reference.GetProjection()
referenceTrans = reference.GetGeoTransform()
bandreference = reference.GetRasterBand(1)
x = reference.RasterXSize
y = reference.RasterYSize
outputfile = #Path to output file
driver= gdal.GetDriverByName('GTiff')
output = driver.Create(outputfile, x, y, 1, bandreference.DataType)
output.SetGeoTransform(referenceTrans)
output.SetProjection(referenceProj)
gdal.ReprojectImage(input, output, inputProj, referenceProj, gdalconst.GRA_Bilinear)
del output
Ce code fonctionne très bien sauf le clip raster. Une idée de la façon de mettre à jour ce code pour découper le raster en entrée dans la mesure du raster de référence dans le code?