<div dir="ltr">Hi,<div><br></div><div>I'm trying to do raster calculations with big and multiple rasters. I am new to python, but I managed to use the QgsRasterCalculator algorithm to do the average of three rasters.</div><div><br></div><div>The problem comes when I introduce a forth layer and try to do a more complex equation:</div><div><br></div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div>#calculating c4s ( [c1-c2]*[c0-c3] )</div><div><br></div><div>    #F1_30</div><div>A=processing.getObjectFromUri(path + "/F1_30c1.tif")</div><div>B=processing.getObjectFromUri(path + "/F1_c2.tif")</div><div>C=processing.getObjectFromUri(path + "/F1_30c0.tif")</div><div>D=processing.getObjectFromUri(path + "/F1_c3.tif")</div><div><br></div><div>entries=[]</div><div>rasA=QgsRasterCalculatorEntry()</div><div>rasA.ref='A@1'</div><div>rasA.raster=A</div><div>rasA.bandNumber=1</div><div>entries.append(rasA)</div><div><br></div><div>rasB=QgsRasterCalculatorEntry()</div><div>rasB.ref='B@1'</div><div>rasB.raster=B</div><div>rasB.bandNumber=1</div><div>entries.append(rasB)</div><div><br></div><div>rasC=QgsRasterCalculatorEntry()</div><div>rasC.ref='C@1'</div><div>rasC.raster=C</div><div>rasC.bandNumber=1</div><div>entries.append(rasC)</div><div><br></div><div>rasD=QgsRasterCalculatorEntry()</div><div>rasD.ref='D@1'</div><div>rasD.raster=D</div><div>rasD.bandNumber=1</div><div>entries.append(rasD)</div><div><br></div><div>F1_30c4=QgsRasterCalculator('(( A@1 - B@1 ) * ( C@1 - D@1 ))', path + '/F1_30c4.tif', 'GTiff', base.extent(), base.width(), base.height(), entries).processCalculation()</div></div><div><br></div></blockquote>I think that the problem is recognising the formula. I have tried it on the console doing several changes and it doesnt work.</div><div><br></div><div>Is it possible to do this operation with QgsRasterCalculator?? Or how can I use the gdal_calc algorithm or the saga raster calculator??<br><br></div><div><br></div><div>Thanks all</div></div>