Estoy recortando un raster por extensiones desde la consola de python en QGIS utilizando el siguiente código :
from processing.tools import *
general.runalg("gdalogr:cliprasterbyextent","E:/Sreeraj/Task/Split/Extract_agri.tif","","-180.0,0.0,0.0,90.0",5,4,75,6,1,False,0,False,"","E:/Sreeraj/Task/Split/output/1.tif")
Aquí, estoy dando extensiones como longitud_mínima=180,0, latitud_mínima=0,0, longitud_máxima=0,0, y latitud_máxima=90,0.
Ahora, quiero hacer un recorte usando processing.runalg en la consola de QGIS python, donde usaré un bucle for para recortar 4 archivos .tif de salida como un proceso por lotes.
Para hacer este proceso de recorte por lotes, probé el código dado a continuación:
output_location = "E:/Sreeraj/Task/Split/output/"
output file = 1
for long in range(-180,0,5):
longmax = long + 5
for lat in range(0,90,5):
latmax = lat + 5
extents = "long,lat,longmax,latmax"
output = str(output_location) + str(output file) + ".tif"
general.runalg("gdalogr:cliprasterbyextent","E:/Sreeraj/Task Global Data CONVERSION/Split/Extract_agri.TIF","",extents,5,4,75,6,1,False,0,False,"",output)
output file = output file + 1
Desafortunadamente, estoy recibiendo un mensaje de error como :
"Error: Wrong parameter value: extents"
En lugar de dar directamente los valores de extensión como "-180,0,0,0,90,0" dentro de general.runalg(), cómo puedo dar "extents" (si extents = "-180,0,0,90").
Creo que la cuestión es con :
extents = "long,lat,longmax,latmax"
Cuando hago esto :
extents = "-180.0,0.0,0.0,90.0"
general.runalg("gdalogr:cliprasterbyextent","E:/Sreeraj/Task Global Data CONVERSION/Split/Extract_agri.TIF","",extents,5,4,75,6,1,False,0,False,"",output)
entonces el código está funcionando.
Pero, si me gusta esto :
long = -180.0
lat = 0.0
longmax = 0.0
latmax = 90.0
extents = "long,lat,longmax,latmax"
general.runalg("gdalogr:cliprasterbyextent","E:/Sreeraj/Task Global Data CONVERSION/Split/Extract_agri.TIF","",extents,5,4,75,6,1,False,0,False,"",output)
entonces estoy recibiendo el error.
Así que, claramente, el problema es con :
extents = "longmin,longmax,latmin,latmax"
Por favor, ayúdenme a resolver este error.