def generateCommand(self, parameters, context, feedback):
        layers = self.parameterAsLayerList(parameters, self.INPUT, context)
        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        for l in layers:
            arguments.append('-i')
            arguments.append(l.source())

        arguments.append('-cr')
        arguments.append(self.rules[self.parameterAsEnum(parameters, self.RULE, context)][1])

        bands = self.parameterAsString(parameters, self.BANDS, context)
        if bands == '':
            raise QgsProcessingException(self.tr('Please specify bands to use in composite rule.'))
        else:
            arguments.extend(pktoolsUtils.parseCompositeOption('-cb', bands))

        if self.ARGUMENTS in parameters and  parameters[self.ARGUMENTS] is not None:
            args = self.parameterAsString(parameters, self.ARGUMENTS, context).split(' ')
            if args:
                arguments.extend(args)

        if self.OPTIONS in parameters and  parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments
Beispiel #2
0
    def generateCommand(self, parameters, context, feedback):
        layer = self.parameterAsRasterLayer(parameters, self.INPUT, context)
        if layer is None:
            raise QgsProcessingException(self.invalidRasterError(parameters, self.INPUT))

        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        arguments.append('-i')
        arguments.append(layer.source())
        arguments.append('-f')
        arguments.append(self.filters[self.parameterAsEnum(parameters, self.FILTER, context)][1])
        arguments.append('-dz')
        arguments.append('{}'.format(self.parameterAsInt(parameters, self.KERNEL_Z, context)))

        if self.ARGUMENTS in parameters and  parameters[self.ARGUMENTS] is not None:
            args = self.parameterAsString(parameters, self.ARGUMENTS, context).split(' ')
            if args:
                arguments.extend(args)

        if self.OPTIONS in parameters and  parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments
    def generateCommand(self, parameters, context, feedback):
        layer = self.parameterAsRasterLayer(parameters, self.INPUT, context)
        if layer is None:
            raise QgsProcessingException(
                self.invalidRasterError(parameters, self.INPUT))

        training = self.parameterAsSource(parameters, self.TRAINING, context)
        if training is None:
            raise QgsProcessingException(
                self.invalidSourceError(parameters, self.TRAINING))

        trainLayer, trainLayerName = self.parameterAsCompatibleSourceLayerPathAndLayerName(
            parameters, self.TRAINING, context,
            QgsVectorFileWriter.supportedFormatExtensions(), 'gpkg', feedback)

        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        arguments.append('-i')
        arguments.append(layer.source())
        arguments.append('-t')
        arguments.append(trainLayer)
        if trainLayerName:
            arguments.append('-tln')
            arguments.append(trainLayerName)
        arguments.append('-label')
        arguments.append(
            self.parameterAsString(parameters, self.FIELD, context))

        if self.NEURONS in parameters and parameters[self.NEURONS] is not None:
            neurons = self.parameterAsString(parameters, self.NEURONS, context)
            arguments.extend(pktoolsUtils.parseCompositeOption('-nn', neurons))

        if self.N_FOLD in parameters and parameters[self.N_FOLD] is not None:
            arguments.append('-cv')
            arguments.append('{}'.format(
                self.parameterAsInt(parameters, self.N_FOLD, context)))

        if self.ARGUMENTS in parameters and parameters[
                self.ARGUMENTS] is not None:
            args = self.parameterAsString(parameters, self.ARGUMENTS,
                                          context).split(' ')
            if args:
                arguments.extend(args)

        if self.OPTIONS in parameters and parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(
            QgsRasterFileWriter.driverForExtension(
                os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments
Beispiel #4
0
    def generateCommand(self, parameters, context, feedback):
        layer = self.parameterAsRasterLayer(parameters, self.INPUT, context)
        if layer is None:
            raise QgsProcessingException(
                self.invalidRasterError(parameters, self.INPUT))

        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        arguments.append('-i')
        arguments.append(layer.source())
        arguments.append('-b')
        arguments.append('{}'.format(
            self.parameterAsInt(parameters, self.BAND, context) - 1))
        arguments.append('-s')
        arguments.append('{}'.format(
            self.parameterAsInt(parameters, self.SIZE, context)))
        arguments.append('-c')
        arguments.append(self.directions[self.parameterAsEnum(
            parameters, self.CONNECTEDNESS, context)][1])

        if self.MASK in parameters and parameters[self.MASK] is not None:
            mask = self.parameterAsString(parameters, self.MASK, context)
            if mask:
                arguments.append('-m')
                arguments.append(mask)

        if self.OPTIONS in parameters and parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(
            QgsRasterFileWriter.driverForExtension(
                os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments
    def generateCommand(self, parameters, context, feedback):
        point = self.parameterAsPoint(parameters, self.UL_POINT, context)
        crs = self.parameterAsCrs(parameters, self.CRS, context)
        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        arguments.append('-i')
        arguments.append(self.parameterAsFile(parameters, self.INPUT, context))

        arguments.append('-ulx')
        arguments.append('{}'.format(point.x()))
        arguments.append('-uly')
        arguments.append('{}'.format(point.y()))
        arguments.append('-dx')
        arguments.append('{}'.format(self.parameterAsDouble(parameters, self.SIZE_X, context)))
        arguments.append('-dy')
        arguments.append('{}'.format(self.parameterAsDouble(parameters, self.SIZE_Y, context)))
        arguments.append('-a_srs')
        arguments.append(crs.authid())

        if self.ARGUMENTS in parameters and  parameters[self.ARGUMENTS] is not None:
            args = self.parameterAsString(parameters, self.ARGUMENTS, context).split(' ')
            if args:
                arguments.extend(args)

        if self.OPTIONS in parameters and  parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments
    def generateCommand(self, parameters, context, feedback):
        layer = self.parameterAsRasterLayer(parameters, self.INPUT, context)
        if layer is None:
            raise QgsProcessingException(self.invalidRasterError(parameters, self.INPUT))

        interval = self.parameterAsRange(parameters, self.RANGE, context)
        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        arguments.append('-i')
        arguments.append(layer.source())
        arguments.append('-min')
        arguments.append('{}'.format(interval[0]))
        arguments.append('-max')
        arguments.append('{}'.format(interval[1]))

        if self.parameterAsBoolean(parameters, self.GRAYSCALE, context):
            arguments.append('-g')

        if self.ARGUMENTS in parameters and  parameters[self.ARGUMENTS] is not None:
            args = self.parameterAsString(parameters, self.ARGUMENTS, context).split(' ')
            if args:
                arguments.extend(args)

        if self.OPTIONS in parameters and  parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments
Beispiel #7
0
    def generateCommand(self, parameters, context, feedback):
        crs = self.parameterAsCrs(parameters, self.CRS, context)
        bbox = self.parameterAsExtent(parameters, self.EXTENT, context, crs)
        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        arguments.append('-i')
        arguments.append(self.parameterAsFile(parameters, self.INPUT, context))
        arguments.append('-n')
        arguments.append(self.attributes[self.parameterAsEnum(
            parameters, self.ATTRIBUTE, context)][1])
        arguments.append('-comp')
        arguments.append(self.composites[self.parameterAsEnum(
            parameters, self.COMPOSITE, context)][1])
        arguments.append('-fir')
        arguments.append(self.filters[self.parameterAsEnum(
            parameters, self.FILTER, context)][1])
        arguments.append('-ulx')
        arguments.append('{}'.format(bbox.xMinimum()))
        arguments.append('-uly')
        arguments.append('{}'.format(bbox.yMaximum()))
        arguments.append('-lrx')
        arguments.append('{}'.format(bbox.xMaximum()))
        arguments.append('-lry')
        arguments.append('{}'.format(bbox.yMinimum()))
        arguments.append('-dx')
        arguments.append('{}'.format(
            self.parameterAsDouble(parameters, self.SIZE_X, context)))
        arguments.append('-dy')
        arguments.append('{}'.format(
            self.parameterAsDouble(parameters, self.SIZE_Y, context)))
        arguments.append('-a_srs')
        arguments.append(crs.authid())

        if self.CLASSES in parameters and parameters[self.CLASSES] is not None:
            classes = self.parameterAsString(parameters, self.CLASSES, context)
            if classes != '':
                arguments.extend(
                    pktoolsUtils.parseCompositeOption('-class', classes))

        if self.ARGUMENTS in parameters and parameters[
                self.ARGUMENTS] is not None:
            args = self.parameterAsString(parameters, self.ARGUMENTS,
                                          context).split(' ')
            if args:
                arguments.extend(args)

        if self.OPTIONS in parameters and parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(
            QgsRasterFileWriter.driverForExtension(
                os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments
Beispiel #8
0
    def generateCommand(self, parameters, context, feedback):
        layer = self.parameterAsRasterLayer(parameters, self.INPUT, context)
        if layer is None:
            raise QgsProcessingException(
                self.invalidRasterError(parameters, self.INPUT))

        training = self.parameterAsSource(parameters, self.TRAINING, context)
        if training is None:
            raise QgsProcessingException(
                self.invalidSourceError(parameters, self.TRAINING))

        trainLayer, trainLayerName = self.parameterAsCompatibleSourceLayerPathAndLayerName(
            parameters, self.TRAINING, context,
            QgsVectorFileWriter.supportedFormatExtensions(), 'gpkg', feedback)

        output = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)

        arguments = []
        arguments.append(self.commandName())
        arguments.append('-i')
        arguments.append(layer.source())
        arguments.append('-t')
        arguments.append(trainLayer)
        if trainLayerName:
            arguments.append('-tln')
            arguments.append(trainLayerName)
        arguments.append('-label')
        arguments.append(
            self.parameterAsString(parameters, self.FIELD, context))
        arguments.append('-svmt')
        arguments.append(self.svms[self.parameterAsEnum(
            parameters, self.SVM, context)][1])
        arguments.append('-kt')
        arguments.append(self.kernels[self.parameterAsEnum(
            parameters, self.KERNEL, context)][1])

        if self.DEGREE in parameters and parameters[self.DEGREE] is not None:
            arguments.append('-kd')
            arguments.append('{}'.format(
                self.parameterAsInt(parameters, self.DEGREE, context)))

        if self.GAMMA in parameters and parameters[self.GAMMA] is not None:
            arguments.append('-g')
            arguments.append('{}'.format(
                self.parameterAsDouble(parameters, self.GAMMA, context)))

        if self.COEF_0 in parameters and parameters[self.COEF_0] is not None:
            arguments.append('-c0')
            arguments.append('{}'.format(
                self.parameterAsDouble(parameters, self.COEF_0, context)))

        if self.ARGUMENTS in parameters and parameters[
                self.ARGUMENTS] is not None:
            args = self.parameterAsString(parameters, self.ARGUMENTS,
                                          context).split(' ')
            if args:
                arguments.extend(args)

        if self.OPTIONS in parameters and parameters[self.OPTIONS] is not None:
            options = self.parameterAsString(parameters, self.OPTIONS, context)
            if options:
                arguments.extend(pktoolsUtils.parseCreationOptions(options))

        arguments.append('-of')
        arguments.append(
            QgsRasterFileWriter.driverForExtension(
                os.path.splitext(output)[1]))
        arguments.append('-o')
        arguments.append(output)

        return arguments