additional parameters for retile algorithm

This commit is contained in:
Alexander Bruy 2019-06-24 19:47:18 +03:00
parent c313f1da50
commit 27aa8113de
2 changed files with 19 additions and 0 deletions

View File

@ -48,6 +48,7 @@ class retile(GdalAlgorithm):
FORMAT = 'FORMAT'
RESAMPLING = 'RESAMPLING'
OPTIONS = 'OPTIONS'
EXTRA = 'EXTRA'
DATA_TYPE = 'DATA_TYPE'
DELIMITER = 'DELIMITER'
ONLY_PYRAMIDS = 'ONLY_PYRAMIDS'
@ -114,6 +115,11 @@ class retile(GdalAlgorithm):
'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}})
params.append(options_param)
params.append(QgsProcessingParameterString(self.EXTRA,
self.tr('Additional command-line parameters'),
defaultValue=None,
optional=True))
params.append(QgsProcessingParameterEnum(self.DATA_TYPE,
self.tr('Output data type'),
self.TYPES,
@ -184,6 +190,10 @@ class retile(GdalAlgorithm):
if options:
arguments.extend(GdalUtils.parseCreationOptions(options))
if self.EXTRA in parameters and parameters[self.EXTRA] not in (None, ''):
extra = self.parameterAsString(parameters, self.EXTRA, context)
arguments.append(extra)
if self.parameterAsBoolean(parameters, self.DIR_FOR_ROW, context):
arguments.append('-pyramidOnly')

View File

@ -2517,6 +2517,15 @@ class TestGdalAlgorithms(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
'-ps 256 256 -overlap 0 -levels 1 -s_srs EPSG:3111 -r near -ot Float32 -targetDir {} {}'.format(outdir, source)
])
# additional parameters
self.assertEqual(
alg.getConsoleCommands({'INPUT': [source],
'EXTRA': '-v -tileIndex tindex.shp',
'OUTPUT': outdir}, context, feedback),
['gdal_retile.py',
'-ps 256 256 -overlap 0 -levels 1 -r near -ot Float32 -v -tileIndex tindex.shp -targetDir {} '.format(outdir) +
source])
def testWarp(self):
context = QgsProcessingContext()
feedback = QgsProcessingFeedback()