def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Return Density') 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.addOutput(OutputFile(self.OUTPUT, self.tr('Output file'))) first = ParameterBoolean( self.FIRST, self.tr('Use only first returns when computing return counts'), False) first.isAdvanced = True self.addParameter(first) ascii = ParameterBoolean( self.ASCII, self. tr('Output raster data in ASCII raster format instead of PLANS DTM format' ), False) ascii.isAdvanced = True self.addParameter(ascii) class_var = ParameterString(self.CLASS, self.tr('LAS class'), '', False, True) class_var.isAdvanced = True self.addParameter(class_var) self.addAdvancedModifiers()
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('Topographic Metrics') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile( self.INPUT, self.tr('Input PLANS DTM surface files'),optional=False)) self.addOutput(OutputFile( self.OUTPUT, self.tr('Output file'))) self.addParameter(ParameterNumber( self.CELLSIZE, self.tr('Size of the cell used to report topographic metrics'), 0, None, 5.0)) self.addParameter(ParameterNumber( self.POINTSP, self.tr('Spacing for the 3 by 3 array of points used to compute the metrics'), 0, None, 0.0)) self.addParameter(ParameterNumber( self.LATITUDE, self.tr('Latitude'), 2, None, 45.0)) self.addParameter(ParameterNumber( self.TPI, self.tr('TPI window size'), 0, None, 5.0)) square = ParameterBoolean( self.SQUARE, self.tr('Use a square window for TPI'), False) square.isAdvanced = True self.addParameter(square) disk = ParameterBoolean( self.DISK, self.tr('Do not load ground surface models into memory'), False) disk.isAdvanced = True self.addParameter(disk) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Canopy Maxima') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter( ParameterFile(self.INPUT, self.tr('Input PLANS DTM canopy height model'), optional=False)) self.addParameter( ParameterFile(self.GROUND, self.tr('Input ground PLANS DTM layer'))) self.addParameter( ParameterNumber( self.THRESHOLD, self.tr('Limit analysis to areas above this height threshold'), 0, None, 10.0)) self.addParameter( ParameterNumber(self.PARAM_A, self.tr('Variable window size: parameter A'), 0, None, 2.51503)) self.addParameter( ParameterNumber(self.PARAM_C, self.tr('Parameter C'), 0, None, 0.00901)) self.addOutput( OutputFile(self.OUTPUT, self.tr('Output file with maxima'), 'csv')) summary = ParameterBoolean(self.SUMMARY, self.tr('Tree height summary statistics'), False) summary.isAdvanced = True self.addParameter(summary) shape = ParameterBoolean(self.SHAPE, self.tr('Create output shapefiles'), False) shape.isAdvanced = True self.addParameter(shape) self.addAdvancedModifiers()
def defineCharacteristics(self): self.name, self.i18n_name = self.trAlgorithm('Merge PLANS DTM files') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter( ParameterFile(self.INPUT, self.tr('Input PLANS DTM files'), optional=False)) self.addOutput(OutputFile(self.OUTPUT, self.tr('Output merged file'))) cellsize = ParameterNumber( self.CELLSIZE, self.tr('Resample the input DTM data to the following cellsize'), 0, None, 0.0) cellsize.isAdvanced = True self.addParameter(cellsize) extent = ParameterBoolean( self.EXTENT, self.tr('Preserve the exact extent of the input models'), False) extent.isAdvanced = True self.addParameter(extent) disk = ParameterBoolean( self.DISK, self. tr('Merge the files to a disk file. USE ONLY IF DEFAULT METHOD FAILS' ), False) disk.isAdvanced = True self.addParameter(disk) self.addAdvancedModifiers()
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'), optional=False)) self.addOutput( OutputFile(self.OUTPUT, self.tr('Output file with tabular metric information'), 'csv')) above = ParameterNumber( self.ABOVE, self.tr( 'Compute cover statistics above the following heightbreak:'), 0, None, 0.0) 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) minht = ParameterNumber( self.MINHT, self.tr('Use only returns above this minimum height:'), 0, None, 0.0) minht.isAdvanced = True self.addParameter(minht)
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('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')) 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.ASPECT, self.tr('Calculate aspect'), False) aspec.isAdvanced = True self.addParameter(aspect) self.addParameter( ParameterBoolean(self.ASCII, self.tr('Add an ASCII output'), False)) 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("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")) 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('IntensityImage') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter( ParameterFile(self.INPUT, self.tr('Input file'), optional=False)) 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'])) falign = ParameterBoolean( self.FALIGN, self.tr('Force alignment to match other raster products'), False) falign.isAdvanced = True self.addParameter(falign) self.addOutput(OutputFile(self.OUTPUT, 'Output image')) 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"))) 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")) ground = ParameterFile(self.GROUND, self.tr("Input ground 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("Class"), "", False, True) class_var.isAdvanced = True self.addParameter(class_var) slope = ParameterBoolean(self.SLOPE, self.tr("Calculate slope"), False) slope.isAdvanced = True self.addParameter(slope) self.addParameter(ParameterBoolean(self.ASCII, self.tr("Add an ASCII output"), False)) 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'), optional=False)) self.addParameter( ParameterExtent(self.EXTENT, self.tr('Extent'), optional=False)) self.addParameter( ParameterSelection(self.SHAPE, self.tr('Shape of the sample area'), ['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): self.name, self.i18n_name = self.trAlgorithm("Grid Metrics") self.group, self.i18n_group = self.trAlgorithm("Points") self.addParameter(ParameterFile(self.INPUT, self.tr("Input LAS layer"))) self.addParameter(ParameterFile(self.GROUND, self.tr("Input ground DTM layer"))) self.addParameter(ParameterNumber(self.HEIGHT, self.tr("Height break"))) self.addParameter(ParameterNumber(self.CELLSIZE, self.tr("Cell Size"))) self.addOutput(OutputFile(self.OUTPUT_CSV_ELEVATION, self.tr("Output table with grid metrics"))) output_csv_intensity = OutputFile(self.OUTPUT_CSV_INTENSITY, self.tr("OUTPUT CSV INTENSITY")) output_csv_intensity.hidden = True self.addOutput(output_csv_intensity) output_txt_elevation = OutputFile(self.OUTPUT_TXT_ELEVATION, self.tr("OUTPUT CSV INTENSITY")) output_txt_elevation.hidden = True self.addOutput(output_txt_elevation) output_txt_intensity = OutputFile(self.OUTPUT_TXT_INTENSITY, self.tr("OUTPUT CSV INTENSITY")) output_txt_intensity.hidden = True self.addOutput(output_txt_intensity) outlier = ParameterString(self.OUTLIER, self.tr("Outlier:low,high"), "", False, True) outlier.isAdvanced = True self.addParameter(outlier) first = ParameterBoolean(self.FIRST, self.tr("First"), False) first.isAdvanced = True self.addParameter(first) minht = ParameterString(self.MINHT, self.tr("Htmin"), "", False, True) minht.isAdvanced = True self.addParameter(minht) class_var = ParameterString(self.CLASS, self.tr("Class (set blank if not used)"), "", False, True) class_var.isAdvanced = True self.addParameter(class_var)
def defineCharacteristics(self): self.name = 'Grid Surface Create' self.group = 'Surface' self.addParameter(ParameterFile(self.INPUT, 'Input las layer')) self.addParameter(ParameterNumber(self.CELLSIZE, 'Cellsize', 0, None, 10.0)) self.addParameter(ParameterSelection(self.XYUNITS, 'XY Units', self.UNITS)) self.addParameter(ParameterSelection(self.ZUNITS, 'Z Units', self.UNITS)) self.addOutput(OutputFile(self.OUTPUT_DTM, 'DTM Output Surface', 'dtm')) spike = ParameterString(self.SPIKE, 'Spike (set blank if not used)', '', False, True) spike.isAdvanced = True self.addParameter(spike) median = ParameterString(self.MEDIAN, 'Median', '', False, True) median.isAdvanced = True self.addParameter(median) smooth = ParameterString(self.SMOOTH, 'Smooth', '', False, True) smooth.isAdvanced = True self.addParameter(smooth) slope = ParameterString(self.SLOPE, 'Slope', '', False, True) slope.isAdvanced = True self.addParameter(slope) minimum = ParameterBoolean(self.MINIMUM, 'Minimum (set blank if not used)', False) minimum.isAdvanced = True self.addParameter(minimum) class_var = ParameterString(self.CLASS, 'Class(es)', 2, False, True) class_var.isAdvanced = True self.addParameter(class_var) advance_modifiers = ParameterString(self.ADVANCED_MODIFIERS, 'Additional modifiers', '', False, True) advance_modifiers.isAdvanced = True self.addParameter(advance_modifiers)
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('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 = 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(es)'), '', 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 = '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 = '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('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('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('Grid Metrics') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter(ParameterFile(self.INPUT, self.tr('Input LAS layer'))) self.addParameter( ParameterFile(self.GROUND, self.tr('Input ground DTM layer'))) self.addParameter(ParameterNumber(self.HEIGHT, self.tr('Height break'))) self.addParameter(ParameterNumber(self.CELLSIZE, self.tr('Cellsize'))) self.addOutput( OutputFile(self.OUTPUT_CSV_ELEVATION, self.tr('Output table with grid metrics'))) output_csv_intensity = OutputFile(self.OUTPUT_CSV_INTENSITY, self.tr('OUTPUT CSV INTENSITY')) output_csv_intensity.hidden = True self.addOutput(output_csv_intensity) output_txt_elevation = OutputFile(self.OUTPUT_TXT_ELEVATION, self.tr('OUTPUT CSV INTENSITY')) output_txt_elevation.hidden = True self.addOutput(output_txt_elevation) output_txt_intensity = OutputFile(self.OUTPUT_TXT_INTENSITY, self.tr('OUTPUT CSV INTENSITY')) output_txt_intensity.hidden = True self.addOutput(output_txt_intensity) outlier = ParameterString(self.OUTLIER, self.tr('Outlier:low,high'), '', False, True) outlier.isAdvanced = True self.addParameter(outlier) first = ParameterBoolean(self.FIRST, self.tr('First'), False) first.isAdvanced = True self.addParameter(first) minht = ParameterString(self.MINHT, self.tr('Htmin'), '', False, True) minht.isAdvanced = True self.addParameter(minht) class_var = ParameterString(self.CLASS, self.tr('Class (set blank if not used)'), '', False, True) class_var.isAdvanced = True self.addParameter(class_var)
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"), optional=False)) 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): self.name = 'Grid Metrics' self.group = 'Points' self.addParameter(ParameterFile( self.INPUT, self.tr('Input las layer'))) self.addParameter(ParameterFile( self.GROUND, self.tr('Input ground DTM layer'))) self.addParameter(ParameterNumber( self.HEIGHT, self.tr('Height break'))) self.addParameter(ParameterNumber( self.CELLSIZE, self.tr('Cellsize'))) self.addOutput(OutputFile( self.OUTPUT_CSV_ELEVATION, self.tr('Output table with grid metrics'))) output_csv_intensity = OutputFile( self.OUTPUT_CSV_INTENSITY, self.tr('OUTPUT CSV INTENSITY')) output_csv_intensity.hidden = True self.addOutput(output_csv_intensity) output_txt_elevation = OutputFile( self.OUTPUT_TXT_ELEVATION, self.tr('OUTPUT CSV INTENSITY')) output_txt_elevation.hidden = True self.addOutput(output_txt_elevation) output_txt_intensity = OutputFile( self.OUTPUT_TXT_INTENSITY, self.tr('OUTPUT CSV INTENSITY')) output_txt_intensity.hidden = True self.addOutput(output_txt_intensity) outlier = ParameterString( self.OUTLIER, self.tr('Outlier:low,high'), '', False, True) outlier.isAdvanced = True self.addParameter(outlier) first = ParameterBoolean(self.FIRST, self.tr('First'), False) first.isAdvanced = True self.addParameter(first) minht = ParameterString(self.MINHT, self.tr('Htmin'), '', False, True) minht.isAdvanced = True self.addParameter(minht) class_var = ParameterString( self.CLASS, self.tr('Class (set blank if not used)'), '', False, True) class_var.isAdvanced = True self.addParameter(class_var)
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): self.name, self.i18n_name = self.trAlgorithm('Merge ASCII files') self.group, self.i18n_group = self.trAlgorithm('Points') self.addParameter( ParameterFile(self.INPUT, self.tr('Input ASCII files'), optional=False)) self.addOutput(OutputFile(self.OUTPUT, self.tr('Output file'), 'asc')) overl = ParameterString( self.OVERL, self.tr('Specify how overlap areas should be treated'), '', False, True) overl.isAdvanced = True self.addParameter(overl) comp = ParameterBoolean( self.COMP, self.tr( 'Compare values in cells common to two or more input files'), False) comp.isAdvanced = True self.addParameter(comp) 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'))) 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')) ground = ParameterFile( self.GROUND, self.tr('Input ground 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('Class'), '', False, True) class_var.isAdvanced = True self.addParameter(class_var) slope = ParameterBoolean( self.SLOPE, self.tr('Calculate slope'), False) slope.isAdvanced = True self.addParameter(slope) self.addParameter(ParameterBoolean( self.ASCII, self.tr('Add an ASCII output'), False)) self.addAdvancedModifiers()