Cuando ejecuto un algoritmo de procesamiento GDAL desde la consola de Python en QGIS que carga un raster de resultados:
resultClip = processing.runAndLoadResults("gdal:cliprasterbymasklayer", {
'ALPHA_BAND' : False,
'CROP_TO_CUTLINE' : True,
'DATA_TYPE' : 0,
'EXTRA' : '',
'INPUT' : 'E:/geodata/nsw100k.vrt',
'KEEP_RESOLUTION' : False,
'MASK' : 'C:/Users/brennant/Downloads/data.geojson',
'MULTITHREADING' : False,
'NODATA' : None, 'OPTIONS' : '',
'OUTPUT' : 'TEMPORARY_OUTPUT',
'SET_RESOLUTION' : False,
'SOURCE_CRS' : None,
'TARGET_CRS' : None,
'X_RESOLUTION' : None,
'Y_RESOLUTION' : None })
Puedo acceder al archivo temporal de salida rasterizado a través de resultClip['OUTPUT']
Sin embargo, cuando hago lo mismo con uno de los algoritmos de Whitebox Tools (por ejemplo, BreachDepressions):
resultBreach = processing.runAndLoadResults("wbt:BreachDepressions", { 'dem' : resultClip['OUTPUT'], 'max_depth' : '20.0', 'flat_increment' : 0.00001, 'fill_pits' : 1, 'output' : 'TEMPORARY_OUTPUT' })
resultBreach['output']
devuelve un QgsProcessingOutputLayerDefinition
variable:
<QgsProcessingOutputLayerDefinition {'sink':TEMPORARY_OUTPUT, 'createOptions': {}}>}
La capa temporal se crea y se carga en la ventana de capas, pero desde el punto de vista del procesamiento de PyQGIS, no veo cómo acceder a ella para utilizarla en futuros pasos.
Y si miro ambos algoritmos usando processing.algorithmHelp por ejemplo
processing.algorithmHelp("gdal:cliprasterbymasklayer")
el tipo de salida para ambos es el mismo (QgsProcessingOutputRasterLayer)
Se aceptan sugerencias.