Estoy haciendo un poco de procesamiento de MDT, el primer par de etapas son un cálculo de la pendiente y luego un proceso de calculadora Raster utilizando la calculadora Raster nativa de QGIS. Quiero utilizar la capa de salida de mi cálculo de la pendiente dentro de la fórmula. La pendiente se hace de la siguiente manera, y funciona bien:
Slope = processing.run("native:slope", {
'INPUT':set_NoData_toNull['OUTPUT'], #There is a step before, Nullifying <0 values
'Z_FACTOR':1,
'OUTPUT': 'TEMPORARY_OUTPUT' })
La calculadora es para eliminar cualquier valor de Raster inferior a una pendiente de 45 grados, esta fórmula funciona cuando se utiliza en una capa de Raster con nombre y la sustitución de la @1 con "layername@1", pero para ahorrar poder de procesamiento no quiero guardar la salida de "Slope" cada vez que ejecute este script, y en su lugar quiero utilizar el 'TEMPORARY_OUTPUT' de "Slope", aunque después de mucho leer todavía no puedo averiguar cómo debo Llamar a esto en el campo 'EXPRESSION' de la calculadora de Raster.
calculatedOver45deg = processing.run("qgis:rastercalculator", {
'EXPRESSION':'((\"@1\">45)*\"@1\") / ((\"@1\">45)*1 + (\"@1\"<=45)*0)',
'LAYERS': Slope['OUTPUT'],
'CELLSIZE':None,
'EXTENT':None,
'CRS':QgsCoordinateReferenceSystem('EPSG:32633'),
'OUTPUT': 'TEMPORARY_OUTPUT' })
¿Alguien sabe cómo se llama 'TEMPORARY_OUTPUT' de slope y, por tanto, cómo se puede utilizar en la expresión en sustitución de @1.
Gracias