def getConsoleCommands(self, parameters, context, feedback, executing=True): arguments = [] arguments.append('-resolution') arguments.append(self.RESOLUTION_OPTIONS[self.parameterAsEnum(parameters, self.RESOLUTION, context)]) if self.parameterAsBool(parameters, buildvrt.SEPARATE, context): arguments.append('-separate') if self.parameterAsBool(parameters, buildvrt.PROJ_DIFFERENCE, context): arguments.append('-allow_projection_difference') if self.parameterAsBool(parameters, buildvrt.ADD_ALPHA, context): arguments.append('-addalpha') crs = self.parameterAsCrs(parameters, self.ASSIGN_CRS, context) if crs.isValid(): arguments.append('-a_srs') arguments.append(GdalUtils.gdal_crs_string(crs)) arguments.append('-r') arguments.append(self.RESAMPLING_OPTIONS[self.parameterAsEnum(parameters, self.RESAMPLING, context)]) if self.SRC_NODATA in parameters and parameters[self.SRC_NODATA] not in (None, ''): nodata = self.parameterAsString(parameters, self.SRC_NODATA, context) arguments.append('-srcnodata "{}"'.format(nodata)) # Always write input files to a text file in case there are many of them and the # length of the command will be longer then allowed in command prompt list_file = GdalUtils.writeLayerParameterToTextFile(filename='buildvrtInputFiles.txt', alg=self, parameters=parameters, parameter_name=self.INPUT, context=context, executing=executing, quote=False) arguments.append('-input_file_list') arguments.append(list_file) out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context) self.setOutputValue(self.OUTPUT, out) arguments.append(out) return [self.commandName(), GdalUtils.escapeAndJoin(arguments)]
def getConsoleCommands(self, parameters, context, feedback, executing=True): out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context) self.setOutputValue(self.OUTPUT, out) arguments = [] if self.parameterAsBoolean(parameters, self.PCT, context): arguments.append('-pct') if self.parameterAsBoolean(parameters, self.SEPARATE, context): arguments.append('-separate') if self.NODATA_INPUT in parameters and parameters[self.NODATA_INPUT] is not None: nodata_input = self.parameterAsInt(parameters, self.NODATA_INPUT, context) arguments.append('-n') arguments.append(str(nodata_input)) if self.NODATA_OUTPUT in parameters and parameters[self.NODATA_OUTPUT] is not None: nodata_output = self.parameterAsInt(parameters, self.NODATA_OUTPUT, context) arguments.append('-a_nodata') arguments.append(str(nodata_output)) arguments.append('-ot') arguments.append(self.TYPES[self.parameterAsEnum(parameters, self.DATA_TYPE, context)]) arguments.append('-of') arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(out)[1])) options = self.parameterAsString(parameters, self.OPTIONS, context) if options: arguments.extend(GdalUtils.parseCreationOptions(options)) arguments.append('-o') arguments.append(out) # Always write input files to a text file in case there are many of them and the # length of the command will be longer then allowed in command prompt list_file = GdalUtils.writeLayerParameterToTextFile(filename='mergeInputFiles.txt', alg=self, parameters=parameters, parameter_name=self.INPUT, context=context, quote=True, executing=executing) arguments.append('--optfile') arguments.append(list_file) if isWindows(): commands = ["python3", "-m", self.commandName()] else: commands = [self.commandName() + '.py'] commands.append(GdalUtils.escapeAndJoin(arguments)) return commands
def getConsoleCommands(self, parameters, context, feedback, executing=True): arguments = [] arguments.append('-resolution') arguments.append(self.RESOLUTION_OPTIONS[self.parameterAsEnum(parameters, self.RESOLUTION, context)]) if self.parameterAsBool(parameters, buildvrt.SEPARATE, context): arguments.append('-separate') if self.parameterAsBool(parameters, buildvrt.PROJ_DIFFERENCE, context): arguments.append('-allow_projection_difference') # Always write input files to a text file in case there are many of them and the # length of the command will be longer then allowed in command prompt list_file = GdalUtils.writeLayerParameterToTextFile(filename='buildvrtInputFiles.txt', alg=self, parameters=parameters, parameter_name=self.INPUT, context=context, executing=executing, quote=False) arguments.append('-input_file_list') arguments.append(list_file) out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context) arguments.append(out) return ['gdalbuildvrt', GdalUtils.escapeAndJoin(arguments)]
def getConsoleCommands(self, parameters, context, feedback, executing=True): input_layers = self.parameterAsLayerList(parameters, self.LAYERS, context) crs_field = self.parameterAsString(parameters, self.CRS_FIELD_NAME, context) crs_format = self.parameterAsEnum(parameters, self.CRS_FORMAT, context) target_crs = self.parameterAsCrs(parameters, self.TARGET_CRS, context) outFile = self.parameterAsOutputLayer(parameters, self.OUTPUT, context) self.setOutputValue(self.OUTPUT, outFile) output, outFormat = GdalUtils.ogrConnectionStringAndFormat(outFile, context) arguments = [] arguments.append('-tileindex') arguments.append(self.parameterAsString(parameters, self.PATH_FIELD_NAME, context)) if self.parameterAsBool(parameters, self.ABSOLUTE_PATH, context): arguments.append('-write_absolute_path') if self.parameterAsBool(parameters, self.PROJ_DIFFERENCE, context): arguments.append('-skip_different_projection') if crs_field: arguments.append('-src_srs_name {}'.format(crs_field)) if crs_format: arguments.append('-src_srs_format {}'.format(self.formats[crs_format][1])) if target_crs.isValid(): arguments.append('-t_srs') arguments.append(GdalUtils.gdal_crs_string(target_crs)) if outFormat: arguments.append('-f {}'.format(outFormat)) arguments.append(output) # Always write input files to a text file in case there are many of them and the # length of the command will be longer then allowed in command prompt list_file = GdalUtils.writeLayerParameterToTextFile(filename='tile_index_files.txt', alg=self, parameters=parameters, parameter_name=self.LAYERS, context=context, quote=True, executing=executing) arguments.append('--optfile') arguments.append(list_file) return [self.commandName(), GdalUtils.escapeAndJoin(arguments)]
def getConsoleCommands(self, parameters, context, feedback, executing=True): out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context) self.setOutputValue(self.OUTPUT, out) arguments = [] if self.parameterAsBoolean(parameters, self.PCT, context): arguments.append('-pct') if self.parameterAsBoolean(parameters, self.SEPARATE, context): arguments.append('-separate') if self.NODATA_INPUT in parameters and parameters[ self.NODATA_INPUT] is not None: nodata_input = self.parameterAsInt(parameters, self.NODATA_INPUT, context) arguments.append('-n') arguments.append(str(nodata_input)) if self.NODATA_OUTPUT in parameters and parameters[ self.NODATA_OUTPUT] is not None: nodata_output = self.parameterAsInt(parameters, self.NODATA_OUTPUT, context) arguments.append('-a_nodata') arguments.append(str(nodata_output)) arguments.append('-ot') arguments.append(self.TYPES[self.parameterAsEnum( parameters, self.DATA_TYPE, context)]) arguments.append('-of') arguments.append( QgsRasterFileWriter.driverForExtension(os.path.splitext(out)[1])) options = self.parameterAsString(parameters, self.OPTIONS, context) if options: arguments.extend(GdalUtils.parseCreationOptions(options)) arguments.append('-o') arguments.append(out) # Always write input files to a text file in case there are many of them and the # length of the command will be longer then allowed in command prompt list_file = GdalUtils.writeLayerParameterToTextFile( filename='mergeInputFiles.txt', alg=self, parameters=parameters, parameter_name=self.INPUT, context=context, quote=True, executing=executing) arguments.append('--optfile') arguments.append(list_file) if isWindows(): commands = ["python3", "-m", self.commandName()] else: commands = [self.commandName() + '.py'] commands.append(GdalUtils.escapeAndJoin(arguments)) return commands