Ejemplo n.º 1
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-p")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR,
                                        context).source())
        arguments.append("-src")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.STREAM_RASTER,
                                        context).source())
        arguments.append("-o")
        arguments.append(
            self.parameterAsVectorLayer(parameters, self.OUTLETS,
                                        context).source())
        arguments.append("-md")
        arguments.append("{}".format(
            self.parameterAsInt(parameters, self.CELLS_TRAVERSE, context)))

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.MOVED_OUTLETS, context)
        arguments.append("-om")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 2
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(self.parameterAsRasterLayer(parameters, self.PIT_FILLED, context).source())
        arguments.append("-p")
        arguments.append(self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR, context).source())
        arguments.append("-ad8")
        arguments.append(self.parameterAsRasterLayer(parameters, self.D8_CONTRIB_AREA, context).source())
        arguments.append("-ssa")
        arguments.append(self.parameterAsRasterLayer(parameters, self.ACCUM_STREAM_SOURCE, context).source())
        arguments.append("-o")
        arguments.append(self.parameterAsVectorLayer(parameters, self.OUTLETS, context).source())

        arguments.append("-par")
        arguments.append("{}".format(self.parameterAsDouble(parameters, self.MIN_TRESHOLD, context)))
        arguments.append("{}".format(self.parameterAsDouble(parameters, self.MAX_TRESHOLD, context)))
        arguments.append("{}".format(self.parameterAsDouble(parameters, self.DROP_TRESHOLDS, context)))
        arguments.append("{}".format(self.parameterAsEnum(parameters, self.STEP, context)))

        outputFile = self.parameterAsFileOutput(parameters, self.DROP_ANALYSIS, context)
        arguments.append("-drp")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 3
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-slp")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.SLOPE,
                                        context).source())
        arguments.append("-sca")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.AREA,
                                        context).source())

        arguments.append("-par")
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.SLOPE_EXPONENT, context)))
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.AREA_EXPONENT, context)))

        outputFile = self.parameterAsOutputLayer(parameters, self.SLOPE_AREA,
                                                 context)
        arguments.append("-sa")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 4
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-p")
        arguments.append(self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR, context).source())
        arguments.append("-o")
        arguments.append(self.parameterAsVectorLayer(parameters, self.OUTLETS, context).source())

        outputFile = self.parameterAsOutputLayer(parameters, self.GAGE_WATERSHED, context)
        arguments.append("-gw")
        arguments.append(outputFile)

        outputFile = self.parameterAsFileOutput(parameters, self.WATERSHED_CONNECTIVITY, context)
        if outputFile:
            arguments.append("-id")
            arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 5
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.PIT_FILLED,
                                        context).source())
        arguments.append("-p")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR,
                                        context).source())
        arguments.append("-dn")
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.DISTANCE, context)))

        outputFile = self.parameterAsOutputLayer(parameters, self.SLOPE_DOWN,
                                                 context)
        arguments.append("-slpd")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 6
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-plen")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.LENGTH,
                                        context).source())
        arguments.append("-ad8")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.CONTRIB_AREA,
                                        context).source())

        arguments.append("-par")
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.THRESHOLD, context)))
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.EXPONENT, context)))

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.STREAM_SOURCE, context)
        arguments.append("-ss")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 7
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-ang")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR,
                                        context).source())
        arguments.append("-wg")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.WEIGHT_GRID,
                                        context).source())

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.REVERSE_ACCUM, context)
        arguments.append("-racc")
        arguments.append(outputFile)

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.MAX_DOWNSLOPE, context)
        arguments.append("-dmax")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 8
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-ang")
        arguments.append(self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR, context).source())

        outlets = self.parameterAsVectorLayer(parameters, self.OUTLETS, context)
        if outlets:
            arguments.append("-o")
            arguments.append(outlets.source())

        weight = self.parameterAsRasterLayer(parameters, self.WEIGHT_GRID, context)
        if weight:
            arguments.append("-wg")
            arguments.append(weight.source())

        edgeContamination = self.parameterAsBool(parameters, self.EDGE_CONTAMINATION, context)
        if edgeContamination:
            arguments.append("-nc")

        outputFile = self.parameterAsOutputLayer(parameters, self.DINF_CONTRIB_AREA, context)
        arguments.append("-sca")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 9
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.PIT_FILLED,
                                        context).source())

        arguments.append("-par")
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.CENTER_WEIGHT, context)))
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.SIDE_WEIGHT, context)))
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.DIAGONAL_WEIGHT, context)))

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.STREAM_SOURCE, context)
        arguments.append("-ss")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 10
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-p")
        arguments.append(self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR, context).source())
        arguments.append("-ad8")
        arguments.append(self.parameterAsRasterLayer(parameters, self.D8_CONTRIB_AREA, context).source())
        arguments.append("-w")
        arguments.append(self.parameterAsRasterLayer(parameters, self.WATERSHED, context).source())
        arguments.append("-d")
        arguments.append("{}".format(self.parameterAsInt(parameters, self.CELLS, context)))

        arguments.append("-o")
        arguments.append(self.parameterAsOutputLayer(parameters, self.OUTLETS, context))
        arguments.append("-od")
        arguments.append(self.parameterAsOutputLayer(parameters, self.MOVED_OUTLETS, context))

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 11
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-z")
        arguments.append(self.parameterAsRasterLayer(parameters, self.ELEVATION, context).source())

        mask = self.parameterAsRasterLayer(parameters, self.DEPRESSION_MASK, context)
        if mask:
            arguments.append("-depmask")
            arguments.append(mask.source())

        fourWay = self.parameterAsBool(parameters, self.FOUR_NEIGHBOURS, context)
        if fourWay:
            arguments.append("-4way")

        outputFile = self.parameterAsOutputLayer(parameters, self.PIT_FILLED, context)
        arguments.append("-fel")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 12
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.PIT_FILLED,
                                        context).source())

        arguments.append("-ang")
        arguments.append(
            self.parameterAsOutputLayer(parameters, self.DINF_FLOWDIR,
                                        context))
        arguments.append("-slp")
        arguments.append(
            self.parameterAsOutputLayer(parameters, self.DINF_SLOPE, context))

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 13
0
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(
         Setting(self.name(), taudemUtils.TAUDEM_ACTIVE,
                 self.tr("Activate"), True))
     ProcessingConfig.addSetting(
         Setting(self.name(),
                 taudemUtils.TAUDEM_DIRECTORY,
                 self.tr("TauDEM directory"),
                 taudemUtils.taudemDirectory(),
                 valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(
         Setting(self.name(),
                 taudemUtils.TAUDEM_MPICH,
                 self.tr("MPICH2/OpenMPI bin directory"),
                 taudemUtils.mpichDirectory(),
                 valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(
         Setting(self.name(),
                 taudemUtils.TAUDEM_PROCESSES,
                 self.tr("MPI processes to use"),
                 2,
                 valuetype=Setting.INT))
     ProcessingConfig.addSetting(
         Setting(self.name(), taudemUtils.TAUDEM_VERBOSE,
                 self.tr("Log commands output"), False))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Ejemplo n.º 14
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-slp")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.SLOPE,
                                        context).source())
        arguments.append("-sca")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.CONTRIB_AREA,
                                        context).source())

        arguments.append("-twi")
        arguments.append(
            self.parameterAsOutputLayer(parameters, self.TWI, context))

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 15
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-and")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR,
                                        context).source())
        arguments.append("-dg")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.DISTURBANCE,
                                        context).source())

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.UPSLOPE_DEPENDENCE,
                                                 context)
        arguments.append("-dep")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 16
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-ssa")
        arguments.append(self.parameterAsRasterLayer(parameters, self.ACCUM_STREAM_SOURCE, context).source())

        mask = self.parameterAsRasterLayer(parameters, self.MASK_GRID, context)
        if mask:
            arguments.append("-mask")
            arguments.append(mask.source())

        arguments.append("-thresh")
        arguments.append("{}".format(self.parameterAsDouble(parameters, self.THRESHOLD, context)))

        outputFile = self.parameterAsOutputLayer(parameters, self.STREAM_RASTER, context)
        arguments.append("-src")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 17
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.PIT_FILLED,
                                        context).source())
        arguments.append("-ang")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR,
                                        context).source())
        arguments.append("-slp")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.SLOPE,
                                        context).source())
        arguments.append("-thresh")
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.THRESHOLD, context)))

        statMethod = self.statiscitalMethods[self.parameterAsEnum(
            parameters, self.STATISTICAL_METHOD, context)][1]
        distMethod = self.statiscitalMethods[self.parameterAsEnum(
            parameters, self.DISTANCE_METHOD, context)][1]
        arguments.append("-m")
        arguments.append(statMethod)
        arguments.append(distMethod)

        edgeContamination = self.parameterAsBool(parameters,
                                                 self.EDGE_CONTAMINATION,
                                                 context)
        if edgeContamination:
            arguments.append("-nc")

        outputFile = self.parameterAsOutputLayer(parameters, self.DISTANCE_UP,
                                                 context)
        arguments.append("-du")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 18
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.PIT_FILLED,
                                        context).source())
        arguments.append("-ang")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR,
                                        context).source())
        arguments.append("-ass")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.AVALANCHE_SOURCE,
                                        context).source())
        arguments.append("-thresh")
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.THRESHOLD, context)))
        arguments.append("-alpha")
        arguments.append("{}".format(
            self.parameterAsDouble(parameters, self.ANGLE, context)))

        direct = self.parameterAsBool(parameters, self.DIRECT, context)
        if edgeContamination:
            arguments.append("-direct")

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.AVALANCHE_RUNOUT,
                                                 context)
        arguments.append("-rz")
        arguments.append(outputFile)

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.DISTANCE_DOWN, context)
        arguments.append("-dfs")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 19
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-p")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR,
                                        context).source())

        mask = self.parameterAsRasterLayer(parameters, self.MASK_GRID, context)
        if mask:
            arguments.append("-mask")
            arguments.append(mask.source())
            arguments.append("-thresh")
            arguments.append("{}".format(
                self.parameterAsDouble(parameters, self.THRESHOLD, context)))

        outlets = self.parameterAsVectorLayer(parameters, self.OUTLETS,
                                              context)
        if outlets:
            arguments.append("-o")
            arguments.append(outlets.source())

        outputFile = self.parameterAsOutputLayer(parameters, self.LONGEST_PATH,
                                                 context)
        arguments.append("-plen")
        arguments.append(outputFile)

        outputFile = self.parameterAsOutputLayer(parameters, self.TOTAL_PATH,
                                                 context)
        arguments.append("-tlen")
        arguments.append(outputFile)

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.STRAHLER_ORDER, context)
        arguments.append("-gord")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 20
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(self.parameterAsRasterLayer(parameters, self.PIT_FILLED, context).source())
        arguments.append("-ang")
        arguments.append(self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR, context).source())
        arguments.append("-src")
        arguments.append(self.parameterAsRasterLayer(parameters, self.STREAM_RASTER, context).source())

        weight = self.parameterAsRasterLayer(parameters, self.WEIGHT_GRID, context)
        if weight:
            arguments.append("-wg")
            arguments.append(weight.source())

        statMethod = self.statiscitalMethods[self.parameterAsEnum(parameters, self.STATISTICAL_METHOD, context)][1]
        distMethod = self.statiscitalMethods[self.parameterAsEnum(parameters, self.DISTANCE_METHOD, context)][1]
        arguments.append("-m")
        arguments.append(statMethod)
        arguments.append(distMethod)

        edgeContamination = self.parameterAsBool(parameters, self.EDGE_CONTAMINATION, context)
        if edgeContamination:
            arguments.append("-nc")

        outputFile = self.parameterAsOutputLayer(parameters, self.DISTANCE_DOWN, context)
        arguments.append("-dd")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 21
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-ang")
        arguments.append(self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR, context).source())
        arguments.append("-dm")
        arguments.append(self.parameterAsRasterLayer(parameters, self.DECAY_MULTIPLIER, context).source())
        arguments.append("-dg")
        arguments.append(self.parameterAsRasterLayer(parameters, self.DISTURBANCE_INDICATOR, context).source())
        arguments.append("-q")
        arguments.append(self.parameterAsRasterLayer(parameters, self.RUNOFF_WEIGHT, context).source())
        arguments.append("-csol")
        arguments.append("{}".format(self.parameterAsDouble(parameters, self.CONCENTRATION_THRESHOLD, context)))

        outlets = self.parameterAsVectorLayer(parameters, self.OUTLETS, context)
        if outlets:
            arguments.append("-o")
            arguments.append(outlets.source())

        edgeContamination = self.parameterAsBool(parameters, self.EDGE_CONTAMINATION, context)
        if edgeContamination:
            arguments.append("-nc")

        outputFile = self.parameterAsOutputLayer(parameters, self.CONCENTRATION, context)
        arguments.append("-ctpt")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 22
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-p")
        arguments.append(self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR, context).source())

        arguments.append("-sa")
        arguments.append(self.parameterAsRasterLayer(parameters, self.SLOPE_AREA, context).source())

        outlets = self.parameterAsVectorLayer(parameters, self.OUTLETS, context)
        if outlets:
            arguments.append("-o")
            arguments.append(outlets.source())

        minUpslope = self.parameterAsBool(parameters, self.MIN_UPSLOPE, context)
        if minUpslope:
            arguments.append("-min")

        edgeContamination = self.parameterAsBool(parameters, self.EDGE_CONTAMINATION, context)
        if edgeContamination:
            arguments.append("-nc")

        outputFile = self.parameterAsOutputLayer(parameters, self.EXTREME_VALUE, context)
        arguments.append("-ssa")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 23
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-ang")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.DINF_FLOWDIR,
                                        context).source())
        arguments.append("-tsup")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.TRANSPORT_SUPPLY,
                                        context).source())
        arguments.append("-tc")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.TRANSPORT_CAPACITY,
                                        context).source())

        concentration = self.parameterAsRasterLayer(parameters,
                                                    self.INPUT_CONCENTRATION,
                                                    context)
        if concentration:
            arguments.append("-cs")
            arguments.append(concentration.source())

            concentration = self.parameterAsOutputLayer(
                parameters, self.OUTPUT_CONCENTRATION, context)
            if concentration:
                arguments.append("-ctpt")
                arguments.append(concentration.source())
            else:
                raise QgsProcessingException(
                    self.tr("Output concentration is not set."))

        outlets = self.parameterAsVectorLayer(parameters, self.OUTLETS,
                                              context)
        if outlets:
            arguments.append("-o")
            arguments.append(outlets.source())

        edgeContamination = self.parameterAsBool(parameters,
                                                 self.EDGE_CONTAMINATION,
                                                 context)
        if edgeContamination:
            arguments.append("-nc")

        outputFile = self.parameterAsOutputLayer(parameters,
                                                 self.TRANLIM_ACCUM, context)
        arguments.append("-tla")
        arguments.append(outputFile)

        outputFile = self.parameterAsOutputLayer(parameters, self.DEPOSITION,
                                                 context)
        arguments.append("-tdep")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results
Ejemplo n.º 24
0
    def processAlgorithm(self, parameters, context, feedback):
        arguments = []
        arguments.append(
            os.path.join(taudemUtils.taudemDirectory(), self.name()))

        arguments.append("-fel")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.PIT_FILLED,
                                        context).source())
        arguments.append("-p")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.D8_FLOWDIR,
                                        context).source())
        arguments.append("-ad8")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.D8_CONTRIB_AREA,
                                        context).source())
        arguments.append("-src")
        arguments.append(
            self.parameterAsRasterLayer(parameters, self.STREAM_RASTER,
                                        context).source())

        outlets = self.parameterAsVectorLayer(parameters, self.OUTLETS,
                                              context)
        if outlets:
            arguments.append("-o")
            arguments.append(outlets.source())

        singleWatershed = self.parameterAsBool(parameters,
                                               self.SINGLE_WATERSHED, context)
        if singleWatershed:
            arguments.append("-sw")

        outputFile = self.parameterAsOutputLayer(parameters, self.STREAM_ORDER,
                                                 context)
        arguments.append("-ord")
        arguments.append(outputFile)

        outputFile = self.parameterAsOutputLayer(parameters, self.WATERSHED,
                                                 context)
        arguments.append("-w")
        arguments.append(outputFile)

        outputFile = self.parameterAsOutputLayer(parameters, self.STREAM_REACH,
                                                 context)
        arguments.append("-net")
        arguments.append(outputFile)

        outputFile = self.parameterAsFileOutput(parameters,
                                                self.NETWORK_CONNECTIVITY,
                                                context)
        arguments.append("-tree")
        arguments.append(outputFile)

        outputFile = self.parameterAsFileOutput(parameters,
                                                self.NETWORK_COORDINATES,
                                                context)
        arguments.append("-coord")
        arguments.append(outputFile)

        taudemUtils.execute(arguments, feedback)

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

        return results