I am trying to run a rastercalculator through a call to its python method and I get the error message core.QgsProcessingException: An error occurred while performing the calculation. Not a very intuitive message.
The variable _cutfill_nodata_file used in the code below is a path to a result from a previous geoprocessing call and the file does exist, but the call to rastercalculator seems to have an issue with that file. If I replace _cutfill_nodata_file with self._elevation_layer.dataProvider().dataSourceUri()}@1 it works. Not what I want to do, but just wanted to test nothing odd about my expression. Do that basically adds the same layer to itself so I am doubling the cell values. I want to add the values in the file _cutfill_nodata_file, but when I use that file, I get the error below. I tried using just the layer name and band which is what is used in the GUI raster calculator, but that does not work and I expect it to not as I think it only works if the layers are in the layer panel which they are not, they are in a temp folder, so I am calling the method using the file names. elevation_30m_cutfill_file = os.path.join(self._temp_dir.name, f"{self._elevation_layer.name()}_{self.cutfill_layer.name()}.tif") elevation_30m_cutfill_name = os.path.splitext(os.path.basename(elevation_30m_cutfill_file))[0] expression = f'\"{self._elevation_layer.dataProvider().dataSourceUri()}@1\" + \"{_cutfill_nodata_file}@1\"' processing.run( "qgis:rastercalculator", { 'EXPRESSION':expression, 'LAYERS':[self._elevation_layer.dataProvider().dataSourceUri()], 'CELLSIZE':0, 'EXTENT':None, 'CRS':None, 'OUTPUT':elevation_30m_cutfill_file } ) File "C:\Users\RDTECLAC\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\site_selection\tools\cutfill\cutfill_dialog.py", line 745, in _calculate_cutfill_elevation_layer processing.run( File "C:\PROGRA~1/QGIS31~1.16/apps/qgis-ltr/./python/plugins\processing\tools\general.py", line 108, in run return Processing.runAlgorithm(algOrName, parameters, onFinish, feedback, context) File "C:\PROGRA~1/QGIS31~1.16/apps/qgis-ltr/./python/plugins\processing\core\Processing.py", line 174, in runAlgorithm ret, results = execute(alg, parameters, context, feedback, catch_exceptions=False) File "C:\PROGRA~1/QGIS31~1.16/apps/qgis-ltr/./python/plugins\processing\gui\AlgorithmExecutor.py", line 71, in execute results, ok = alg.run(parameters, context, feedback, {}, False) _core.QgsProcessingException: An error occurred while performing the calculation
_______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer