def defineCharacteristics(self): self.addParameter( ParameterMultipleInput(self.DATASOURCES, self.tr('Input datasources'), dataobjects.TYPE_TABLE)) self.addParameter( ParameterBoolean(self.UNIONED, self.tr('Create "unioned" VRT'), default=False)) self.addOutput( OutputFile(self.VRT_FILE, self.tr('Virtual vector'), ext='vrt')) self.addOutput(OutputString(self.VRT_STRING, self.tr('Virtual string')))
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Build virtual vector') self.group, self.i18n_group = self.trAlgorithm('Vector general tools') self.addParameter(ParameterMultipleInput(self.DATASOURCES, self.tr('Input datasources'))) self.addParameter(ParameterBoolean(self.UNIONED, self.tr('Create "unioned" VRT'), default=False)) self.addOutput(OutputFile(self.VRT_FILE, self.tr('Virtual vector'), ext='vrt')) self.addOutput(OutputString(self.VRT_STRING, self.tr('Virtual string')))
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Filter Data outliers') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile(self.INPUT, self.tr('Input LAS layer'))) self.addParameter( ParameterNumber(self.VALUE, self.tr('Standard Deviation multiplier'))) self.addParameter( ParameterNumber(self.WINDOWSIZE, self.tr('Window size'), None, None, 10)) self.addOutput( OutputFile(self.OUTPUT, self.tr('Output filtered LAS file'))) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Canopy Model') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter( ParameterFile(self.INPUT, self.tr('Input LAS layer'), optional=False)) self.addParameter( ParameterNumber(self.CELLSIZE, self.tr('Cellsize'), 0, None, 10.0)) self.addParameter( ParameterSelection(self.XYUNITS, self.tr('XY Units'), self.UNITS)) self.addParameter( ParameterSelection(self.ZUNITS, self.tr('Z Units'), self.UNITS)) self.addOutput( OutputFile(self.OUTPUT, self.tr('.dtm output surface'), 'dtm')) ground = ParameterFile(self.GROUND, self.tr('Input ground PLANS DTM layer'), False, True) ground.isAdvanced = True self.addParameter(ground) median = ParameterString(self.MEDIAN, self.tr('Median'), '', False, True) median.isAdvanced = True self.addParameter(median) smooth = ParameterString(self.SMOOTH, self.tr('Smooth'), '', False, True) smooth.isAdvanced = True self.addParameter(smooth) class_var = ParameterString(self.CLASS, self.tr('Select specific class'), '', False, True) class_var.isAdvanced = True self.addParameter(class_var) ret_num = ParameterString(self.RETURN, self.tr('Select specific return'), '', False, True) ret_num.isAdvanced = True self.addParameter(ret_num) slope = ParameterBoolean(self.SLOPE, self.tr('Calculate slope'), False) slope.isAdvanced = True self.addParameter(slope) aspec = ParameterBoolean(self.ASPEC, self.tr('Calculate aspect'), False) aspec.isAdvanced = True self.addParameter(aspec) self.addParameter( ParameterBoolean(self.ASCII, self.tr('Add an ASCII output'), False)) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name = "Accuracy assessment with ground reference" self.group = "[pktools] supervised classification" self.addParameter( ParameterRaster(self.INPUT, 'Classification result (raster map)')) self.addParameter( ParameterFile(self.REFERENCE, "Labeled reference vector data set", False, optional=False)) self.addParameter( ParameterString( self.LAYERS, "Layer name(s) in sample (leave empty to select all", '', optional=True)) self.addParameter( ParameterBoolean(self.ITERATE, "Iterate over all layers", True)) self.addParameter( ParameterString(self.LABELREF, "Attribute name of the reference label", "label")) self.addParameter( ParameterString( self.NODATA, "No data value(s) in input or reference dataset to ignore (e.g., 0;255)", "0")) self.addOutput( OutputFile(self.CMOUTPUT, self.tr("Confusion matrix output file "))) self.addParameter( ParameterSelection(self.CMFORMAT, "Format for confusion matrix output", self.CMFORMAT_OPTIONS, 0)) # self.addOutput(OutputTable(self.TABLE, self.tr('Confusion matrix table'))) self.addOutput( OutputVector(self.OUTPUT, 'Assessment output vector data set')) self.addParameter( ParameterSelection(self.FORMAT, 'Assessment output vector Format', FORMATS)) self.addParameter( ParameterString(self.LABELCLASS, "Attribute name of classified (map) label", "class")) self.addParameter( ParameterString(self.EXTRA, 'Additional parameters', '', optional=True))
def defineCharacteristics(self): self.name = 'Poly Clip Data' self.group = 'Points' self.addParameter(ParameterFile( self.INPUT, self.tr('Input .las layer'))) self.addParameter(ParameterFile(self.MASK, self.tr('Mask layer'))) self.addOutput(OutputFile(self.OUTPUT, self.tr('Output clipped .las file'), 'las')) self.addParameter(ParameterBoolean(self.SHAPE, self.tr('Use Shape attribute'), False)) ## 'field' e 'value' box should appear or get activated if Shape attribute is switched ON self.addParameter(ParameterString(self.FIELD, self.tr('Shape field index'))) self.addParameter(ParameterString(self.VALUE, self.tr("Shape value"))) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Ground Filter') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile(self.INPUT, self.tr('Input LAS layer'))) self.addParameter( ParameterNumber(self.CELLSIZE, self.tr('Cellsize for intermediate surfaces'), 0, None, 10)) self.addOutput( OutputFile(self.OUTPUT, self.tr('Output ground LAS file'))) self.addParameter( ParameterBoolean(self.SURFACE, self.tr('Create .dtm surface'), False)) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name = "las2shp" self.group = "LAStools" self.addParametersVerboseGUI() self.addParametersPointInputGUI() self.addParameter( ParameterBoolean(las2shp.POINT_Z, self.tr("use PointZ instead of MultiPointZ"), False)) self.addParameter( ParameterNumber(las2shp.RECORD_SIZE, self.tr("number of points per record"), 0, None, 1024)) self.addOutput(OutputFile(las2shp.OUTPUT, self.tr("Output SHP file"))) self.addParametersAdditionalGUI()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Poly Clip Data') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'), optional=False)) self.addParameter(ParameterFile(self.MASK, self.tr('Mask layer'), optional=False)) self.addOutput(OutputFile(self.OUTPUT, self.tr('Output clipped LAS file'), 'las')) self.addParameter(ParameterString(self.SHAPE, self.tr("Use Shape attribute (shp column number,value)"), optional=True)) self.addParameter(ParameterString(self.FIELD, self.tr('Shape field index'))) self.addParameter(ParameterString(self.VALUE, self.tr("Shape value"))) self.addParameter(ParameterBoolean(self.MULTIFILE, self.tr('Create a file per each polygon'), False)) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Split PLANS DTM files') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter( ParameterFile(self.INPUT, self.tr('Input PLANS DTM file'), optional=False)) self.addParameter( ParameterNumber(self.COLUMNS, self.tr('Number of columns of tiles'), 0, None, 1)) self.addParameter( ParameterNumber(self.ROWS, self.tr('Number of rows of tiles'), 0, None, 1)) self.addOutput(OutputFile(self.OUTPUT, self.tr('Output files'))) self.addAdvancedModifiers()
def defineCharacteristicsFromFile(self): lines = open(self.descriptionFile) line = lines.readline().strip('\n').strip() self.grassName = line line = lines.readline().strip('\n').strip() self.name = line self.i18n_name = QCoreApplication.translate("GrassAlgorithm", line) if " - " not in self.name: self.name = self.grassName + " - " + self.name self.i18n_name = self.grassName + " - " + self.i18n_name line = lines.readline().strip('\n').strip() self.group = line self.i18n_group = QCoreApplication.translate("GrassAlgorithm", line) hasRasterOutput = False hasVectorInput = False vectorOutputs = 0 line = lines.readline().strip('\n').strip() while line != '': try: line = line.strip('\n').strip() if line.startswith('Parameter'): parameter = getParameterFromString(line) self.addParameter(parameter) if isinstance(parameter, ParameterVector): hasVectorInput = True if isinstance(parameter, ParameterMultipleInput) \ and parameter.datatype < 3: hasVectorInput = True elif line.startswith('*Parameter'): param = getParameterFromString(line[1:]) param.isAdvanced = True self.addParameter(param) else: output = getOutputFromString(line) self.addOutput(output) if isinstance(output, OutputRaster): hasRasterOutput = True elif isinstance(output, OutputVector): vectorOutputs += 1 if isinstance(output, OutputHTML): self.addOutput(OutputFile("rawoutput", output.description + " (raw output)", "txt")) line = lines.readline().strip('\n').strip() except Exception, e: ProcessingLog.addToLog( ProcessingLog.LOG_ERROR, self.tr('Could not open GRASS algorithm: %s.\n%s' % (self.descriptionFile, line))) raise e
def defineCharacteristics(self): """Algorithme variable and parameters parameters""" CholeAlgorithm.defineCharacteristics(self) # The name/group that the user will see in the toolbox self.group = 'landscape metrics' self.i18n_group = self.tr('landscape metrics') self.name = 'grid multi' self.i18n_name = self.tr('grid multi') # === INPUT PARAMETERS === self.addParameter( ParameterRaster(name=self.INPUT_LAYER_ASC, description=self.tr('Input layer asc'))) self.addParameter( ParameterString(name=self.GRID_SIZES, description=self.tr('Grid sizes (pixels)'))) self.addParameter( ParameterNumber( name=self.MAXIMUM_RATE_MISSING_VALUES, description=self.tr('Maximum rate of mising values'), minValue=0, maxValue=100, default=100)) self.addParameter( ParameterString(name=self.METRICS, description=self.tr('Select metrics'))) # === OUTPUT PARAMETERS === self.addOutput( OutputFile(name=self.SAVE_PROPERTIES, description=self.tr('Properties file'), ext='properties')) self.addOutput( OutputDirectory(name=self.OUTPUT_DIR, description=self.tr('Output directory'))) self.addParameter( ParameterBoolean(name=self.OPEN_ALL_ASC, description=self.tr('Open all ascii'), default=True, optional=True))
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Surface Statistics') self.group, self.i18n_group = self.trAlgorithm('Surface') self.addParameter( ParameterFile(self.INPUT, self.tr('Input PLANS DTM layer'), optional=False)) self.addOutput( OutputFile(self.OUTPUT, self.tr('Output file name'), 'csv')) ground = ParameterFile( self.GROUND, self. tr('Use the specified surface model to represent the ground surface' )) ground.isAdvanced = True self.addParameter(ground) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name = 'Tin Surface Create' self.group = 'Surface' self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'))) self.addParameter(ParameterNumber(self.CELLSIZE, self.tr('Cellsize'), 0, None, 10.0)) self.addParameter(ParameterSelection(self.XYUNITS, self.tr('XY Units'), self.UNITS)) self.addParameter(ParameterSelection(self.ZUNITS, self.tr('Z Units'), self.UNITS)) self.addOutput(OutputFile(self.OUTPUT_DTM, self.tr('DTM Output Surface'), 'dtm')) class_var = ParameterString(self.CLASS, self.tr('Class'), 2, False, True) class_var.isAdvanced = True self.addParameter(class_var)
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('IntensityImage') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input file'))) self.addParameter(ParameterBoolean( self.ALLRET, self.tr('Use all returns instead of only first'), False)) self.addParameter(ParameterBoolean( self.LOWEST, self.tr('Use the lowest return in pixel area to assign the intensity value'), False)) self.addParameter(ParameterBoolean( self.HIST, self.tr('Produce a CSV intensity histogram data file'), False)) self.addParameter(ParameterNumber( self.PIXEL, self.tr('Pixel size'), 0, None, 1.0)) self.addParameter(ParameterSelection( self.SWITCH, self.tr('Output format'), ['Bitmap', 'JPEG'])) self.addOutput(OutputFile(self.OUTPUT, 'Output image')) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('ASCII to DTM') self.group, self.i18n_group = self.trAlgorithm('Conversion') self.addParameter(ParameterFile( self.INPUT, self.tr('Input ESRI ASCII layer'))) self.addParameter(ParameterSelection( self.XYUNITS, self.tr('XY Units'), self.UNITS)) self.addParameter(ParameterSelection( self.ZUNITS, self.tr('Z Units'), self.UNITS)) self.addParameter(ParameterSelection( self.COORDSYS, self.tr('Coordinate system'), ['unknown', 'UTM', 'state plane'])) self.addParameter(ParameterNumber( self.ZONE, self.tr("Coordinate system zone ('0' for unknown)"), 0, None, 0)) self.addOutput(OutputFile( self.OUTPUT, self.tr('Output surface'), 'dtm')) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('ImageCreate') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS'))) self.addParameter(ParameterSelection( self.COLOROPTION, self.tr('Method to assign color'), ['Intensity', 'Elevation', 'Height'])) self.addParameter(ParameterFile( self.GROUND, self.tr("Ground file (used with 'Height' method)"), 'dtm')) self.addParameter(ParameterBoolean( self.RGB, self.tr('Use RGB color model to create the color ramp'), False)) self.addParameter(ParameterNumber( self.PIXEL, self.tr('Pixel size'), 0, None, 1.0)) self.addParameter(ParameterSelection( self.SWITCH, self.tr('Output format'), ['JPEG', 'Bitmap'])) self.addOutput(OutputFile(self.OUTPUT, 'Output image')) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Grid Surface Create') self.group, self.i18n_group = self.trAlgorithm('Surface') self.addParameter(ParameterFile(self.INPUT, self.tr('Input LAS layer'))) self.addParameter( ParameterNumber(self.CELLSIZE, self.tr('Cell Size'), 0, None, 10.0)) self.addParameter( ParameterSelection(self.XYUNITS, self.tr('XY Units'), self.UNITS)) self.addParameter( ParameterSelection(self.ZUNITS, self.tr('Z Units'), self.UNITS)) self.addOutput( OutputFile(self.OUTPUT_DTM, self.tr('DTM Output Surface'), 'dtm')) spike = ParameterString(self.SPIKE, self.tr('Spike (set blank if not used)'), '', False, True) spike.isAdvanced = True self.addParameter(spike) median = ParameterString(self.MEDIAN, self.tr('Median'), '', False, True) median.isAdvanced = True self.addParameter(median) smooth = ParameterString(self.SMOOTH, self.tr('Smooth'), '', False, True) smooth.isAdvanced = True self.addParameter(smooth) slope = ParameterString(self.SLOPE, self.tr('Slope'), '', False, True) slope.isAdvanced = True self.addParameter(slope) minimum = ParameterBoolean(self.MINIMUM, self.tr('Minimum (set blank if not used)'), False) minimum.isAdvanced = True self.addParameter(minimum) class_var = ParameterString(self.CLASS, self.tr('Class(es)'), 2, False, True) class_var.isAdvanced = True self.addParameter(class_var) advance_modifiers = ParameterString(self.ADVANCED_MODIFIERS, self.tr('Additional modifiers'), '', False, True) advance_modifiers.isAdvanced = True self.addParameter(advance_modifiers)
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Tree Segmentation') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter( ParameterFile( self.INPUT, self.tr('Input Canopy Height Model (in PLANS DTM format)'), optional=False)) self.addParameter( ParameterNumber(self.HTTH, self.tr('Minimum height for object segmentation'), 0, None, 2.0)) self.addOutput( OutputFile(self.OUTPUT, self.tr('Base name for output files'))) ground = ParameterFile(self.GROUND, self.tr('Ground file for height normalization')) ground.isAdvanced = True self.addParameter(ground) height = ParameterBoolean( self.HEIGHT, self. tr("Normalize height model using ground model (select if a ground file is provided)" ), False) height.isAdvanced = True self.addParameter(height) buff = ParameterNumber( self.BUFF, self.tr('Add a buffer to the data extent when segmenting'), 0, None, 0.0) buff.isAdvanced self.addParameter(buff) shape = ParameterBoolean(self.SHAPE, self.tr('Create output shapefiles'), False) shape.isAdvanced = True self.addParameter(shape) align = ParameterBoolean( self.ALIGN, self.tr('Align output grid to the input extent'), False) align.isAdvanced = True self.addParameter(align) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Clip Data') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'))) self.addParameter(ParameterExtent(self.EXTENT, self.tr('Extent'))) self.addParameter(ParameterSelection( self.SHAPE, self.tr('Shape'), ['Rectangle', 'Circle'])) self.addOutput(OutputFile( self.OUTPUT, self.tr('Output clipped LAS file'))) dtm = ParameterFile( self.DTM, self.tr('Ground file for height normalization')) dtm.isAdvanced = True self.addParameter(dtm) height = ParameterBoolean( self.HEIGHT, self.tr("Convert point elevations into heights above ground (used with the above command)"), False) height.isAdvanced = True self.addParameter(height) self.addAdvancedModifiers()
def defineCharacteristics(self): """Algorithme variable and parameters parameters""" CholeAlgorithm.defineCharacteristics(self) # The name/group that the user will see in the toolbox self.group = 'util' self.i18n_group = self.tr('util') self.name = 'search and replace' self.i18n_name = self.tr('search and replace') # === INPUT PARAMETERS === self.addParameter( ParameterRaster(name=self.INPUT_LAYER_ASC, description=self.tr('Input layer asc'))) self.addParameter( ParameterFileCSVTXT(name=self.MAP_CSV, description=self.tr('CSV Map'), isFolder=False, optional=True)) #ext='csv' self.addParameter( ParameterString( name=self.CHANGES, description=self.tr('Values to search and replace'))) self.addParameter( ParameterNumber(name=self.NODATA_VALUE, description=self.tr('Nodata value'), default=-1)) # === OUTPUT PARAMETERS === self.addOutput( OutputFile(name=self.SAVE_PROPERTIES, description=self.tr('Properties file'), ext='properties')) self.addOutput( ASCOutputRaster(name=self.OUTPUT_ASC, description=self.tr('Output ascii (*.asc)')))
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Grid Surface Create') self.group, self.i18n_group = self.trAlgorithm('Surface') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'),optional=False)) self.addParameter(ParameterNumber( self.CELLSIZE, self.tr('Cellsize'), 0, None, 10.0)) self.addParameter(ParameterSelection( self.XYUNITS, self.tr('XY Units'), self.UNITS)) self.addParameter(ParameterSelection( self.ZUNITS, self.tr('Z Units'), self.UNITS)) self.addOutput(OutputFile( self.OUTPUT_DTM, self.tr('Output PLANS DTM Surface'), 'dtm')) spike = ParameterNumber( self.SPIKE, self.tr('Filter final surface to remove spikes with slopes greater than # percent'), 0, None, 0.0) spike.isAdvanced = True self.addParameter(spike) median = ParameterNumber( self.MEDIAN, self.tr('Apply median filter to model using # by # neighbor window'), 0, None, 0.0) median.isAdvanced = True self.addParameter(median) smooth = ParameterNumber( self.SMOOTH, self.tr('Apply mean filter to model using # by # neighbor window'), 0, None, 0.0) smooth.isAdvanced = True self.addParameter(smooth) slope = ParameterNumber( self.SLOPE, self.tr('Filter areas from the surface with slope greater than # percent'), 0, None, 0.0) slope.isAdvanced = True self.addParameter(slope) minimum = ParameterBoolean( self.MINIMUM, self.tr('Use the lowest point in each cell as the surface elevation'), False) minimum.isAdvanced = True self.addParameter(minimum) class_var = ParameterString( self.CLASS, self.tr('Class'), '', False, True) class_var.isAdvanced = True self.addParameter(class_var) advance_modifiers = ParameterString( self.ADVANCED_MODIFIERS, self.tr('Additional modifiers'), '', False, True) advance_modifiers.isAdvanced = True self.addParameter(advance_modifiers)
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Density Metrics') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'), optional=False)) self.addParameter(ParameterFile( self.GROUND, self.tr('Input ground PLANS DTM layer'), optional=False)) self.addParameter(ParameterNumber( self.CELLSIZE, self.tr('Cellsize'), 0, None, 5.0)) self.addParameter(ParameterNumber( self.SLICE, self.tr('Slice thickness'), 0, None, 2.0)) self.addParameter(ParameterNumber( self.HTLIM, self.tr('Maximum height limit'), 0, None, 50.0)) self.addParameter(ParameterBoolean( self.FIRST, self.tr('Use only first returns'), False)) self.addParameter(ParameterBoolean( self.NOCSV, self.tr('Do not create a CSV output file for cell metrics'), False)) self.addOutput(OutputFile( self.OUTPUT, self.tr('Base name for output files'))) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name = 'Cloud Metrics' self.group = 'Points' self.addParameter(ParameterFile(self.INPUT, 'Input las layer')) self.addOutput( OutputFile(self.OUTPUT, 'Output file with tabular metric information', 'dtm')) above = ParameterString(self.ABOVE, 'Above', '', False) above.isAdvanced = True self.addParameter(above) firstImpulse = ParameterBoolean(self.FIRSTIMPULSE, 'First Impulse', False) firstImpulse.isAdvanced = True self.addParameter(firstImpulse) firstReturn = ParameterBoolean(self.FIRSTRETURN, 'First Return', False) firstReturn.isAdvanced = True self.addParameter(firstReturn) htmin = ParameterString(self.HTMIN, 'Htmin', '', False, True) htmin.isAdvanced = True self.addParameter(htmin)
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm( 'Stream Drop Analysis (multifile)') self.cmdName = 'dropanalysis' self.group, self.i18n_group = self.trAlgorithm( 'Stream Network Analysis tools') self.addParameter( ParameterFile(self.D8_CONTRIB_AREA_GRID, self.tr('D8 Contributing Area Grid'), True, False)) self.addParameter( ParameterFile(self.D8_FLOW_DIR_GRID, self.tr('D8 Flow Direction Grid'), True, False)) self.addParameter( ParameterFile(self.PIT_FILLED_GRID, self.tr('Pit Filled Elevation Grid'), True, False)) self.addParameter( ParameterFile(self.ACCUM_STREAM_SOURCE_GRID, self.tr('Accumulated Stream Source Grid'), True, False)) self.addParameter( ParameterVector(self.OUTLETS_SHAPE, self.tr('Outlets Shapefile'), [ParameterVector.VECTOR_TYPE_POINT], False)) self.addParameter( ParameterNumber(self.MIN_TRESHOLD, self.tr('Minimum Threshold'), 0, None, 5)) self.addParameter( ParameterNumber(self.MAX_THRESHOLD, self.tr('Maximum Threshold'), 0, None, 500)) self.addParameter( ParameterNumber(self.TRESHOLD_NUM, self.tr('Number of Threshold Values'), 0, None, 10)) self.addParameter( ParameterSelection(self.STEP_TYPE, self.tr('Spacing for Threshold Values'), self.STEPS, 0)) self.addOutput( OutputFile(self.DROP_ANALYSIS_FILE, self.tr('D-Infinity Drop to Stream Grid')))
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Grid Surface Stats') self.group, self.i18n_group = self.trAlgorithm('Surface') self.addParameter( ParameterFile(self.INPUT, self.tr('Input PLANS DTM canopy height model'), optional=False)) self.addParameter( ParameterNumber(self.SAFACT, self.tr('Multiplier for outputfile cell size'), 0, None, 1.0)) self.addOutput(OutputFile(self.OUTPUT, self.tr('Output file'))) area = ParameterBoolean( self.AREA, self. tr('Compute the surface area of inputfile instead of the surface area divided by the flat cell area' ), False) area.isAdvanced = True self.addParameter(area) ascii = ParameterBoolean( self.ASCII, self. tr('Output all files in ASCII raster format instead of PLANS DTM ones' ), False) ascii.isAdvanced = True self.addParameter(ascii) svonly = ParameterBoolean( self.SVONLY, self.tr('Output only the surface volume metric layer'), False) svonly.isAdvanced = True self.addParameter(svonly) ground = ParameterFile( self.GROUND, self. tr('Use the specified surface model to represent the ground surface' ), False, True) ground.isAdvanced = True self.addParameter(ground) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Build virtual vector') self.group, self.i18n_group = self.trAlgorithm('Vector general tools') self.addParameter( ParameterMultipleInput( name=self.INPUT_DATASOURCES, description=self.tr('Input datasources'), datatype=ParameterMultipleInput.TYPE_VECTOR_ANY, optional=False)) self.addParameter( ParameterBoolean(name=self.INPUT_OVERWRITE_FLAG, description=self.tr('Overwrite output vrt'), default=False)) self.addOutput( OutputFile(self.OUTPUT_VRT_FILE, self.tr('Virtual vector'), ext='vrt')) self.addOutput( OutputString(self.OUTPUT_VRT_STRING, self.tr('Virtual string')))
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Cloud Metrics') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'))) self.addOutput(OutputFile( self.OUTPUT, self.tr('Output file with tabular metric information'), 'csv')) above = ParameterString(self.ABOVE, self.tr('Above'), '', False) above.isAdvanced = True self.addParameter(above) firstImpulse = ParameterBoolean( self.FIRSTIMPULSE, self.tr('First Impulse'), False) firstImpulse.isAdvanced = True self.addParameter(firstImpulse) firstReturn = ParameterBoolean( self.FIRSTRETURN, self.tr('First Return'), False) firstReturn.isAdvanced = True self.addParameter(firstReturn) htmin = ParameterString(self.HTMIN, self.tr('Htmin'), '', False, True) htmin.isAdvanced = True self.addParameter(htmin)
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Tin Surface Create') self.group, self.i18n_group = self.trAlgorithm('Surface') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'))) self.addParameter(ParameterNumber(self.CELLSIZE, self.tr('Cellsize'), 0, None, 10.0)) self.addParameter(ParameterSelection(self.XYUNITS, self.tr('XY Units'), self.UNITS)) self.addParameter(ParameterSelection(self.ZUNITS, self.tr('Z Units'), self.UNITS)) self.addOutput(OutputFile(self.OUTPUT, self.tr('.dtm output surface'), 'dtm')) class_var = ParameterString(self.CLASS, self.tr('Class'), '', False, True) class_var.isAdvanced = True self.addParameter(class_var) return_sel = ParameterString(self.RETURN, self.tr('Select specific return'), '', False, True) return_sel.isAdvanced = True self.addParameter(return_sel)
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Catalog') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input LAS layer'), optional=False)) self.addOutput(OutputFile(self.OUTPUT, self.tr('Output files'))) density = ParameterString( self.DENSITY, self.tr('Density - area, min, max (set blank if not used)'), '', False, True) density.isAdvanced = True self.addParameter(density) firest_density = ParameterString( self.FIRSTDENSITY, self.tr('First Density - area, min, max (set blank if not used)'), '', False, True) firest_density.isAdvanced = True self.addParameter(firest_density) intensity = ParameterString( self.INTENSITY, self.tr('Intensity - area, min, max (set blank if not used)'), '', False, True) intensity.isAdvanced = True self.addParameter(intensity) self.addParameter(ParameterBoolean(self.INDEX, self.tr('Create LIDAR data file indexes'), False)) self.addParameter(ParameterBoolean(self.IMAGE, self.tr('Create image files showing the coverage area for each LIDAR file'), False)) self.addParameter(ParameterBoolean(self.DRAWTILES, self.tr('Draw data file extents and names on the intensity image'), False)) self.addParameter(ParameterBoolean(self.COVERAGE, self.tr('Create one image that shows the nominal coverage area'), False)) self.addParameter(ParameterBoolean(self.CRETURNS, self.tr('Adds count return columns in the CSV and HTML output'), False)) advanced_modifiers = ParameterString( self.ADVANCED_MODIFIERS, self.tr('Additional modifiers'), '', False, True) advanced_modifiers.isAdvanced = True self.addParameter(advanced_modifiers)