def processAlgorithm(self, parameters, context, feedback):
        commands = [
            os.path.join(fusionUtils.fusionDirectory(), 'PolyClipData.exe')
        ]
        if self.parameterAsBool(parameters, self.SHAPE, context):
            commands.append(
                '/shape:' +
                self.parameterAsString(parameters, self.FIELD, context) + ',' +
                self.parameterAsString(parameters, self.VALUE, context))
        self.addAdvancedModifiersToCommands(commands, parameters, context)
        commands.append(self.parameterAsString(parameters, self.MASK, context))

        outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT,
                                                context)
        commands.append('"%s"' % outputFile)
        self.addInputFilesToCommands(commands, parameters, self.INPUT, context)

        fusionUtils.execute(commands, feedback)

        return self.prepareReturn(parameters)
Esempio n. 2
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(fusionUtils.fusionDirectory(), self.name()))

        if self.SOUTH in parameters and parameters[self.SOUTH]:
            arguments.append('/south')

        arguments.append(self.parameterAsFile(parameters, self.INPUT, context))
        arguments.append(
            self.parameterAsOutputLayer(parameters, self.OUTPUT, context))

        fusionUtils.execute(arguments, feedback)

        results = {}
        for output in self.outputDefinitions():
            outputName = output.name()
            if outputName in parameters:
                results[outputName] = parameters[outputName]

        return results
Esempio n. 3
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            '"' + os.path.join(fusionUtils.fusionDirectory(), self.name()) +
            '"')

        if self.FILL_HOLES in parameters and parameters[
                self.FILL_HOLES] is not None:
            arguments.append('/fillholes:{}'.format(
                self.parameterAsInt(parameters, self.FILL_HOLES, context)))

        arguments.append(
            self.parameterAsFileOutput(parameters, self.OUTPUT, context))
        arguments.append(self.units[self.parameterAsEnum(
            parameters, self.XYUNITS, context)][1])
        arguments.append(self.units[self.parameterAsEnum(
            parameters, self.ZUNITS, context)][1])
        arguments.append(self.csystems[self.parameterAsEnum(
            parameters, self.COORDSYS, context)][1])
        arguments.append(
            str(self.parameterAsInt(parameters, self.ZONE, context)))
        arguments.append(self.hdatums[self.parameterAsEnum(
            parameters, self.HDATUM, context)][1])
        arguments.append(self.vdatums[self.parameterAsEnum(
            parameters, self.VDATUM, context)][1])

        fileList = fusionUtils.layersToFile('xyzDataFiles.txt', self,
                                            parameters, self.INPUT, context)
        arguments.append(fileList)

        fusionUtils.execute(arguments, feedback)

        results = {}
        for output in self.outputDefinitions():
            outputName = output.name()
            if outputName in parameters:
                results[outputName] = parameters[outputName]

        return results
Esempio n. 4
0
    def processAlgorithm(self, parameters, context, feedback):
        inLayer = self.parameterAsRasterLayer(parameters, self.INPUT, context)
        if inLayer is None:
            raise QgsProcessingException(self.invalidRasterError(parameters, self.INPUT))

        arguments = []
        if self.VERSION64:
            arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'PolyClipData64.exe') + '"')
        else:
            arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'PolyClipData.exe') + '"')
        

        if self.MULTIPLIER in parameters and parameters[self.MULTIPLIER] is not None:
            arguments.append('/multiplier:{}'.format(self.parameterAsDouble(parameters, self.MULTIPLIER, context)))

        if self.OFFSET in parameters and parameters[self.OFFSET] is not None:
            arguments.append('/offset:{}'.format(self.parameterAsDouble(parameters, self.OFFSET, context)))

        if self.NAN in parameters and parameters[self.NAN]:
            arguments.append('/nan')

        arguments.append(self.parameterAsFileOutput(parameters, self.OUTPUT, context))
        arguments.append(self.units[self.parameterAsEnum(parameters, self.XYUNITS, context)][1])
        arguments.append(self.units[self.parameterAsEnum(parameters, self.ZUNITS, context)][1])
        arguments.append(self.csystems[self.parameterAsEnum(parameters, self.COORDSYS, context)][1])
        arguments.append(str(self.parameterAsInt(parameters, self.ZONE, context)))
        arguments.append(self.hdatums[self.parameterAsEnum(parameters, self.HDATUM, context)][1])
        arguments.append(self.vdatums[self.parameterAsEnum(parameters, self.VDATUM, context)][1])
        arguments.append(inLayer.source())

        fusionUtils.execute(arguments, feedback)

        results = {}
        for output in self.outputDefinitions():
            outputName = output.name()
            if outputName in parameters:
                results[outputName] = parameters[outputName]

        return results
Esempio n. 5
0
    def processAlgorithm(self, parameters, context, feedback):
        version64 = self.parameterAsBool(parameters, self.VERSION64, context)
        if version64:
            arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'GridMetrics64.exe') + '"']
        else:
            arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'GridMetrics.exe') + '"']

        self.addAdvancedModifiersToCommands(arguments, parameters, context)

        outlier = self.parameterAsString(parameters, self.OUTLIER, context).strip()
        if outlier:
            arguments.append('/outlier:' + outlier)
        raster = self.parameterAsString(parameters, self.ASCII, context).strip()
        if raster:
            arguments.append('/ascii /raster:' + raster)
        if self.FIRST in parameters and parameters[self.FIRST]:
            arguments.append('/first')
        if self.NOINTENSITY in parameters and parameters[self.NOINTENSITY]:
            arguments.append('/nointensity')
        if self.FUEL in parameters and parameters[self.FUEL]:
            arguments.append('/fuel')
        if self.IGNOREOVERLAP in parameters and parameters[self.IGNOREOVERLAP]:
            arguments.append('/ignoreoverlap')
        htmin = self.parameterAsString(parameters, self.HTMIN, context).strip()
        if htmin:
            arguments.append('/minht:' + htmin)
        class_var = self.parameterAsString(parameters, self.CLASS, context).strip()
        if class_var:
            arguments.append('/class:' + class_var)
        arguments.append(self.parameterAsString(parameters, self.GROUND, context))
        arguments.append(str(self.parameterAsDouble(parameters, self.HEIGHT, context)))
        arguments.append(str(self.parameterAsDouble(parameters, self.CELLSIZE, context)))
        arguments.append('"%s"' % self.parameterAsFileOutput(parameters, self.OUTPUT, context))
        self.addInputFilesToCommands(arguments, parameters, self.INPUT, context) 

        fusionUtils.execute(arguments, feedback)

        return self.prepareReturn(parameters)
Esempio n. 6
0
    def processAlgorithm(self, parameters, context, feedback):
        version64 = self.parameterAsBool(parameters, self.VERSION64, context)
        if version64:
            arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'GroundFilter64.exe') + '"']
        else:
            arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'GroundFilter.exe') + '"']

        if self.parameterAsBool(parameters, self.SURFACE, context):
            arguments.append('/surface')

        median = self.parameterAsString(parameters, self.MEDIAN, context).strip()
        if median:
            arguments.append('/median:' + median)
        smooth= self.parameterAsString(parameters, self.SMOOTH, context).strip()
        if smooth:
            arguments.append('/smooth:' + smooth)
        iterations= self.parameterAsString(parameters, self.ITERATIONS, context).strip()
        if iterations:
            arguments.append('/iterations:' + smooth)
        finalsmooth = self.parameterAsBool(parameters, self.FINALSMOOTH, context)
        if finalsmooth:
            arguments.append('/finalsmooth') 
        class_var = self.parameterAsString(parameters, self.CLASS, context).strip()
        if class_var:
            arguments.append('/class:' + class_var)
        if self.IGNOREOVERLAP in parameters and parameters[self.IGNOREOVERLAP]:
            arguments.append('/ignoreoverlap')

        self.addAdvancedModifiersToCommands(arguments, parameters, context)

        outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context)
        arguments.append('"%s"' % outputFile)
        arguments.append(str(self.parameterAsDouble(parameters, self.CELLSIZE, context)))
        self.addInputFilesToCommands(arguments, parameters, self.INPUT, context)        

        fusionUtils.execute(arguments, feedback)

        return self.prepareReturn(parameters)
Esempio n. 7
0
    def processAlgorithm(self, parameters, context, feedback):
        commands = [
            os.path.join(fusionUtils.fusionDirectory(), 'IntensityImage.exe')
        ]
        if self.parameterAsBool(parameters, self.ALLRET, context):
            commands.append('/allreturns')
        if self.parameterAsBool(parameters, self.LOWEST, context):
            commands.append('/lowest')
        if self.parameterAsBool(parameters, self.HIST, context):
            commands.append('/hist')
        if self.parameterAsEnum(parameters, self.SWITCH, context) == 0:
            commands.append('/jpg')
        commands.append(
            str(self.parameterAsDouble(parameters, self.PIXEL, context)))

        outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT,
                                                context)
        commands.append('"%s"' % outputFile)
        self.addInputFilesToCommands(commands, parameters, self.INPUT, context)

        fusionUtils.execute(commands, feedback)

        return self.prepareReturn(parameters)
Esempio n. 8
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        if self.VERSION64 in parameters and parameters[self.VERSION64]:
            arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'TopoMetrics64.exe') + '"')
        else:
            arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'TopoMetrics.exe') + '"')

        if self.SQUARE in parameters and parameters[self.SQUARE]:
            arguments.append('/square')

        self.addAdvancedModifiersToCommands(arguments, parameters, context)

        arguments.append(self.parameterAsFile(parameters, self.INPUT, context))
        arguments.append(str(self.parameterAsDouble(parameters, self.CELLSIZE, context)))
        arguments.append(str(self.parameterAsDouble(parameters, self.POINTSPACING, context)))
        arguments.append(str(self.parameterAsInt(parameters, self.LATITUDE, context)))
        arguments.append(str(self.parameterAsInt(parameters, self.WSIZE, context)))

        arguments.append(self.parameterAsFileOutput(parameters, self.OUTPUT, context))       

        fusionUtils.execute(arguments, feedback)

        return self.prepareReturn(parameters)
Esempio n. 9
0
    def processAlgorithm(self, parameters, context, feedback):
        commands = [os.path.join(fusionUtils.fusionDirectory(), 'TINSurfaceCreate.exe')]        
        class_var = self.parameterAsString(parameters, self.CLASS, context).strip()
        if class_var:
            commands.append('/class:' + class_var)
        return_sel = self.parameterAsString(parameters, self.RETURN, context).strip()
        if return_sel:
            commands.append('/return:' + return_sel)
        
        outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context)
        commands.append('"%s"' % outputFile)
        commands.append(str(self.parameterAsDouble(parameters, self.CELLSIZE, context)))
        commands.append(self.UNITS[self.parameterAsEnum(parameters, self.XYUNITS, context)][0])
        commands.append(self.UNITS[self.parameterAsEnum(parameters, self.ZUNITS, context)][0])
        commands.append('0')
        commands.append('0')
        commands.append('0')
        commands.append('0')

        self.addInputFilesToCommands(commands, parameters, self.INPUT, context)        

        fusionUtils.execute(commands, feedback)

        return self.prepareReturn(parameters)
Esempio n. 10
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            '"' + os.path.join(fusionUtils.fusionDirectory(), self.name()) +
            '"')

        if self.CSV in parameters and parameters[self.CSV]:
            arguments.append('/csv')

        if self.RASTER in parameters and parameters[self.RASTER]:
            if self.CSV in parameters and parameters[self.CSV]:
                raise QgsProcessingException(
                    self.tr(
                        'Switches "/csv" and "/raster" are mutually exclusive.'
                    ))
            else:
                arguments.append('/raster')

        if self.MULTIPLIER in parameters and parameters[
                self.MULTIPLIER] is not None:
            arguments.append('/multiplier:{}'.format(
                self.parameterAsDouble(parameters, self.MULTIPLIER, context)))

        arguments.append(self.parameterAsFile(parameters, self.INPUT, context))
        arguments.append(
            self.parameterAsOutputLayer(parameters, self.OUTPUT, context))

        fusionUtils.execute(arguments, feedback)

        results = {}
        for output in self.outputDefinitions():
            outputName = output.name()
            if outputName in parameters:
                results[outputName] = parameters[outputName]

        return results