def processAlgorithm(self, parameters, context, feedback): arguments = [] if self.VERSION64: arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'ReturnDensity64.exe') + '"') else: arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'ReturnDensity.exe') + '"') if self.FIRST in parameters and parameters[self.FIRST]: arguments.append('/first') if self.ASCII in parameters and parameters[self.ASCII]: arguments.append('/ascii') class_var = self.parameterAsString(parameters, self.CLASS, context).strip() if class_var: arguments.append('/class:' + class_var) #self.addAdvancedModifiersToCommand(arguments) arguments.append( self.parameterAsFileOutput(parameters, self.OUTPUT, context)) arguments.append( str(self.parameterAsInt(parameters, self.CELLSIZE, context))) self.addInputFilesToCommands(arguments, parameters, self.INPUT, context) #arguments.append(self.parameterAsFile(parameters, self.INPUT, context)) fusionUtils.execute(arguments, feedback)
def processAlgorithm(self, parameters, context, feedback): version64 = self.parameterAsBool(parameters, self.VERSION64, context) if version64: commands = [ '"' + os.path.join(fusionUtils.fusionDirectory(), 'PolyClipData64.exe') + '"' ] else: 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)
def processAlgorithm(self, parameters, context, feedback): arguments = [] if self.VERSION64: arguments.append( '"' + os.path.join(fusionUtils.fusionDirectory(), 'TreeSeg64.exe') + '"') else: arguments.append( '"' + os.path.join(fusionUtils.fusionDirectory(), 'TreeSeg.exe') + '"') if self.HEIGHT_NORM in parameters and parameters[self.HEIGHT_NORM]: arguments.append('/height') if self.HEIGHT_PTS in parameters and parameters[self.HEIGHT_PTS]: arguments.append('/ptheight') if self.GROUND in parameters and parameters[self.GROUND] is not None: arguments.append('/ground:{}'.format( self.parameterAsInt(parameters, self.GROUND, context))) if self.LASPTS in parameters and parameters[self.LASPTS] is not None: arguments.append('/points:{}'.format( self.parameterAsInt(parameters, self.LASPTS, context))) if self.SEGMENTPTS in parameters and parameters[self.SEGMENTPTS]: arguments.append('/segmentpts') if self.SHAPE in parameters and parameters[self.SHAPE]: arguments.append('/shape') # 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(self.parameterAsFile(parameters, self.INPUT, context)) arguments.append( self.parameterAsInt(parameters, self.HEIGHT_TH, context)) arguments.append( self.parameterAsFileOutput(parameters, self.OUTPUT, context)) # 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
def processAlgorithm(self, parameters, context, feedback): arguments = [] if self.VERSION64: arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'Cover64.exe') + '"') else: arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'Cover.exe') + '"') if self.ALL in parameters and parameters[self.ALL]: arguments.append('/all') if self.PENETRATION in parameters and parameters[self.PENETRATION]: arguments.append('/penetration') if self.IGNOREOVERLAP in parameters and parameters[self.IGNOREOVERLAP]: arguments.append('/ignoreoverlap') class_var = self.parameterAsString(parameters, self.CLASS, context).strip() if class_var: arguments.append('/class:' + class_var) if self.UPPER in parameters and parameters[self.UPPER] is not 0: arguments.append('/upper:{}'.format(self.parameterAsInt(parameters, self.UPPER, context))) self.addAdvancedModifiersToCommands(arguments, parameters, context) arguments.append(self.parameterAsFile(parameters, self.GROUND, context)) arguments.append(self.parameterAsFileOutput(parameters, self.OUTPUT, context)) arguments.append(str(self.parameterAsDouble(parameters, self.HEIGHTBREAK, context))) arguments.append(str(self.parameterAsDouble(parameters, self.CELLSIZE, 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(self.parameterAsFile(parameters, self.INPUT, context))# remove when method for multiple files is fixed # fileList = fusionUtils.layersToFile('DataFiles.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
def processAlgorithm(self, parameters, context, feedback): arguments = [] if self.VERSION64 in parameters and parameters[self.VERSION64]: arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'DensityMetrics64.exe') + '"') else: arguments.append('"' + os.path.join(fusionUtils.fusionDirectory(), 'DensityMetrics.exe') + '"') if self.FIRST in parameters and parameters[self.FIRST]: arguments.append('/first') if self.NOCSV in parameters and parameters[self.NOCSV]: arguments.append('/nocsv') if self.IGNOREOVERLAP in parameters and parameters[self.IGNOREOVERLAP]: arguments.append('/ignoreoverlap') class_var = self.parameterAsString(parameters, self.CLASS, context).strip() if class_var: arguments.append('/class:' + class_var) self.addAdvancedModifiersToCommands(arguments, parameters, context) arguments.append(self.parameterAsFile(parameters, self.GROUND, context)) arguments.append( str(self.parameterAsDouble(parameters, self.CELLSIZE, context))) arguments.append( str( self.parameterAsDouble(parameters, self.SLICETHICKNESS, context))) arguments.append( self.parameterAsFileOutput(parameters, self.OUTPUT, context)) arguments.append(self.parameterAsFile(parameters, self.INPUT, context)) # arguments.append('outlier') # arguments.append(str(self.parameterAsDouble(parameters, self.VALUE, context))) # arguments.append(str(self.parameterAsDouble(parameters, self.WINDOWSIZE, context))) # outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) # arguments.append('"%s"' % outputFile) # self.addInputFilesToCommands(arguments, parameters, self.INPUT, context) fusionUtils.execute(arguments, feedback) return self.prepareReturn(parameters)
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)
def processAlgorithm(self, parameters, context, feedback): commands = [os.path.join(fusionUtils.fusionDirectory(), 'CloudMetrics.exe')] above = self.parameterAsString(parameters, self.ABOVE, context).strip() if above: commands.append('/abve:' + above) htmin = self.parameterAsString(parameters, self.HTMIN, context).strip() if htmin: commands.append('/minht:' + htmin) firstImpulse = self.parameterAsBool(parameters, self.FIRSTIMPULSE, context) if firstImpulse: commands.append('/firstinpulse') firstReturn = self.parameterAsBool(parameters, self.FIRSTRETURN, context) if firstReturn: commands.append('/firstreturn') self.addInputFilesToCommands(commands, parameters, self.INPUT, context) outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) commands.append('"%s"' % outputFile) fusionUtils.execute(commands, feedback) return self.prepareReturn(parameters)
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
def processAlgorithm(self, parameters, context, feedback): commands = [ '"' + os.path.join(fusionUtils.fusionDirectory(), 'ImageCreate.exe') + '"' ] commands.append('/coloroption:' + self.coloroptions[ self.parameterAsEnum(parameters, self.COLOROPTION, context)]) ground = self.parameterAsString(parameters, self.GROUND, context).strip() if ground: commands.append('/dtm:' + ground) if self.parameterAsBool(parameters, self.RGB, context): commands.append('/rgb') print("val:" + self.parameterAsString(parameters, self.SWITCH, context)) if self.parameterAsEnum(parameters, self.SWITCH, context) == 0: commands.append('/jpg') else: commands.append('/bmp') outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) commands.append('"%s"' % outputFile) commands.append( str(self.parameterAsDouble(parameters, self.PIXEL, context))) self.addInputFilesToCommands(commands, parameters, self.INPUT, context) fusionUtils.execute(commands, feedback) return self.prepareReturn(parameters)
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)
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 = [] arguments.append(os.path.join(fusionUtils.fusionDirectory(), self.name())) 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
def processAlgorithm(self, parameters, context, feedback): arguments = [] arguments.append( os.path.join(fusionUtils.fusionDirectory(), self.name())) if self.MULTIPLIER in parameters and parameters[ self.MULTIPLIER] is not None: arguments.append('/multiplier:{}'.format( self.parameterAsDouble(parameters, self.MULTIPLIER, context))) if self.NDZERO in parameters and parameters[self.NDZERO] is not None: arguments.append('/ndzero:{}'.format( self.parameterAsDouble(parameters, self.NDZERO, context))) arguments.append(self.parameterAsFile(parameters, self.INPUT, context)) arguments.append( str(self.parameterAsInt(parameters, self.COLUMN, 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
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.VOID in parameters and parameters[self.VOID]: arguments.append('/void') if self.NOHEADER in parameters and parameters[self.NOHEADER]: if self.CSV in parameters and parameters[self.CSV]: arguments.append('/noheader') 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
def processAlgorithm(self, parameters, context, feedback): commands = [ os.path.join(fusionUtils.fusionDirectory(), 'CanopyMaxima.exe') ] commands.append('/wse:{},0,{},0'.format( self.parameterAsDouble(parameters, self.PARAM_A, context), self.parameterAsDouble(parameters, self.PARAM_C, context))) summary = self.parameterAsBool(parameters, self.SUMMARY, context) if summary: commands.append('/summary') self.addAdvancedModifiersToCommands(commands, parameters, context) ground = self.parameterAsString(parameters, self.GROUND, context).strip() if ground: commands.append('/ground:' + ground) commands.append('/threshold:{}'.format( self.parameterAsDouble(parameters, self.THRESHOLD, context))) self.addInputFilesToCommands(commands, parameters, self.INPUT, context) self.addAdvancedModifiersToCommands(commands, parameters, context) outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) commands.append('"%s"' % outputFile) fusionUtils.execute(commands, feedback) return self.prepareReturn(parameters)
def processAlgorithm(self, parameters, context, feedback): commands = [ '"' + os.path.join(fusionUtils.fusionDirectory(), 'Catalog.exe') + '"' ] intensity = self.parameterAsString(parameters, self.INTENSITY, context).strip() if intensity: commands.append('/intensity:' + intensity) density = self.parameterAsString(parameters, self.DENSITY, context).strip() if density: commands.append('/density:' + density) first = self.parameterAsString(parameters, self.FIRSTDENSITY, context).strip() if first: commands.append('/first:' + first) self.addAdvancedModifiersToCommands(commands, parameters, context) self.addInputFilesToCommands(commands, parameters, self.INPUT, context) outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) commands.append('"%s"' % outputFile) fusionUtils.execute(commands, feedback) return self.prepareReturn(parameters)
def processAlgorithm(self, parameters, context, feedback): commands = [ os.path.join(fusionUtils.fusionDirectory(), 'ClipData.exe') ] self.addAdvancedModifiersToCommands(commands, parameters, context) commands.append('/shape:' + self.parameterAsEnum(parameters, self.SHAPE, context)) dtm = self.parameterAsString(parameters, self.DTM, context) if dtm: commands.append('/dtm:' + dtm) height = self.parameterAsString(parameters, self.HEIGHT, context) if height: commands.append('/height') self.addInputFilesToCommands(commands, parameters, self.INPUT, context) outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) commands.append('"%s"' % outputFile) extent = self.parameterAsExtent(parameters, self.EXTENT, context) commands.append(extent.xMinimum()) commands.append(extent.yMinimum()) commands.append(extent.xMaximum()) commands.append(extent.yMaximum()) fusionUtils.execute(commands, feedback) return self.prepareReturn(parameters)
def processAlgorithm(self, parameters, context, feedback): version64 = self.parameterAsBool(parameters, self.VERSION64, context) if version64: arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'FilterData64.exe') + '"'] else: arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'FilterData.exe') + '"'] self.addAdvancedModifiersToCommands(arguments, parameters, context) arguments.append('outlier') arguments.append(str(self.parameterAsDouble(parameters, self.VALUE, context))) arguments.append(str(self.parameterAsDouble(parameters, self.WINDOWSIZE, context))) outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) arguments.append('"%s"' % outputFile) self.addInputFilesToCommands(arguments, parameters, self.INPUT, context) fusionUtils.execute(arguments, feedback) return self.prepareReturn(parameters)
def processAlgorithm(self, parameters, context, feedback): arguments = [] if self.VERSION64: arguments.append( '"' + os.path.join(fusionUtils.fusionDirectory(), 'ThinData64.exe') + '"') else: arguments.append( '"' + os.path.join(fusionUtils.fusionDirectory(), 'ThinData.exe') + '"') if self.IGNOREOVERLAP in parameters and parameters[self.IGNOREOVERLAP]: arguments.append('/ignoreoverlap') class_var = self.parameterAsString(parameters, self.CLASS, context).strip() if class_var: arguments.append('/class:' + class_var) if self.RSEED in parameters and parameters[self.RSEED] is not None: arguments.append('/rseed:{}'.format( self.parameterAsInt(parameters, self.RSEED, context))) arguments.append( self.parameterAsFileOutput(parameters, self.OUTPUT, context)) arguments.append( str(self.parameterAsInt(parameters, self.DENSITY, context))) arguments.append( str(self.parameterAsInt(parameters, self.CELLSIZE, context))) arguments.append(self.parameterAsFile(parameters, self.INPUT, context)) fusionUtils.execute(arguments, feedback) results = {} for output in self.outputDefinitions(): outputName = output.name() if outputName in parameters: results[outputName] = parameters[outputName] return results
def processAlgorithm(self, parameters, context, feedback): version64 = self.parameterAsBool(parameters, self.VERSION64, context) if version64: arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'CanopyModel64.exe') + '"'] else: arguments = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'CanopyModel.exe') + '"'] arguments.append('/verbose') ground = self.parameterAsString(parameters, self.GROUND, context).strip() if ground: arguments.append('/ground:' + ground) 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) slope = self.parameterAsBool(parameters, self.SLOPE, context) if slope: arguments.append('/slope') class_var = self.parameterAsString(parameters, self.CLASS, context).strip() if class_var: arguments.append('/class:' + class_var) asciioutput = self.parameterAsBool(parameters, self.ASCII, context) if asciioutput: arguments.append('/ascii') 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))) arguments.append(self.UNITS[self.parameterAsEnum(parameters, self.XYUNITS, context)][0]) arguments.append(self.UNITS[self.parameterAsEnum(parameters, self.ZUNITS, context)][0]) arguments.append('0') arguments.append('0') arguments.append('0') arguments.append('0') self.addInputFilesToCommands(arguments, parameters, self.INPUT, context) fusionUtils.execute(arguments, feedback) return self.prepareReturn(parameters)
def processAlgorithm(self, parameters, context, feedback): version64 = self.parameterAsBool(parameters, self.VERSION64, context) if version64: commands = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'GridSurfaceCreate64.exe') + '"'] else: commands = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'GridSurfaceCreate.exe') + '"'] spike = self.parameterAsString(parameters, self.SPIKE, context).strip() if spike: commands.append('/spike:' + spike) median = self.parameterAsString(parameters, self.MEDIAN, context).strip() if median: commands.append('/median:' + median) smooth= self.parameterAsString(parameters, self.SMOOTH, context).strip() if smooth: commands.append('/smooth:' + smooth) slope = self.parameterAsBool(parameters, self.SLOPE, context) if slope: commands.append('/slope') minimum = self.parameterAsBool(parameters, self.MINIMUM, context) if minimum: commands.append('/minimum:' + minimum) class_var = self.parameterAsString(parameters, self.CLASS, context).strip() if class_var: commands.append('/class:' + class_var) self.addAdvancedModifiersToCommands(commands, parameters, context) outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT_DTM, 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)
def processAlgorithm(self, parameters, context, feedback): commands = ['"' + os.path.join(fusionUtils.fusionDirectory(), 'FirstLastReturn.exe') + '"'] if self.parameterAsBool(parameters, self.SWITCH, context): commands.append('/uselas') 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)
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)
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)
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)
def processAlgorithm(self, parameters, context, feedback): commands = [ os.path.join(fusionUtils.fusionDirectory(), 'MergeData.exe') ] self.addAdvancedModifiersToCommands(commands, parameters, context) self.addInputFilesToCommands(commands, parameters, self.INPUT, context) outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) commands.append('"%s"' % outputFile) fusionUtils.execute(commands, feedback) return self.prepareReturn(parameters)
def load(self): ProcessingConfig.settingIcons[self.name()] = self.icon() ProcessingConfig.addSetting( Setting(self.name(), fusionUtils.FUSION_ACTIVE, self.tr('Activate'), False)) ProcessingConfig.addSetting( Setting(self.name(), fusionUtils.FUSION_DIRECTORY, self.tr('FUSION directory'), fusionUtils.fusionDirectory(), valuetype=Setting.FOLDER)) ProcessingConfig.addSetting( Setting(self.name(), fusionUtils.FUSION_VERBOSE, self.tr('Log commands output'), False)) ProcessingConfig.readSettings() self.refreshAlgorithms() return True
def processAlgorithm(self, parameters, context, feedback): commands = [ os.path.join(fusionUtils.fusionDirectory(), 'GroundFilter.exe') ] self.addAdvancedModifiersToCommands(commands, parameters, context) if self.parameterAsBool(parameters, self.SURFACE, context): commands.append('/surface') outputFile = self.parameterAsFileOutput(parameters, self.OUTPUT, context) commands.append('"%s"' % outputFile) commands.append( str(self.parameterAsDouble(parameters, self.CELLSIZE, context))) self.addInputFilesToCommands(commands, parameters, self.INPUT, context) fusionUtils.execute(commands, feedback) return self.prepareReturn(parameters)
def processAlgorithm(self, parameters, context, feedback): commands = [ os.path.join(fusionUtils.fusionDirectory(), 'FilterData.exe') ] self.addAdvancedModifiersToCommands(commands, parameters, context) commands.append('outlier') commands.append( str(self.parameterAsDouble(parameters, self.VALUE, context))) commands.append( str(self.parameterAsDouble(parameters, self.WINDOWSIZE, 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)
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
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