Example #1
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()
Example #2
0
 def defineCharacteristics(self):
     self.name = 'Canopy Model'
     self.group = 'Points'
     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'))
     ground = ParameterFile(self.GROUND, 'Input ground DTM layer', False, True)
     ground.isAdvanced = True
     self.addParameter(ground)
     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)
     class_var = ParameterString(self.CLASS, 'Class', '', 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)
Example #3
0
    def testSetValueWithExtension(self):
        parameter = ParameterFile('myName', 'myDesc', ext="png")
        self.assertTrue(parameter.setValue('myFile.png'))
        self.assertEquals(parameter.value, 'myFile.png')

        self.assertFalse(parameter.setValue('myFile.bmp'))
        self.assertEquals(parameter.value, 'myFile.png')
Example #4
0
    def testSetValueWithExtension(self):
        parameter = ParameterFile("myName", "myDesc", ext="png")
        self.assertTrue(parameter.setValue("myFile.png"))
        self.assertEqual(parameter.value, "myFile.png")

        self.assertFalse(parameter.setValue("myFile.bmp"))
        self.assertEqual(parameter.value, "myFile.png")
Example #5
0
    def testScriptCode(self):
        parameter = ParameterFile('myName', 'myDescription')
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterFile)

        parameter.optional = True
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterFile)
        self.assertTrue(result.optional)
Example #6
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()
Example #7
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()
Example #8
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)
     slope = ParameterString(self.SLOPE, self.tr('Slope'), '', False, True)
     slope.isAdvanced = True
     self.addParameter(slope)
     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)
Example #9
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 [optional]')))
        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))
        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.addOutput(
            OutputFile(self.OUTPUT, self.tr('Output file with maxima'), 'csv'))

        self.addAdvancedModifiers()
Example #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('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()
Example #11
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()
Example #12
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()
Example #13
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()
Example #14
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()
Example #15
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()
Example #16
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('Export grid')
     self.group, self.i18n_group = self.trAlgorithm(
         'Mesh and Bed Elevation')
     self.addParameter(
         ParameterFile(self.IN_CF_MESH,
                       self.tr('Crayfish Mesh'),
                       optional=False))
     self.addParameter(
         ParameterNumber(self.IN_CF_MUPP,
                         self.tr('Grid resolution'),
                         default=1))
     self.addParameter(
         ParameterCrs(self.IN_CF_CRS, self.tr('CRS'), default=""))
     self.addOutput(OutputRaster(self.OUT_CF_TIF, self.tr('Mesh grid')))
Example #17
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('lasduplicate')
     self.group, self.i18n_group = self.trAlgorithm('LAStools')
     self.addParametersVerboseGUI()
     self.addParametersPointInputGUI()
     self.addParameter(ParameterBoolean(lasduplicate.LOWEST_Z,
                                        self.tr("keep duplicate with lowest z coordinate"), False))
     self.addParameter(ParameterBoolean(lasduplicate.UNIQUE_XYZ,
                                        self.tr("only remove duplicates in x y and z"), False))
     self.addParameter(ParameterBoolean(lasduplicate.SINGLE_RETURNS,
                                        self.tr("mark surviving duplicate as single return"), False))
     self.addParameter(ParameterFile(lasduplicate.RECORD_REMOVED,
                                     self.tr("record removed duplicates to LAS/LAZ file")))
     self.addParametersPointOutputGUI()
     self.addParametersAdditionalGUI()
Example #18
0
 def defineCharacteristics(self):
     self.name = "shp2las"
     self.group = "LAStools"
     self.addParametersVerboseGUI()
     self.addParameter(
         ParameterFile(shp2las.INPUT, self.tr("Input SHP file")))
     self.addParameter(
         ParameterNumber(shp2las.SCALE_FACTOR_XY,
                         self.tr("resolution of x and y coordinate"), False,
                         False, 0.01))
     self.addParameter(
         ParameterNumber(shp2las.SCALE_FACTOR_Z,
                         self.tr("resolution of z coordinate"), False,
                         False, 0.01))
     self.addParametersPointOutputGUI()
     self.addParametersAdditionalGUI()
Example #19
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'),
                       optional=False))
     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()
Example #20
0
    def defineCharacteristics(self):
        self.name = 'Color relief'
        self.group = '[GDAL] Analysis'
        self.addParameter(ParameterRaster(self.INPUT, 'Input layer'))
        self.addParameter(ParameterNumber(self.BAND, 'Band number', 1, 99, 1))
        self.addParameter(
            ParameterBoolean(self.COMPUTE_EDGES, 'Compute edges', False))
        self.addParameter(
            ParameterFile(self.COLOR_TABLE,
                          'Color configuration file',
                          optional=False))
        self.addParameter(
            ParameterSelection(self.MATCH_MODE, 'Matching mode',
                               self.MATCHING_MODES, 0))

        self.addOutput(OutputRaster(self.OUTPUT, 'Output file'))
Example #21
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('shp2las')
     self.group, self.i18n_group = self.trAlgorithm('LAStools')
     self.addParametersVerboseGUI()
     self.addParameter(
         ParameterFile(shp2las.INPUT, self.tr("Input SHP file")))
     self.addParameter(
         ParameterNumber(shp2las.SCALE_FACTOR_XY,
                         self.tr("resolution of x and y coordinate"), 0,
                         None, 0.01))
     self.addParameter(
         ParameterNumber(shp2las.SCALE_FACTOR_Z,
                         self.tr("resolution of z coordinate"), 0, None,
                         0.01))
     self.addParametersPointOutputGUI()
     self.addParametersAdditionalGUI()
Example #22
0
    def defineCharacteristics(self):
        self.addParameter(ParameterRaster(self.INPUT, self.tr('Input layer')))
        self.addParameter(
            ParameterNumber(self.BAND, self.tr('Band number'), 1, 99, 1))
        self.addParameter(
            ParameterBoolean(self.COMPUTE_EDGES, self.tr('Compute edges'),
                             False))
        self.addParameter(
            ParameterFile(self.COLOR_TABLE,
                          self.tr('Color configuration file'),
                          optional=False))
        self.addParameter(
            ParameterSelection(self.MATCH_MODE, self.tr('Matching mode'),
                               self.MATCHING_MODES, 0))

        self.addOutput(OutputRaster(self.OUTPUT, self.tr('Color relief')))
Example #23
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)
Example #24
0
    def defineCharacteristics(self):
        """Here we define the inputs and output of the algorithm, along
        with some other properties.
        """

        # The name that the user will see in the toolbox
        self.name = 'gpap to vector layers'

        # The branch of the toolbox under which the algorithm will appear
        self.group = 'Import from Geopaparazzi'

        # We add the input vector layer. It can have any kind of geometry
        # It is a mandatory (not optional) one, hence the False argument
        self.addParameter(ParameterFile(self.GPAP_FILE, self.tr('Input gpap'), False, False))
        
        # We add a vector layer as output
        self.addOutput(OutputDirectory(self.OUTPATH,self.tr('Output folder')))
Example #25
0
    def testOptional(self):
        optionalParameter = ParameterFile("myName", "myDesc", optional=True)
        self.assertTrue(optionalParameter.setValue("myFile.png"))
        self.assertEqual(optionalParameter.value, "myFile.png")

        self.assertTrue(optionalParameter.setValue(""))
        self.assertEqual(optionalParameter.value, "")

        self.assertTrue(optionalParameter.setValue(None))
        self.assertEqual(optionalParameter.value, None)

        requiredParameter = ParameterFile("myName", "myDesc", optional=False)
        self.assertTrue(requiredParameter.setValue("myFile.png"))
        self.assertEqual(requiredParameter.value, "myFile.png")

        self.assertFalse(requiredParameter.setValue(""))
        self.assertEqual(requiredParameter.value, "myFile.png")

        self.assertFalse(requiredParameter.setValue("  "))
        self.assertEqual(requiredParameter.value, "myFile.png")

        self.assertFalse(requiredParameter.setValue(None))
        self.assertEqual(requiredParameter.value, "myFile.png")
Example #26
0
    def testOptional(self):
        optionalParameter = ParameterFile('myName', 'myDesc', optional=True)
        self.assertTrue(optionalParameter.setValue('myFile.png'))
        self.assertEquals(optionalParameter.value, 'myFile.png')

        self.assertTrue(optionalParameter.setValue(""))
        self.assertEquals(optionalParameter.value, '')

        self.assertTrue(optionalParameter.setValue(None))
        self.assertEquals(optionalParameter.value, None)

        requiredParameter = ParameterFile('myName', 'myDesc', optional=False)
        self.assertTrue(requiredParameter.setValue('myFile.png'))
        self.assertEquals(requiredParameter.value, 'myFile.png')

        self.assertFalse(requiredParameter.setValue(''))
        self.assertEquals(requiredParameter.value, 'myFile.png')

        self.assertFalse(requiredParameter.setValue('  '))
        self.assertEquals(requiredParameter.value, 'myFile.png')

        self.assertFalse(requiredParameter.setValue(None))
        self.assertEquals(requiredParameter.value, 'myFile.png')
Example #27
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()
Example #28
0
 def defineCharacteristics(self):
     self.name = "txt2las"
     self.group = "LAStools"
     self.addParametersVerboseGUI()
     self.addParameter(ParameterFile(txt2las.INPUT, "Input ASCII file"))
     self.addParameter(
         ParameterString(txt2las.PARSE_STRING, "parse lines as", "xyz"))
     self.addParameter(
         ParameterNumber(txt2las.SKIP, "skip the first n lines", False,
                         False, 0))
     self.addParameter(
         ParameterNumber(txt2las.SCALE_FACTOR_XY,
                         "resolution of x and y coordinate", False, False,
                         0.01))
     self.addParameter(
         ParameterNumber(txt2las.SCALE_FACTOR_Z,
                         "resolution of z coordinate", False, False, 0.01))
     self.addParametersPointOutputGUI()
Example #29
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()
Example #30
0
 def defineCharacteristics(self):
     self.name = "lasmerge"
     self.group = "LAStools"
     self.addParametersVerboseGUI()
     self.addParametersFilesAreFlightlinesGUI()
     self.addParametersPointInputGUI()
     self.addParameter(ParameterFile(lasmerge.FILE2, "2nd file"))
     self.addParameter(ParameterFile(lasmerge.FILE3, "3rd file"))
     self.addParameter(ParameterFile(lasmerge.FILE4, "4th file"))
     self.addParameter(ParameterFile(lasmerge.FILE5, "5th file"))
     self.addParameter(ParameterFile(lasmerge.FILE6, "6th file"))
     self.addParameter(ParameterFile(lasmerge.FILE7, "7th file"))
     self.addParametersPointOutputGUI()
Example #31
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)
Example #32
0
 def defineCharacteristics(self):
     self.name = "lasduplicate"
     self.group = "LAStools"
     self.addParametersVerboseGUI()
     self.addParametersPointInputGUI()
     self.addParameter(
         ParameterBoolean(lasduplicate.LOWEST_Z,
                          "keep duplicate with lowest z coordinate", False))
     self.addParameter(
         ParameterBoolean(lasduplicate.UNIQUE_XYZ,
                          "only remove duplicates in x y and z", False))
     self.addParameter(
         ParameterBoolean(lasduplicate.SINGLE_RETURNS,
                          "mark surviving duplicate as single return",
                          False))
     self.addParameter(
         ParameterFile(lasduplicate.RECORD_REMOVED,
                       "record removed duplictates to LAS/LAZ file"))
     self.addParametersPointOutputGUI()
Example #33
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)
Example #34
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)
Example #35
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('lasmerge')
     self.group, self.i18n_group = self.trAlgorithm('LAStools')
     self.addParametersVerboseGUI()
     self.addParametersFilesAreFlightlinesGUI()
     self.addParametersApplyFileSourceIdGUI()
     self.addParametersPointInputGUI()
     self.addParameter(ParameterFile(lasmerge.FILE2, self.tr("2nd file")))
     self.addParameter(ParameterFile(lasmerge.FILE3, self.tr("3rd file")))
     self.addParameter(ParameterFile(lasmerge.FILE4, self.tr("4th file")))
     self.addParameter(ParameterFile(lasmerge.FILE5, self.tr("5th file")))
     self.addParameter(ParameterFile(lasmerge.FILE6, self.tr("6th file")))
     self.addParameter(ParameterFile(lasmerge.FILE7, self.tr("7th file")))
     self.addParametersPointOutputGUI()
     self.addParametersAdditionalGUI()
Example #36
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)
Example #37
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)
Example #38
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('lasdiff')
     self.group, self.i18n_group = self.trAlgorithm('LAStools')
     self.addParametersVerboseGUI()
     self.addParametersPointInputGUI()
     self.addParameter(
         ParameterFile(lasdiff.OTHER_POINT_FILE,
                       self.tr("other input LAS/LAZ file"), False, False))
     self.addParameter(
         ParameterSelection(
             lasdiff.SHUTUP,
             self.tr("stop reporting difference after this many points"),
             lasdiff.SHUTUP_AFTER, 0))
     self.addParameter(
         ParameterBoolean(
             lasdiff.CREATE_DIFFERENCE_FILE,
             self.
             tr("create elevation difference file (if points are in the same order)"
                ), False))
     self.addParametersPointOutputGUI()
     self.addParametersAdditionalGUI()
Example #39
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('laspublishPro')
     self.group, self.i18n_group = self.trAlgorithm('LAStools Production')
     self.addParametersVerboseGUI()
     self.addParametersPointInputFolderGUI()
     self.addParameter(
         ParameterSelection(laspublishPro.MODE, self.tr("type of portal"),
                            laspublishPro.MODES, 1))
     self.addParameter(
         ParameterBoolean(laspublishPro.USE_EDL,
                          self.tr("use Eye Dome Lighting (EDL)"), True))
     self.addParameter(
         ParameterBoolean(laspublishPro.SHOW_SKYBOX, self.tr("show Skybox"),
                          True))
     self.addParameter(
         ParameterSelection(laspublishPro.MATERIAL,
                            self.tr("default material colors on start-up"),
                            laspublishPro.MATERIALS, 0))
     self.addParameter(
         ParameterFile(laspublishPro.PORTAL_DIRECTORY,
                       self.tr("portal output directory"), True, False))
     self.addParameter(
         ParameterSelection(
             laspublishPro.COPY_OR_MOVE,
             self.
             tr("copy or move source LiDAR files into portal (only for download portals)"
                ), laspublishPro.COPY_OR_MOVE_OPTIONS, 2))
     self.addParameter(
         ParameterBoolean(laspublishPro.OVERWRITE_EXISTING,
                          self.tr("overwrite existing files"), True))
     self.addParameter(
         ParameterString(laspublishPro.PORTAL_HTML_PAGE,
                         self.tr("portal HTML page"), "portal.html", False))
     self.addParameter(
         ParameterString(laspublishPro.PORTAL_TITLE,
                         self.tr("portal title"), "My LiDAR Portal"))
     self.addParameter(
         ParameterString(laspublishPro.PORTAL_DESCRIPTION,
                         self.tr("portal description")))
     self.addParametersAdditionalGUI()
Example #40
0
    def defineCharacteristics(self):
        self.name = "Create raster dataset from LAS(Z) data point cloud(s)"
        self.group = "[pktools] LiDAR"

        self.addParameter(
            ParameterFile(self.INPUT, "Input LAS(Z) data set(s)", False,
                          False))

        self.addParameter(
            ParameterSelection(self.ATTRIBUTE,
                               "name of the point attribute to select",
                               self.ATTRIBUTE_OPTIONS, 0))
        self.addParameter(
            ParameterSelection(self.COMPOSITE,
                               "composite for multiple points in cell",
                               self.COMPOSITE_OPTIONS, 0))
        self.addParameter(
            ParameterSelection(self.FILTER, "filter las points",
                               self.FILTER_OPTIONS, 0))
        self.addOutput(OutputRaster(self.OUTPUT, "Output raster data set"))
        self.addParameter(
            ParameterSelection(self.RTYPE, 'Output raster type', self.TYPE, 0))
        self.addParameter(
            ParameterNumber(self.PERCENTILE,
                            "Percentile value used for rule percentile", 0.0,
                            100.0, 95))
        self.addParameter(
            ParameterNumber(self.DX, "Output resolution in x", 0.0, None, 1.0))
        self.addParameter(
            ParameterNumber(self.DY, "Output resolution in y", 0.0, None, 1.0))
        # self.addParameter(ParameterExtent(self.PROJWIN,
        #                   'Georeferenced boundingbox'))
        self.addParameter(
            ParameterNumber(self.NODATA, "nodata value to put in image", 0,
                            None, 0))
        self.addParameter(
            ParameterString(self.EXTRA,
                            'Additional parameters',
                            '-of GTiff',
                            optional=True))
Example #41
0
 def testSetValue(self):
     parameter = ParameterFile('myName', 'myDesc')
     self.assertTrue(parameter.setValue('myFile.png'))
     self.assertEquals(parameter.value, 'myFile.png')
Example #42
0
 def testSetValue(self):
     parameter = ParameterFile("myName", "myDesc")
     self.assertTrue(parameter.setValue("myFile.png"))
     self.assertEqual(parameter.value, "myFile.png")
Example #43
0
 def testGetValueAsCommandLineParameter(self):
     parameter = ParameterFile("myName", "myDesc")
     parameter.setValue("myFile.png")
     self.assertEqual(parameter.getValueAsCommandLineParameter(), '"myFile.png"')