示例#1
0
    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')))
示例#2
0
    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')))
示例#3
0
 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()
示例#4
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('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()
示例#5
0
    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))
示例#6
0
 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()
示例#7
0
 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()
示例#8
0
 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()
示例#9
0
 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()
示例#10
0
 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()
示例#11
0
 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
示例#12
0
    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))
示例#13
0
 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()
示例#14
0
 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)
示例#15
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')))
        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()
示例#16
0
    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()
示例#17
0
 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()
示例#18
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('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)
示例#19
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()
示例#20
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()
示例#21
0
    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)')))
示例#22
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('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)
示例#23
0
 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()
示例#24
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)
示例#25
0
    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')))
示例#26
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()
示例#27
0
    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')))
示例#28
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)
示例#29
0
 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)
示例#30
0
 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)