diff --git a/python/plugins/processing/algs/gdal/fillnodata.py b/python/plugins/processing/algs/gdal/fillnodata.py index bdc38c7b86ba..2f9f754587f9 100644 --- a/python/plugins/processing/algs/gdal/fillnodata.py +++ b/python/plugins/processing/algs/gdal/fillnodata.py @@ -113,7 +113,7 @@ def getConsoleCommands(self, parameters, context, feedback, executing=True): if self.parameterAsBool(parameters, self.NO_MASK, context): arguments.append('-nomask') - mask = self.parameterAsRasterLayer(parameters, self.INPUT, context) + mask = self.parameterAsRasterLayer(parameters, self.MASK_LAYER, context) if mask: arguments.append('-mask {}'.format(mask.source())) diff --git a/python/plugins/processing/tests/GdalAlgorithmsTest.py b/python/plugins/processing/tests/GdalAlgorithmsTest.py index a0b6eb227027..6e5c65cb5d99 100644 --- a/python/plugins/processing/tests/GdalAlgorithmsTest.py +++ b/python/plugins/processing/tests/GdalAlgorithmsTest.py @@ -49,6 +49,7 @@ from processing.algs.gdal.retile import retile from processing.algs.gdal.translate import translate from processing.algs.gdal.warp import warp +from processing.algs.gdal.fillnodata import fillnodata from qgis.core import (QgsProcessingContext, QgsProcessingFeedback, @@ -1340,6 +1341,59 @@ def testWarp(self): source + ' ' + 'd:/temp/check.jpg']) + def testFillnodata(self): + context = QgsProcessingContext() + feedback = QgsProcessingFeedback() + source = os.path.join(testDataPath, 'dem.tif') + mask = os.path.join(testDataPath, 'raster.tif') + outsource = 'd:/temp/check.tif' + alg = fillnodata() + alg.initAlgorithm() + + # with mask value + self.assertEqual( + alg.getConsoleCommands({'INPUT': source, + 'BAND': 1, + 'DISTANCE': 10, + 'ITERATIONS': 0, + 'MASK_LAYER': mask, + 'NO_MASK': False, + 'OUTPUT': outsource}, context, feedback), + ['gdal_fillnodata.py', + '-md 10 -b 1 -mask ' + + mask + + ' -of GTiff ' + + source + ' ' + + outsource]) + + # without mask value + self.assertEqual( + alg.getConsoleCommands({'INPUT': source, + 'BAND': 1, + 'DISTANCE': 10, + 'ITERATIONS': 0, + 'NO_MASK': False, + 'OUTPUT': outsource}, context, feedback), + ['gdal_fillnodata.py', + '-md 10 -b 1 ' + + '-of GTiff ' + + source + ' ' + + outsource]) + + # nomask true + self.assertEqual( + alg.getConsoleCommands({'INPUT': source, + 'BAND': 1, + 'DISTANCE': 10, + 'ITERATIONS': 0, + 'NO_MASK': True, + 'OUTPUT': outsource}, context, feedback), + ['gdal_fillnodata.py', + '-md 10 -b 1 -nomask ' + + '-of GTiff ' + + source + ' ' + + outsource]) + class TestGdalOgrToPostGis(unittest.TestCase):