Пример #1
0
    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()
Пример #2
0
    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()
Пример #3
0
    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()
Пример #4
0
    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()
Пример #5
0
    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()
Пример #6
0
 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)
Пример #7
0
 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()
Пример #8
0
 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)
Пример #9
0
    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()
Пример #10
0
 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()
Пример #11
0
 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()
Пример #12
0
    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)
Пример #13
0
 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)
Пример #14
0
 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)
Пример #15
0
 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)
Пример #16
0
 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)
Пример #17
0
    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()
Пример #18
0
 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)
Пример #19
0
 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)
Пример #20
0
    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)
Пример #21
0
 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()
Пример #22
0
    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)
Пример #23
0
 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()
Пример #24
0
    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()
Пример #25
0
 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()