3232from qgis .core import (QgsRasterFileWriter ,
3333 QgsProcessing ,
3434 QgsProcessingParameterDefinition ,
35- QgsProcessingParameterVectorLayer ,
35+ QgsProcessingParameterFeatureSource ,
3636 QgsProcessingParameterRasterLayer ,
3737 QgsProcessingParameterEnum ,
3838 QgsProcessingParameterString ,
@@ -65,9 +65,9 @@ def __init__(self):
6565 def initAlgorithm (self , config = None ):
6666 self .addParameter (QgsProcessingParameterRasterLayer (self .INPUT ,
6767 self .tr ('Input layer' )))
68- self .addParameter (QgsProcessingParameterVectorLayer (self .MASK ,
69- self .tr ('Mask layer' ),
70- [QgsProcessing .TypeVectorPolygon ]))
68+ self .addParameter (QgsProcessingParameterFeatureSource (self .MASK ,
69+ self .tr ('Mask layer' ),
70+ [QgsProcessing .TypeVectorPolygon ]))
7171 self .addParameter (QgsProcessingParameterNumber (self .NODATA ,
7272 self .tr ('Assign a specified nodata value to output bands' ),
7373 type = QgsProcessingParameterNumber .Double ,
@@ -119,8 +119,7 @@ def group(self):
119119 def getConsoleCommands (self , parameters , context , feedback ):
120120 inLayer = self .parameterAsRasterLayer (parameters , self .INPUT , context )
121121
122- maskLayer = self .parameterAsVectorLayer (parameters , self .MASK , context )
123- connectionString = GdalUtils .ogrConnectionString (maskLayer .source (), context )
122+ maskLayer , maskLayerName = self .getOgrCompatibleSource (self .MASK , parameters , context , feedback )
124123
125124 nodata = self .parameterAsDouble (parameters , self .NODATA , context )
126125 options = self .parameterAsString (parameters , self .OPTIONS , context )
@@ -140,10 +139,7 @@ def getConsoleCommands(self, parameters, context, feedback):
140139 arguments .append ('-tap' )
141140
142141 arguments .append ('-cutline' )
143- arguments .append (connectionString )
144- if maskLayer .subsetString ():
145- arguments .append ('-cwhere' )
146- arguments .append (maskLayer .subsetString ())
142+ arguments .append (maskLayer )
147143
148144 if self .parameterAsBool (parameters , self .CROP_TO_CUTLINE , context ):
149145 arguments .append ('-crop_to_cutline' )
0 commit comments