예제 #1
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)
예제 #2
0
    def testScriptCode(self):
        parameter = ParameterString('myName', 'myDescription', default='test')
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertEqual(result.default, parameter.default)

        parameter.default = None
        parameter.optional = True
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertTrue(result.optional)
        self.assertEqual(result.default, parameter.default)

        parameter.default = 'None'
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertTrue(result.optional)
        self.assertEqual(result.default, parameter.default)

        parameter.default = 'It\'s Mario'
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertTrue(result.optional)
        self.assertEqual(result.default, parameter.default)
예제 #3
0
    def testScriptCode(self):
        parameter = ParameterString("myName", "myDescription", default="test")
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertEqual(result.default, parameter.default)

        parameter.default = None
        parameter.optional = True
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertTrue(result.optional)
        self.assertEqual(result.default, parameter.default)

        parameter.default = "None"
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertTrue(result.optional)
        self.assertEqual(result.default, parameter.default)

        parameter.default = "It's Mario"
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertIsInstance(result, ParameterString)
        self.assertTrue(result.optional)
        self.assertEqual(result.default, parameter.default)
예제 #4
0
    def testScriptCode(self):
        parameter = ParameterString('myName', 'myDescription', default='test')
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertTrue(isinstance(result, ParameterString))

        parameter.optional = True
        code = parameter.getAsScriptCode()
        result = getParameterFromString(code)
        self.assertTrue(isinstance(result, ParameterString))
        self.assertTrue(result.optional)
예제 #5
0
 def defineCharacteristics(self):
     self.name = 'Tin 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'))
     class_var = ParameterString(self.CLASS, 'Class', 2, False, True)
     class_var.isAdvanced = True
     self.addParameter(class_var)
예제 #6
0
파일: Catalog.py 프로젝트: wonder-sk/QGIS
 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')))
     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)
     advanced_modifiers = ParameterString(
         self.ADVANCED_MODIFIERS,
         self.tr('Additional modifiers'), '', False, True)
     advanced_modifiers.isAdvanced = True
     self.addParameter(advanced_modifiers)
예제 #7
0
    def testOptional(self):
        optionalParameter = ParameterString('myName', 'myDesc', default='test', optional=True)
        self.assertEqual(optionalParameter.value, 'test')
        optionalParameter.setValue('check')
        self.assertEqual(optionalParameter.value, 'check')
        self.assertTrue(optionalParameter.setValue(None))
        self.assertEqual(optionalParameter.value, '')

        requiredParameter = ParameterCrs('myName', 'myDesc', default='test', optional=False)
        self.assertEqual(requiredParameter.value, 'test')
        requiredParameter.setValue('check')
        self.assertEqual(requiredParameter.value, 'check')
        self.assertFalse(requiredParameter.setValue(None))
        self.assertEqual(requiredParameter.value, 'check')
예제 #8
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("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, 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)
예제 #9
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)
예제 #10
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_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)
예제 #11
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)
예제 #12
0
    def testOptional(self):
        optionalParameter = ParameterString("myName", "myDesc", default="test", optional=True)
        self.assertEqual(optionalParameter.value, "test")
        optionalParameter.setValue("check")
        self.assertEqual(optionalParameter.value, "check")
        self.assertTrue(optionalParameter.setValue(None))
        self.assertEqual(optionalParameter.value, None)

        requiredParameter = ParameterString("myName", "myDesc", default="test", optional=False)
        self.assertEqual(requiredParameter.value, "test")
        requiredParameter.setValue("check")
        self.assertEqual(requiredParameter.value, "check")
        self.assertFalse(requiredParameter.setValue(None))
        self.assertEqual(requiredParameter.value, "check")
예제 #13
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()
예제 #14
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)
예제 #15
0
파일: Catalog.py 프로젝트: ACorradini/QGIS
 def defineCharacteristics(self):
     self.name = 'Catalog'
     self.group = 'Points'
     self.addParameter(ParameterFile(self.INPUT, 'Input las layer'))
     self.addOutput(OutputFile(self.OUTPUT, 'Output files'))
     density = ParameterString(self.DENSITY, 'Density - area, min, max (set blank if not used)', '', False, True)
     density.isAdvanced = True
     self.addParameter(density)
     firest_density = ParameterString(self.FIRSTDENSITY, 'First Density - area, min, max (set blank if not used)', '', False, True)
     firest_density.isAdvanced = True
     self.addParameter(firest_density)
     intensity = ParameterString(self.INTENSITY, 'Intensity - area, min, max (set blank if not used)', '', False, True)
     intensity.isAdvanced = True
     self.addParameter(intensity)
     advanced_modifiers = ParameterString(self.ADVANCED_MODIFIERS, 'Additional modifiers', '', False, True)
     advanced_modifiers.isAdvanced = True
     self.addParameter(advanced_modifiers)
예제 #16
0
파일: GridMetrics.py 프로젝트: Ariki/QGIS
    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)
예제 #17
0
파일: CanopyModel.py 프로젝트: Gustry/QGIS
 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()
예제 #18
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')))
     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)
     advanced_modifiers = ParameterString(self.ADVANCED_MODIFIERS,
                                          self.tr('Additional modifiers'),
                                          '', False, True)
     advanced_modifiers.isAdvanced = True
     self.addParameter(advanced_modifiers)
예제 #19
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)
예제 #20
0
 def testSetValue(self):
     parameter = ParameterString('myName', 'myDescription')
     self.assertTrue(parameter.setValue('test'))
     self.assertEqual(parameter.value, 'test')
예제 #21
0
    def __init__(self):
        super().__init__()
        self.addParameter(
            ParameterRaster(self.INPUT, self.tr('Input layer'), False))
        self.addParameter(
            ParameterCrs(self.SOURCE_SRS,
                         self.tr('Source SRS'),
                         '',
                         optional=True))
        self.addParameter(
            ParameterCrs(self.DEST_SRS, self.tr('Destination SRS'),
                         'EPSG:4326'))
        self.addParameter(
            ParameterString(
                self.NO_DATA,
                self.
                tr("Nodata value, leave blank to take the nodata value from input"
                   ),
                '',
                optional=True))
        self.addParameter(
            ParameterNumber(
                self.TR,
                self.
                tr('Output file resolution in target georeferenced units (leave 0 for no change)'
                   ), 0.0, None, 0.0))
        self.addParameter(
            ParameterSelection(self.METHOD, self.tr('Resampling method'),
                               self.METHOD_OPTIONS))
        self.addParameter(
            ParameterBoolean(
                self.USE_RASTER_EXTENT,
                self.tr('Set georeferenced extents of output file'), False))
        self.addParameter(
            ParameterExtent(self.RASTER_EXTENT,
                            self.tr('Raster extent'),
                            optional=True))
        self.addParameter(
            ParameterCrs(
                self.EXTENT_CRS,
                self.
                tr('CRS of the raster extent, leave blank for using Destination SRS'
                   ),
                optional=True))
        self.addParameter(
            ParameterString(
                self.OPTIONS,
                self.tr('Additional creation options'),
                optional=True,
                metadata={
                    'widget_wrapper':
                    'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'
                }))
        self.addParameter(
            ParameterBoolean(
                self.MULTITHREADING,
                self.tr('Use multithreaded warping implementation'), False))
        self.addParameter(
            ParameterSelection(self.RTYPE, self.tr('Output raster type'),
                               self.TYPE, 5))

        self.addOutput(OutputRaster(self.OUTPUT, self.tr('Reprojected')))
예제 #22
0
 def testSetValue(self):
     parameter = ParameterString('myName', 'myDescription')
     self.assertTrue(parameter.setValue('test'))
     self.assertEqual(parameter.value, 'test')
예제 #23
0
 def __init__(self):
     super().__init__()
     self.addParameter(
         ParameterVector(self.INPUT, self.tr('Layer to import')))
     self.addParameter(
         ParameterString(
             self.DATABASE,
             self.tr('Database (connection name)'),
             metadata={
                 'widget_wrapper': {
                     'class':
                     'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'
                 }
             }))
     self.addParameter(
         ParameterString(
             self.SCHEMA,
             self.tr('Schema (schema name)'),
             'public',
             optional=True,
             metadata={
                 'widget_wrapper': {
                     'class':
                     'processing.gui.wrappers_postgis.SchemaWidgetWrapper',
                     'connection_param': self.DATABASE
                 }
             }))
     self.addParameter(
         ParameterString(
             self.TABLENAME,
             self.tr('Table to import to (leave blank to use layer name)'),
             '',
             optional=True,
             metadata={
                 'widget_wrapper': {
                     'class':
                     'processing.gui.wrappers_postgis.TableWidgetWrapper',
                     'schema_param': self.SCHEMA
                 }
             }))
     self.addParameter(
         ParameterTableField(self.PRIMARY_KEY,
                             self.tr('Primary key field'),
                             self.INPUT,
                             optional=True))
     self.addParameter(
         ParameterString(self.GEOMETRY_COLUMN, self.tr('Geometry column'),
                         'geom'))
     self.addParameter(
         ParameterString(self.ENCODING,
                         self.tr('Encoding'),
                         'UTF-8',
                         optional=True))
     self.addParameter(
         ParameterBoolean(self.OVERWRITE, self.tr('Overwrite'), True))
     self.addParameter(
         ParameterBoolean(self.CREATEINDEX, self.tr('Create spatial index'),
                          True))
     self.addParameter(
         ParameterBoolean(self.LOWERCASE_NAMES,
                          self.tr('Convert field names to lowercase'),
                          True))
     self.addParameter(
         ParameterBoolean(
             self.DROP_STRING_LENGTH,
             self.tr('Drop length constraints on character fields'), False))
     self.addParameter(
         ParameterBoolean(
             self.FORCE_SINGLEPART,
             self.tr('Create single-part geometries instead of multi-part'),
             False))
예제 #24
0
파일: warp.py 프로젝트: GRSEB9S/QGis_plugin
 def defineCharacteristics(self):
     self.name = 'Warp (reproject)'
     self.group = '[GDAL] Projections'
     self.addParameter(
         ParameterRaster(self.INPUT, self.tr('Input layer'), False))
     self.addParameter(
         ParameterCrs(self.SOURCE_SRS, self.tr('Source SRS'), ''))
     self.addParameter(
         ParameterCrs(self.DEST_SRS, self.tr('Destination SRS'), ''))
     self.addParameter(
         ParameterString(
             self.NO_DATA,
             self.
             tr("Nodata value, leave blank to take the nodata value from input"
                ), '-9999'))
     self.addParameter(
         ParameterNumber(
             self.TR,
             self.
             tr('Output file resolution in target georeferenced units (leave 0 for no change)'
                ), 0.0, None, 0.0))
     self.addParameter(
         ParameterSelection(self.METHOD, self.tr('Resampling method'),
                            self.METHOD_OPTIONS))
     self.addParameter(
         ParameterSelection(self.RTYPE, self.tr('Output raster type'),
                            self.TYPE, 5))
     self.addParameter(
         ParameterSelection(self.COMPRESS,
                            self.tr('GeoTIFF options. Compression type:'),
                            self.COMPRESSTYPE, 4))
     self.addParameter(
         ParameterNumber(self.JPEGCOMPRESSION,
                         self.tr('Set the JPEG compression level'), 1, 100,
                         75))
     self.addParameter(
         ParameterNumber(self.ZLEVEL,
                         self.tr('Set the DEFLATE compression level'), 1, 9,
                         6))
     self.addParameter(
         ParameterNumber(
             self.PREDICTOR,
             self.tr('Set the predictor for LZW or DEFLATE compression'), 1,
             3, 1))
     self.addParameter(
         ParameterBoolean(
             self.TILED,
             self.tr(
                 'Create tiled output (only used for the GTiff format)'),
             False))
     self.addParameter(
         ParameterSelection(
             self.BIGTIFF,
             self.
             tr('Control whether the created file is a BigTIFF or a classic TIFF'
                ), self.BIGTIFFTYPE, 0))
     self.addParameter(
         ParameterBoolean(
             self.TFW,
             self.
             tr('Force the generation of an associated ESRI world file (.tfw))'
                ), False))
     self.addParameter(
         ParameterString(self.EXTRA,
                         self.tr('Additional creation parameters'),
                         '',
                         optional=True))
     self.addOutput(OutputRaster(self.OUTPUT, self.tr('Warped')))
예제 #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'),
                       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()
예제 #26
0
    def defineCharacteristics(self):
        self.DIRECTIONS = OrderedDict([
            (self.tr('Forward direction'),
             QgsVectorLayerDirector.DirectionForward),
            (self.tr('Backward direction'),
             QgsVectorLayerDirector.DirectionForward),
            (self.tr('Both directions'),
             QgsVectorLayerDirector.DirectionForward)
        ])

        self.STRATEGIES = [self.tr('Shortest'), self.tr('Fastest')]

        self.name, self.i18n_name = self.trAlgorithm(
            'Service area (from point)')
        self.group, self.i18n_group = self.trAlgorithm('Network analysis')

        self.addParameter(
            ParameterVector(self.INPUT_VECTOR,
                            self.tr('Vector layer representing network'),
                            [dataobjects.TYPE_VECTOR_LINE]))
        self.addParameter(
            ParameterPoint(self.START_POINT, self.tr('Start point')))
        self.addParameter(
            ParameterSelection(self.STRATEGY,
                               self.tr('Path type to calculate'),
                               self.STRATEGIES,
                               default=0))
        self.addParameter(
            ParameterNumber(
                self.TRAVEL_COST,
                self.tr(
                    'Travel cost (distance for "Shortest", time for "Fastest")'
                ), 0.0, 99999999.999999, 0.0))

        params = []
        params.append(
            ParameterTableField(self.DIRECTION_FIELD,
                                self.tr('Direction field'),
                                self.INPUT_VECTOR,
                                optional=True))
        params.append(
            ParameterString(self.VALUE_FORWARD,
                            self.tr('Value for forward direction'),
                            '',
                            optional=True))
        params.append(
            ParameterString(self.VALUE_BACKWARD,
                            self.tr('Value for backward direction'),
                            '',
                            optional=True))
        params.append(
            ParameterString(self.VALUE_BOTH,
                            self.tr('Value for both directions'),
                            '',
                            optional=True))
        params.append(
            ParameterSelection(self.DEFAULT_DIRECTION,
                               self.tr('Default direction'),
                               list(self.DIRECTIONS.keys()),
                               default=2))
        params.append(
            ParameterTableField(self.SPEED_FIELD,
                                self.tr('Speed field'),
                                self.INPUT_VECTOR,
                                optional=True))
        params.append(
            ParameterNumber(self.DEFAULT_SPEED,
                            self.tr('Default speed (km/h)'), 0.0,
                            99999999.999999, 5.0))
        params.append(
            ParameterNumber(self.TOLERANCE, self.tr('Topology tolerance'), 0.0,
                            99999999.999999, 0.0))

        for p in params:
            p.isAdvanced = True
            self.addParameter(p)

        self.addOutput(
            OutputVector(self.OUTPUT_POINTS,
                         self.tr('Service area (boundary nodes)'),
                         datatype=[dataobjects.TYPE_VECTOR_POINT]))
        self.addOutput(
            OutputVector(self.OUTPUT_POLYGON,
                         self.tr('Service area (convex hull)'),
                         datatype=[dataobjects.TYPE_VECTOR_POLYGON]))
예제 #27
0
    def defineCharacteristics(self):
        self.name, self.i18n_name = self.trAlgorithm(
            'Rasterize (vector to raster)')
        self.group, self.i18n_group = self.trAlgorithm('[GDAL] Conversion')
        self.addParameter(ParameterVector(self.INPUT, self.tr('Input layer')))
        self.addParameter(
            ParameterTableField(self.FIELD, self.tr('Attribute field'),
                                self.INPUT))
        self.addParameter(
            ParameterSelection(
                self.DIMENSIONS,
                self.
                tr('Set output raster size (ignored if above option is checked)'
                   ), [
                       'Output size in pixels',
                       'Output resolution in map units per pixel'
                   ], 1))
        self.addParameter(
            ParameterNumber(self.WIDTH, self.tr('Horizontal'), 0.0,
                            99999999.999999, 100.0))
        self.addParameter(
            ParameterNumber(self.HEIGHT, self.tr('Vertical'), 0.0,
                            99999999.999999, 100.0))
        self.addParameter(
            ParameterExtent(self.RAST_EXT, self.tr('Raster extent')))

        params = []
        params.append(
            ParameterSelection(self.RTYPE, self.tr('Raster type'), self.TYPE,
                               5))
        params.append(
            ParameterString(self.NO_DATA,
                            self.tr("Nodata value"),
                            '',
                            optional=True))
        params.append(
            ParameterSelection(self.COMPRESS,
                               self.tr('GeoTIFF options. Compression type:'),
                               self.COMPRESSTYPE, 4))
        params.append(
            ParameterNumber(self.JPEGCOMPRESSION,
                            self.tr('Set the JPEG compression level'), 1, 100,
                            75))
        params.append(
            ParameterNumber(self.ZLEVEL,
                            self.tr('Set the DEFLATE compression level'), 1, 9,
                            6))
        params.append(
            ParameterNumber(
                self.PREDICTOR,
                self.tr('Set the predictor for LZW or DEFLATE compression'), 1,
                3, 1))
        params.append(
            ParameterBoolean(
                self.TILED,
                self.tr(
                    'Create tiled output (only used for the GTiff format)'),
                False))
        params.append(
            ParameterSelection(
                self.BIGTIFF,
                self.
                tr('Control whether the created file is a BigTIFF or a classic TIFF'
                   ), self.BIGTIFFTYPE, 0))
        self.addParameter(
            ParameterBoolean(
                self.TFW,
                self.
                tr('Force the generation of an associated ESRI world file (.tfw)'
                   ), False))
        params.append(
            ParameterString(self.EXTRA,
                            self.tr('Additional creation parameters'),
                            '',
                            optional=True))

        for param in params:
            param.isAdvanced = True
            self.addParameter(param)

        self.addOutput(OutputRaster(self.OUTPUT, self.tr('Rasterized')))
예제 #28
0
    GEOMETRY = 'GEOMETRY'
    DISTANCE = 'DISTANCE'
    DISSOLVEALL = 'DISSOLVEALL'
    FIELD = 'FIELD'
    MULTI = 'MULTI'
    OPTIONS = 'OPTIONS'

    def defineCharacteristics(self):
<<<<<<< HEAD
        self.name = 'Buffer vectors'
        self.group = '[OGR] Geoprocessing'

        self.addParameter(ParameterVector(self.INPUT_LAYER,
            self.tr('Input layer'), [ParameterVector.VECTOR_TYPE_ANY], False))
        self.addParameter(ParameterString(self.GEOMETRY,
            self.tr('Geometry column name ("geometry" for Shapefiles, may be different for other formats)'),
            'geometry', optional=False))
        self.addParameter(ParameterString(self.DISTANCE,
            self.tr('Buffer distance'), '1000', optional=False))
        self.addParameter(ParameterBoolean(self.DISSOLVEALL,
            self.tr('Dissolve all results'), False))
        self.addParameter(ParameterTableField(self.FIELD,
            self.tr('Dissolve by attribute'), self.INPUT_LAYER, optional=True))
        self.addParameter(ParameterBoolean(self.MULTI,
            self.tr('Output as singlepart geometries (only used when dissolving by attribute)'), False))
        self.addParameter(ParameterString(self.OPTIONS,
            self.tr('Additional creation options (see ogr2ogr manual)'),
            '', optional=True))

        self.addOutput(OutputVector(self.OUTPUT_LAYER, self.tr('Output layer')))
예제 #29
0
 def addParametersAdditionalGUI(self):
     self.addParameter(
         ParameterString(LAStoolsAlgorithm.ADDITIONAL_OPTIONS,
                         self.tr("additional command line parameter(s)"),
                         optional=True))
예제 #30
0
 def addParametersOutputAppendixGUI(self):
     self.addParameter(
         ParameterString(LAStoolsAlgorithm.OUTPUT_APPENDIX,
                         self.tr("output appendix"),
                         optional=True))
예제 #31
0
 def defineCharacteristics(self):
     self.DB_CONNECTIONS = self.dbConnectionNames()
     self.addParameter(
         ParameterSelection(self.DATABASE,
                            self.tr('Database (connection name)'),
                            self.DB_CONNECTIONS))
     self.addParameter(
         ParameterTable(self.INPUT_LAYER, self.tr('Input layer')))
     self.addParameter(
         ParameterString(self.SHAPE_ENCODING,
                         self.tr('Shape encoding'),
                         "",
                         optional=True))
     self.addParameter(
         ParameterString(self.SCHEMA,
                         self.tr('Schema name'),
                         'public',
                         optional=True))
     self.addParameter(
         ParameterString(
             self.TABLE,
             self.tr('Table name, leave blank to use input name'),
             '',
             optional=True))
     self.addParameter(
         ParameterString(self.PK,
                         self.tr('Primary key'),
                         'id',
                         optional=True))
     self.addParameter(
         ParameterTableField(
             self.PRIMARY_KEY,
             self.
             tr('Primary key (existing field, used if the above option is left empty)'
                ),
             self.INPUT_LAYER,
             optional=True))
     self.addParameter(
         ParameterString(
             self.WHERE,
             self.
             tr('Select features using a SQL "WHERE" statement (Ex: column=\'value\')'
                ),
             '',
             optional=True))
     self.addParameter(
         ParameterString(
             self.GT,
             self.tr('Group N features per transaction (Default: 20000)'),
             '',
             optional=True))
     self.addParameter(
         ParameterBoolean(self.OVERWRITE,
                          self.tr('Overwrite existing table'), True))
     self.addParameter(
         ParameterBoolean(self.APPEND, self.tr('Append to existing table'),
                          False))
     self.addParameter(
         ParameterBoolean(
             self.ADDFIELDS,
             self.tr('Append and add new fields to existing table'), False))
     self.addParameter(
         ParameterBoolean(self.LAUNDER,
                          self.tr('Do not launder columns/table names'),
                          False))
     self.addParameter(
         ParameterBoolean(
             self.SKIPFAILURES,
             self.tr(
                 'Continue after a failure, skipping the failed record'),
             False))
     self.addParameter(
         ParameterBoolean(
             self.PRECISION,
             self.tr('Keep width and precision of input attributes'), True))
     self.addParameter(
         ParameterString(self.OPTIONS,
                         self.tr('Additional creation options'),
                         '',
                         optional=True))
예제 #32
0
    def processInputParameterToken(self, token, name):
        param = None

        descName = self.createDescriptiveName(name)

        if token.lower().strip() == 'raster':
            param = ParameterRaster(name, descName, False)
        elif token.lower().strip() == 'vector':
            param = ParameterVector(name, descName,
                                    [ParameterVector.VECTOR_TYPE_ANY])
        elif token.lower().strip() == 'vector point':
            param = ParameterVector(name, descName,
                                    [ParameterVector.VECTOR_TYPE_POINT])
        elif token.lower().strip() == 'vector line':
            param = ParameterVector(name, descName,
                                    [ParameterVector.VECTOR_TYPE_LINE])
        elif token.lower().strip() == 'vector polygon':
            param = ParameterVector(name, descName,
                                    [ParameterVector.VECTOR_TYPE_POLYGON])
        elif token.lower().strip() == 'table':
            param = ParameterTable(name, descName, False)
        elif token.lower().strip() == 'multiple raster':
            param = ParameterMultipleInput(name, descName,
                                           ParameterMultipleInput.TYPE_RASTER)
            param.optional = False
        elif token.lower().strip() == 'multiple vector':
            param = ParameterMultipleInput(
                name, descName, ParameterMultipleInput.TYPE_VECTOR_ANY)
            param.optional = False
        elif token.lower().strip().startswith('selectionfromfile'):
            options = token.strip()[len('selectionfromfile '):].split(';')
            param = ParameterSelection(name, descName, options, isSource=True)
        elif token.lower().strip().startswith('selection'):
            options = token.strip()[len('selection '):].split(';')
            param = ParameterSelection(name, descName, options)
        elif token.lower().strip().startswith('boolean'):
            default = token.strip()[len('boolean') + 1:]
            if default:
                param = ParameterBoolean(name, descName, default)
            else:
                param = ParameterBoolean(name, descName)
        elif token.lower().strip() == 'extent':
            param = ParameterExtent(name, descName)
        elif token.lower().strip() == 'file':
            param = ParameterFile(name, descName, False)
        elif token.lower().strip() == 'folder':
            param = ParameterFile(name, descName, True)
        elif token.lower().strip().startswith('number'):
            default = token.strip()[len('number') + 1:]
            if default:
                param = ParameterNumber(name, descName, default=default)
            else:
                param = ParameterNumber(name, descName)
        elif token.lower().strip().startswith('field'):
            field = token.strip()[len('field') + 1:]
            found = False
            for p in self.parameters:
                if p.name == field:
                    found = True
                    break
            if found:
                param = ParameterTableField(name, descName, field)
        elif token.lower().strip().startswith('string'):
            default = token.strip()[len('string') + 1:]
            if default:
                param = ParameterString(name, descName, default)
            else:
                param = ParameterString(name, descName)
        elif token.lower().strip().startswith('longstring'):
            default = token.strip()[len('longstring') + 1:]
            if default:
                param = ParameterString(name,
                                        descName,
                                        default,
                                        multiline=True)
            else:
                param = ParameterString(name, descName, multiline=True)
        elif token.lower().strip().startswith('crs'):
            default = token.strip()[len('crs') + 1:]
            if default:
                param = ParameterCrs(name, descName, default)
            else:
                param = ParameterCrs(name, descName)

        return param
예제 #33
0
 def addAdvancedModifiers(self):
     param = ParameterString(self.ADVANCED_MODIFIERS,
                             self.tr('Additional modifiers'), '')
     param.isAdvanced = True
     self.addParameter(param)
예제 #34
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('Import Vector into PostGIS database (new connection)')
     self.group, self.i18n_group = self.trAlgorithm('[OGR] Miscellaneous')
     self.addParameter(ParameterVector(self.INPUT_LAYER,
                                       self.tr('Input layer'), [ParameterVector.VECTOR_TYPE_ANY], False))
     self.addParameter(ParameterString(self.SHAPE_ENCODING,
                                       self.tr('Shape encoding'), "", optional=True))
     self.addParameter(ParameterSelection(self.GTYPE,
                                          self.tr('Output geometry type'), self.GEOMTYPE, 0))
     self.addParameter(ParameterCrs(self.A_SRS,
                                    self.tr('Assign an output CRS'), '', optional=True))
     self.addParameter(ParameterCrs(self.T_SRS,
                                    self.tr('Reproject to this CRS on output '), '', optional=True))
     self.addParameter(ParameterCrs(self.S_SRS,
                                    self.tr('Override source CRS'), '', optional=True))
     self.addParameter(ParameterString(self.HOST,
                                       self.tr('Host'), 'localhost', optional=True))
     self.addParameter(ParameterString(self.PORT,
                                       self.tr('Port'), '5432', optional=True))
     self.addParameter(ParameterString(self.USER,
                                       self.tr('Username'), '', optional=True))
     self.addParameter(ParameterString(self.DBNAME,
                                       self.tr('Database name'), '', optional=True))
     self.addParameter(ParameterString(self.PASSWORD,
                                       self.tr('Password'), '', optional=True))
     self.addParameter(ParameterString(self.SCHEMA,
                                       self.tr('Schema name'), 'public', optional=True))
     self.addParameter(ParameterString(self.TABLE,
                                       self.tr('Table name, leave blank to use input name'),
                                       '', optional=True))
     self.addParameter(ParameterString(self.PK,
                                       self.tr('Primary key (new field)'), 'id', optional=True))
     self.addParameter(ParameterTableField(self.PRIMARY_KEY,
                                           self.tr('Primary key (existing field, used if the above option is left empty)'), self.INPUT_LAYER, optional=True))
     self.addParameter(ParameterString(self.GEOCOLUMN,
                                       self.tr('Geometry column name'), 'geom', optional=True))
     self.addParameter(ParameterSelection(self.DIM,
                                          self.tr('Vector dimensions'), self.DIMLIST, 0))
     self.addParameter(ParameterString(self.SIMPLIFY,
                                       self.tr('Distance tolerance for simplification'),
                                       '', optional=True))
     self.addParameter(ParameterString(self.SEGMENTIZE,
                                       self.tr('Maximum distance between 2 nodes (densification)'),
                                       '', optional=True))
     self.addParameter(ParameterExtent(self.SPAT,
                                       self.tr('Select features by extent (defined in input layer CRS)')))
     self.addParameter(ParameterBoolean(self.CLIP,
                                        self.tr('Clip the input layer using the above (rectangle) extent'),
                                        False))
     self.addParameter(ParameterString(self.WHERE,
                                       self.tr('Select features using a SQL "WHERE" statement (Ex: column=\'value\')'),
                                       '', optional=True))
     self.addParameter(ParameterString(self.GT,
                                       self.tr('Group N features per transaction (Default: 20000)'),
                                       '', optional=True))
     self.addParameter(ParameterBoolean(self.OVERWRITE,
                                        self.tr('Overwrite existing table'), True))
     self.addParameter(ParameterBoolean(self.APPEND,
                                        self.tr('Append to existing table'), False))
     self.addParameter(ParameterBoolean(self.ADDFIELDS,
                                        self.tr('Append and add new fields to existing table'), False))
     self.addParameter(ParameterBoolean(self.LAUNDER,
                                        self.tr('Do not launder columns/table names'), False))
     self.addParameter(ParameterBoolean(self.INDEX,
                                        self.tr('Do not create spatial index'), False))
     self.addParameter(ParameterBoolean(self.SKIPFAILURES,
                                        self.tr('Continue after a failure, skipping the failed feature'), False))
     self.addParameter(ParameterBoolean(self.PROMOTETOMULTI,
                                        self.tr('Promote to Multipart'),
                                        True))
     self.addParameter(ParameterBoolean(self.PRECISION,
                                        self.tr('Keep width and precision of input attributes'),
                                        True))
     self.addParameter(ParameterString(self.OPTIONS,
                                       self.tr('Additional creation options'), '', optional=True))
예제 #35
0
    def defineCharacteristics(self):
        self.DIRECTIONS = OrderedDict([
            (self.tr('Forward direction'),
             QgsVectorLayerDirector.DirectionForward),
            (self.tr('Backward direction'),
             QgsVectorLayerDirector.DirectionForward),
            (self.tr('Both directions'),
             QgsVectorLayerDirector.DirectionForward)
        ])

        self.STRATEGIES = [self.tr('Shortest'), self.tr('Fastest')]

        self.addParameter(
            ParameterVector(self.INPUT_VECTOR,
                            self.tr('Vector layer representing network'),
                            [dataobjects.TYPE_VECTOR_LINE]))
        self.addParameter(
            ParameterPoint(self.START_POINT, self.tr('Start point')))
        self.addParameter(ParameterPoint(self.END_POINT, self.tr('End point')))
        self.addParameter(
            ParameterSelection(self.STRATEGY,
                               self.tr('Path type to calculate'),
                               self.STRATEGIES,
                               default=0))

        params = []
        params.append(
            ParameterTableField(self.DIRECTION_FIELD,
                                self.tr('Direction field'),
                                self.INPUT_VECTOR,
                                optional=True))
        params.append(
            ParameterString(self.VALUE_FORWARD,
                            self.tr('Value for forward direction'),
                            '',
                            optional=True))
        params.append(
            ParameterString(self.VALUE_BACKWARD,
                            self.tr('Value for backward direction'),
                            '',
                            optional=True))
        params.append(
            ParameterString(self.VALUE_BOTH,
                            self.tr('Value for both directions'),
                            '',
                            optional=True))
        params.append(
            ParameterSelection(self.DEFAULT_DIRECTION,
                               self.tr('Default direction'),
                               list(self.DIRECTIONS.keys()),
                               default=2))
        params.append(
            ParameterTableField(self.SPEED_FIELD,
                                self.tr('Speed field'),
                                self.INPUT_VECTOR,
                                optional=True))
        params.append(
            ParameterNumber(self.DEFAULT_SPEED,
                            self.tr('Default speed (km/h)'), 0.0,
                            99999999.999999, 5.0))
        params.append(
            ParameterNumber(self.TOLERANCE, self.tr('Topology tolerance'), 0.0,
                            99999999.999999, 0.0))

        for p in params:
            p.isAdvanced = True
            self.addParameter(p)

        self.addOutput(OutputNumber(self.TRAVEL_COST, self.tr('Travel cost')))
        self.addOutput(
            OutputVector(self.OUTPUT_LAYER,
                         self.tr('Shortest path'),
                         datatype=[dataobjects.TYPE_VECTOR_LINE]))
예제 #36
0
파일: retile.py 프로젝트: RobinsonSir/QGIS
    def defineCharacteristics(self):
        # Required parameters
        self.addParameter(
            ParameterMultipleInput(self.INPUT, self.tr('Input layers'),
                                   dataobjects.TYPE_RASTER))
        # Advanced parameters
        params = []
        params.append(
            ParameterString(
                self.PIXELSIZE,
                self.
                tr('Pixel size to be used for the output file (XSIZE YSIZE like 512 512)'
                   ), None, False, True))
        params.append(
            ParameterSelection(self.ALGORITHM,
                               self.tr('Resampling algorithm'),
                               self.ALGO,
                               0,
                               False,
                               optional=True))
        params.append(
            ParameterCrs(self.S_SRS, self.tr('Override source CRS'), None,
                         True))
        params.append(
            ParameterNumber(self.PYRAMIDLEVELS,
                            self.tr('Number of pyramids levels to build'),
                            None, None, None, True))
        params.append(
            ParameterBoolean(self.ONLYPYRAMIDS,
                             self.tr('Build only the pyramids'), False, True))
        params.append(
            ParameterSelection(self.RTYPE,
                               self.tr('Output raster type'),
                               self.TYPE,
                               5,
                               False,
                               optional=True))
        params.append(
            ParameterSelection(self.FORMAT,
                               self.tr('Output raster format'),
                               list(GdalUtils.getSupportedRasters().keys()),
                               0,
                               False,
                               optional=True))
        params.append(
            ParameterBoolean(self.USEDIRFOREACHROW,
                             self.tr('Use a directory for each row'), False,
                             True))
        params.append(
            ParameterString(
                self.CSVFILE,
                self.
                tr('Name of the csv file containing the tile(s) georeferencing information'
                   ), None, False, True))
        params.append(
            ParameterString(self.CSVDELIM,
                            self.tr('Column delimiter used in the CSV file'),
                            None, False, True))
        params.append(
            ParameterString(
                self.TILEINDEX,
                self.tr(
                    'name of shape file containing the result tile(s) index'),
                None, False, True))
        params.append(
            ParameterString(
                self.TILEINDEXFIELD,
                self.
                tr('name of the attribute containing the tile name in the result shape file'
                   ), None, False, True))

        for param in params:
            param.isAdvanced = True
            self.addParameter(param)

        self.addOutput(
            OutputDirectory(
                self.TARGETDIR,
                self.tr('The directory where the tile result is created')))
예제 #37
0
 def defineCharacteristics(self):
     self.addParameter(ParameterVector(self.INPUT_LAYER,
                                       self.tr('Input layer'), [dataobjects.TYPE_VECTOR_ANY]))
     self.addParameter(ParameterString(self.NODES,
                                       self.tr('Node indices'), default='0'))
     self.addOutput(OutputVector(self.OUTPUT_LAYER, self.tr('Nodes'), datatype=[dataobjects.TYPE_VECTOR_POINT]))
예제 #38
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 = 'sliding'
        self.i18n_name = self.tr('sliding')

        # === INPUT PARAMETERS ===
        self.addParameter(
            ParameterRaster(name=self.INPUT_LAYER_ASC,
                            description=self.tr('Input layer asc')))

        self.addParameter(
            ParameterSelection(name=self.WINDOW_SHAPE,
                               description=self.tr('Window shape'),
                               options=';'.join(self.types_of_shape)))

        self.addParameter(
            ParameterFile(name=self.FRICTION_FILE,
                          description=self.tr('Friction file')))

        self.addParameter(
            ParameterNumber(name=self.WINDOW_SIZES,
                            description=self.tr('Window size (pixels)'),
                            default=3))

        self.addParameter(
            ParameterNumber(
                name=self.DELTA_DISPLACEMENT,
                description=self.tr('Delta od displacement (pixels)'),
                default=1))

        self.addParameter(
            ParameterBoolean(name=self.INTERPOLATE_VALUES_BOOL,
                             description=self.tr('Interpolate Values'),
                             default=False))

        self.addParameter(
            ParameterString(
                name=self.FILTER,
                description=self.tr('Filters - Analyse only (optional)'),
                default='',
                optional=True))

        self.addParameter(
            ParameterString(
                name=self.UNFILTER,
                default='',
                description=self.tr('Filters - Do not analyse (optional)'),
                optional=True))

        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(
            OutputTable(name=self.OUTPUT_CSV,
                        description=self.tr('Output csv (*.csv)')))

        self.addOutput(
            ASCOutputRaster(name=self.OUTPUT_ASC,
                            description=self.tr('Output ascii (*.asc)')))
예제 #39
0
    def processParameterLine(self, line):
        param = None
        out = None
        line = line.replace('#', '')
        if line.lower().strip().startswith('showplots'):
            self.showPlots = True
            self.addOutput(OutputHTML(RAlgorithm.RPLOTS, 'R Plots'))
            return
        if line.lower().strip().startswith('dontuserasterpackage'):
            self.useRasterPackage = False
            return
        if line.lower().strip().startswith('passfilenames'):
            self.passFileNames = True
            return
        tokens = line.split('=')
        desc = self.createDescriptiveName(tokens[0])
        if tokens[1].lower().strip() == 'group':
            self.group = tokens[0]
            return
        if tokens[1].lower().strip().startswith('raster'):
            param = ParameterRaster(tokens[0], desc, False)
        elif tokens[1].lower().strip() == 'vector':
            param = ParameterVector(tokens[0], desc,
                                    [ParameterVector.VECTOR_TYPE_ANY])
        elif tokens[1].lower().strip() == 'table':
            param = ParameterTable(tokens[0], desc, False)
        elif tokens[1].lower().strip().startswith('multiple raster'):
            param = ParameterMultipleInput(tokens[0], desc,
                    ParameterMultipleInput.TYPE_RASTER)
            param.optional = False
        elif tokens[1].lower().strip() == 'multiple vector':
            param = ParameterMultipleInput(tokens[0], desc,
                    ParameterMultipleInput.TYPE_VECTOR_ANY)
            param.optional = False
        elif tokens[1].lower().strip().startswith('selection'):
            options = tokens[1].strip()[len('selection'):].split(';')
            param = ParameterSelection(tokens[0], desc, options)
        elif tokens[1].lower().strip().startswith('boolean'):
            default = tokens[1].strip()[len('boolean') + 1:]
            param = ParameterBoolean(tokens[0], desc, default)
        elif tokens[1].lower().strip().startswith('number'):
            try:
                default = float(tokens[1].strip()[len('number') + 1:])
                param = ParameterNumber(tokens[0], desc, default=default)
            except:
                raise WrongScriptException('Could not load R script:'
                        + self.descriptionFile + '.\n Problem with line "'
                        + line + '"')
        elif tokens[1].lower().strip().startswith('field'):
            field = tokens[1].strip()[len('field') + 1:]
            found = False
            for p in self.parameters:
                if p.name == field:
                    found = True
                    break
            if found:
                param = ParameterTableField(tokens[0], tokens[0], field)
        elif tokens[1].lower().strip() == 'extent':
            param = ParameterExtent(tokens[0], desc)
        elif tokens[1].lower().strip() == 'file':
            param = ParameterFile(tokens[0], desc, False)
        elif tokens[1].lower().strip() == 'folder':
            param = ParameterFile(tokens[0], desc, True)
        elif tokens[1].lower().strip().startswith('string'):
            default = tokens[1].strip()[len('string') + 1:]
            param = ParameterString(tokens[0], desc, default)
        elif tokens[1].lower().strip().startswith('output raster'):
            out = OutputRaster()
        elif tokens[1].lower().strip().startswith('output vector'):
            out = OutputVector()
        elif tokens[1].lower().strip().startswith('output table'):
            out = OutputTable()
        elif tokens[1].lower().strip().startswith('output file'):
            out = OutputFile()

        if param is not None:
            self.addParameter(param)
        elif out is not None:
            out.name = tokens[0]
            out.description = tokens[0]
            self.addOutput(out)
        else:
            raise WrongScriptException('Could not load R script:'
                                       + self.descriptionFile
                                       + '.\n Problem with line "' + line + '"'
                                       )
예제 #40
0
 def __init__(self):
     super().__init__()
     self.addParameter(
         ParameterString(
             self.DATABASE,
             self.tr('Database (connection name)'),
             metadata={
                 'widget_wrapper': {
                     'class':
                     'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'
                 }
             }))
     self.addParameter(
         ParameterVector(self.INPUT_LAYER, self.tr('Input layer')))
     self.addParameter(
         ParameterString(self.SHAPE_ENCODING,
                         self.tr('Shape encoding'),
                         "",
                         optional=True))
     self.addParameter(
         ParameterSelection(self.GTYPE, self.tr('Output geometry type'),
                            self.GEOMTYPE, 0))
     self.addParameter(
         ParameterCrs(self.A_SRS,
                      self.tr('Assign an output CRS'),
                      '',
                      optional=False))
     self.addParameter(
         ParameterCrs(self.T_SRS,
                      self.tr('Reproject to this CRS on output '),
                      '',
                      optional=True))
     self.addParameter(
         ParameterCrs(self.S_SRS,
                      self.tr('Override source CRS'),
                      '',
                      optional=True))
     self.addParameter(
         ParameterString(
             self.SCHEMA,
             self.tr('Schema name'),
             'public',
             optional=True,
             metadata={
                 'widget_wrapper': {
                     'class':
                     'processing.gui.wrappers_postgis.SchemaWidgetWrapper',
                     'connection_param': self.DATABASE
                 }
             }))
     self.addParameter(
         ParameterString(
             self.TABLE,
             self.tr('Table name, leave blank to use input name'),
             '',
             optional=True,
             metadata={
                 'widget_wrapper': {
                     'class':
                     'processing.gui.wrappers_postgis.TableWidgetWrapper',
                     'schema_param': self.SCHEMA
                 }
             }))
     self.addParameter(
         ParameterString(self.PK,
                         self.tr('Primary key (new field)'),
                         'id',
                         optional=True))
     self.addParameter(
         ParameterTableField(
             self.PRIMARY_KEY,
             self.
             tr('Primary key (existing field, used if the above option is left empty)'
                ),
             self.INPUT_LAYER,
             optional=True))
     self.addParameter(
         ParameterString(self.GEOCOLUMN,
                         self.tr('Geometry column name'),
                         'geom',
                         optional=True))
     self.addParameter(
         ParameterSelection(self.DIM, self.tr('Vector dimensions'),
                            self.DIMLIST, 0))
     self.addParameter(
         ParameterString(self.SIMPLIFY,
                         self.tr('Distance tolerance for simplification'),
                         '',
                         optional=True))
     self.addParameter(
         ParameterString(
             self.SEGMENTIZE,
             self.tr('Maximum distance between 2 nodes (densification)'),
             '',
             optional=True))
     self.addParameter(
         ParameterExtent(
             self.SPAT,
             self.tr(
                 'Select features by extent (defined in input layer CRS)')))
     self.addParameter(
         ParameterBoolean(
             self.CLIP,
             self.tr(
                 'Clip the input layer using the above (rectangle) extent'),
             False))
     self.addParameter(
         ParameterString(
             self.WHERE,
             self.
             tr('Select features using a SQL "WHERE" statement (Ex: column=\'value\')'
                ),
             '',
             optional=True))
     self.addParameter(
         ParameterString(
             self.GT,
             self.tr('Group N features per transaction (Default: 20000)'),
             '',
             optional=True))
     self.addParameter(
         ParameterBoolean(self.OVERWRITE,
                          self.tr('Overwrite existing table'), True))
     self.addParameter(
         ParameterBoolean(self.APPEND, self.tr('Append to existing table'),
                          False))
     self.addParameter(
         ParameterBoolean(
             self.ADDFIELDS,
             self.tr('Append and add new fields to existing table'), False))
     self.addParameter(
         ParameterBoolean(self.LAUNDER,
                          self.tr('Do not launder columns/table names'),
                          False))
     self.addParameter(
         ParameterBoolean(self.INDEX,
                          self.tr('Do not create spatial index'), False))
     self.addParameter(
         ParameterBoolean(
             self.SKIPFAILURES,
             self.tr(
                 'Continue after a failure, skipping the failed feature'),
             False))
     self.addParameter(
         ParameterBoolean(self.PROMOTETOMULTI,
                          self.tr('Promote to Multipart'), True))
     self.addParameter(
         ParameterBoolean(
             self.PRECISION,
             self.tr('Keep width and precision of input attributes'), True))
     self.addParameter(
         ParameterString(self.OPTIONS,
                         self.tr('Additional creation options'),
                         '',
                         optional=True))
예제 #41
0
 def initAlgorithm(self, config=None):
     self.addParameter(
         ParameterRaster(self.INPUT_A, self.tr('Input layer A'), False))
     self.addParameter(
         ParameterString(self.BAND_A,
                         self.tr('Number of raster band for raster A'),
                         '1',
                         optional=True))
     self.addParameter(
         ParameterRaster(self.INPUT_B, self.tr('Input layer B'), True))
     self.addParameter(
         ParameterString(self.BAND_B,
                         self.tr('Number of raster band for raster B'),
                         '1',
                         optional=True))
     self.addParameter(
         ParameterRaster(self.INPUT_C, self.tr('Input layer C'), True))
     self.addParameter(
         ParameterString(self.BAND_C,
                         self.tr('Number of raster band for raster C'),
                         '1',
                         optional=True))
     self.addParameter(
         ParameterRaster(self.INPUT_D, self.tr('Input layer D'), True))
     self.addParameter(
         ParameterString(self.BAND_D,
                         self.tr('Number of raster band for raster D'),
                         '1',
                         optional=True))
     self.addParameter(
         ParameterRaster(self.INPUT_E, self.tr('Input layer E'), True))
     self.addParameter(
         ParameterString(self.BAND_E,
                         self.tr('Number of raster band for raster E'),
                         '1',
                         optional=True))
     self.addParameter(
         ParameterRaster(self.INPUT_F, self.tr('Input layer F'), True))
     self.addParameter(
         ParameterString(self.BAND_F,
                         self.tr('Number of raster band for raster F'),
                         '1',
                         optional=True))
     self.addParameter(
         ParameterString(
             self.FORMULA,
             self.
             tr('Calculation in gdalnumeric syntax using +-/* or any numpy array functions (i.e. logical_and())'
                ),
             'A*2',
             optional=False))
     self.addParameter(
         ParameterString(self.NO_DATA,
                         self.tr('Set output nodata value'),
                         '',
                         optional=True))
     self.addParameter(
         ParameterSelection(self.RTYPE, self.tr('Output raster type'),
                            self.TYPE, 5))
     #self.addParameter(ParameterBoolean(
     #    self.DEBUG, self.tr('Print debugging information'), False))
     self.addParameter(
         ParameterString(self.EXTRA,
                         self.tr('Additional creation parameters'),
                         '',
                         optional=True))
     self.addOutput(OutputRaster(self.OUTPUT, self.tr('Calculated')))
 def okPressed(self):
     description = str(self.nameTextBox.text())
     if description.strip() == '':
         QMessageBox.warning(self, self.tr('Unable to define parameter'),
                             self.tr('Invalid parameter name'))
         return
     if self.param is None:
         validChars = \
             'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
         safeName = ''.join(c for c in description if c in validChars)
         name = safeName.lower()
         i = 2
         while name in self.alg.inputs:
             name = safeName.lower() + str(i)
     else:
         name = self.param.name
     if (self.paramType
             == ModelerParameterDefinitionDialog.PARAMETER_BOOLEAN
             or isinstance(self.param, ParameterBoolean)):
         self.param = ParameterBoolean(name, description,
                                       self.state.isChecked())
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_TABLE_FIELD
           or isinstance(self.param, ParameterTableField)):
         if self.parentCombo.currentIndex() < 0:
             QMessageBox.warning(
                 self, self.tr('Unable to define parameter'),
                 self.tr('Wrong or missing parameter values'))
             return
         parent = self.parentCombo.itemData(self.parentCombo.currentIndex())
         datatype = self.datatypeCombo.itemData(
             self.datatypeCombo.currentIndex())
         self.param = ParameterTableField(
             name,
             description,
             parent,
             datatype,
             multiple=self.multipleCheck.isChecked())
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_RASTER
           or isinstance(self.param, ParameterRaster)):
         self.param = ParameterRaster(name, description)
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_TABLE
           or isinstance(self.param, ParameterTable)):
         self.param = ParameterTable(name, description)
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_VECTOR
           or isinstance(self.param, ParameterVector)):
         self.param = ParameterVector(
             name, description, [self.shapetypeCombo.currentIndex() - 1])
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_MULTIPLE
           or isinstance(self.param, ParameterMultipleInput)):
         self.param = ParameterMultipleInput(
             name, description,
             self.datatypeCombo.currentIndex() - 1)
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_NUMBER
           or isinstance(self.param, ParameterNumber)):
         try:
             vmin = self.minTextBox.text().strip()
             if vmin == '':
                 vmin = None
             else:
                 vmin = float(vmin)
             vmax = self.maxTextBox.text().strip()
             if vmax == '':
                 vmax = None
             else:
                 vmax = float(vmax)
             self.param = ParameterNumber(name, description, vmin, vmax,
                                          str(self.defaultTextBox.text()))
         except:
             QMessageBox.warning(
                 self, self.tr('Unable to define parameter'),
                 self.tr('Wrong or missing parameter values'))
             return
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_EXPRESSION
           or isinstance(self.param, ParameterExpression)):
         parent = self.parentCombo.itemData(self.parentCombo.currentIndex())
         self.param = ParameterExpression(
             name,
             description,
             default=str(self.defaultEdit.expression()),
             parent_layer=parent)
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_STRING
           or isinstance(self.param, ParameterString)):
         self.param = ParameterString(name, description,
                                      str(self.defaultTextBox.text()))
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_EXTENT
           or isinstance(self.param, ParameterExtent)):
         self.param = ParameterExtent(name, description)
     elif (self.paramType == ModelerParameterDefinitionDialog.PARAMETER_FILE
           or isinstance(self.param, ParameterFile)):
         isFolder = self.fileFolderCombo.currentIndex() == 1
         self.param = ParameterFile(name, description, isFolder=isFolder)
     elif (self.paramType
           == ModelerParameterDefinitionDialog.PARAMETER_POINT
           or isinstance(self.param, ParameterPoint)):
         self.param = ParameterPoint(name, description,
                                     str(self.defaultTextBox.text()))
     elif (self.paramType == ModelerParameterDefinitionDialog.PARAMETER_CRS
           or isinstance(self.param, ParameterCrs)):
         self.param = ParameterCrs(name,
                                   description,
                                   default=self.selector.crs().authid())
     self.param.optional = not self.requiredCheck.isChecked()
     self.close()
예제 #43
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('Spatialite execute SQL')
     self.group, self.i18n_group = self.trAlgorithm('Database')
     self.addParameter(ParameterVector(self.DATABASE, self.tr('File Database'), False, False))
     self.addParameter(ParameterString(self.SQL, self.tr('SQL query'), '', True))
예제 #44
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('PostGIS execute SQL')
     self.group, self.i18n_group = self.trAlgorithm('Database')
     self.addParameter(ParameterString(self.DATABASE, self.tr('Database')))
     self.addParameter(
         ParameterString(self.SQL, self.tr('SQL query'), '', True))
예제 #45
0
 def testSetValue(self):
     parameter = ParameterString("myName", "myDescription")
     self.assertTrue(parameter.setValue("test"))
     self.assertEqual(parameter.value, "test")
예제 #46
0
 def defineCharacteristics(self):
     self.name, self.i18n_name = self.trAlgorithm('Csv2Grid')
     self.group, self.i18n_group = self.trAlgorithm('Points')
     self.addParameter(ParameterFile(self.INPUT, self.tr('CSV Files')))
     self.addParameter(ParameterString(self.COLUMN, self.tr('Column')))
     self.addOutput(OutputFile(self.OUTPUT, self.tr('Raster Output file'), 'asc'))
예제 #47
0
 def defineCharacteristics(self):
     self.name = 'PostGIS execute SQL'
     self.group = 'Database'
     self.addParameter(ParameterString(self.DATABASE, self.tr('Database')))
     self.addParameter(
         ParameterString(self.SQL, self.tr('SQL query'), '', True))
예제 #48
0
파일: gdaltindex.py 프로젝트: aroche/QGIS
>>>>>>> upstream/master
class gdaltindex(GdalAlgorithm):

    INPUT = 'INPUT'
    OUTPUT = 'OUTPUT'
    FIELD_NAME = 'FIELD_NAME'
    PROJ_DIFFERENCE = 'PROJ_DIFFERENCE'

    def defineCharacteristics(self):
<<<<<<< HEAD
        self.name = 'Tile Index'
        self.group = '[GDAL] Miscellaneous'
        self.addParameter(ParameterMultipleInput(self.INPUT,
            self.tr('Input layers'), ParameterMultipleInput.TYPE_RASTER))
        self.addParameter(ParameterString(self.FIELD_NAME,
            self.tr('Tile index field'),
            'location', optional=True))
        self.addParameter(ParameterBoolean(self.PROJ_DIFFERENCE,
            self.tr('Skip files with different projection reference'), False))
        self.addOutput(OutputVector(gdaltindex.OUTPUT, self.tr('Output layer')))

    def processAlgorithm(self, progress):
        fieldName = str(self.getParameterValue(self.FIELD_NAME))
=======
        self.name, self.i18n_name = self.trAlgorithm('Tile Index')
        self.group, self.i18n_group = self.trAlgorithm('[GDAL] Miscellaneous')
        self.addParameter(ParameterMultipleInput(self.INPUT,
                                                 self.tr('Input layers'), ParameterMultipleInput.TYPE_RASTER))
        self.addParameter(ParameterString(self.FIELD_NAME,
                                          self.tr('Tile index field'),
                                          'location', optional=True))
예제 #49
0
 def addAdvancedModifiers(self):
     param = ParameterString(self.ADVANCED_MODIFIERS, 'Additional modifiers'
                             , '')
     param.isAdvanced = True
     self.addParameter(param)
예제 #50
0
 def defineCharacteristics(self):
     self.name = 'Import Vector into PostGIS database (available connections)'
     self.group = '[OGR] Miscellaneous'
     self.DB_CONNECTIONS = self.dbConnectionNames()
     self.addParameter(
         ParameterSelection(self.DATABASE, 'Database (connection name)',
                            self.DB_CONNECTIONS))
     self.addParameter(
         ParameterVector(self.INPUT_LAYER, 'Input layer',
                         [ParameterVector.VECTOR_TYPE_ANY], False))
     self.addParameter(
         ParameterSelection(self.GTYPE, 'Output geometry type',
                            self.GEOMTYPE, 5))
     self.addParameter(
         ParameterCrs(self.S_SRS, 'Input CRS (EPSG Code)', 'EPSG:4326'))
     self.addParameter(
         ParameterCrs(self.T_SRS, 'Output CRS (EPSG Code)', 'EPSG:4326'))
     self.addParameter(
         ParameterString(self.SCHEMA,
                         'Schema name',
                         'public',
                         optional=True))
     self.addParameter(
         ParameterString(self.TABLE,
                         'Table name, leave blank to use input name',
                         '',
                         optional=True))
     self.addParameter(
         ParameterString(self.PK, 'Primary Key', 'id', optional=True))
     self.addParameter(
         ParameterString(self.GEOCOLUMN,
                         'Geometry column name',
                         'geom',
                         optional=True))
     self.addParameter(
         ParameterSelection(self.DIM, 'Vector dimensions', self.DIMLIST, 0))
     self.addParameter(
         ParameterString(self.SIMPLIFY,
                         'Distance tolerance for simplification',
                         '',
                         optional=True))
     self.addParameter(
         ParameterString(self.SEGMENTIZE,
                         'Maximum distance between 2 nodes (densification)',
                         '',
                         optional=True))
     self.addParameter(
         ParameterExtent(
             self.SPAT,
             'Select features by extent (defined in input layer CRS)'))
     self.addParameter(
         ParameterBoolean(
             self.CLIP,
             'Clip the input layer using the above (rectangle) extent',
             False))
     self.addParameter(
         ParameterString(
             self.WHERE,
             'Select features using a SQL "WHERE" statement (Ex: column="value")',
             '',
             optional=True))
     self.addParameter(
         ParameterString(
             self.GT,
             'Group "n" features per transaction (Default: 20000)',
             '',
             optional=True))
     self.addParameter(
         ParameterBoolean(self.OVERWRITE, 'Overwrite existing table?',
                          True))
     self.addParameter(
         ParameterBoolean(self.APPEND, 'Append to existing table?', False))
     self.addParameter(
         ParameterBoolean(self.ADDFIELDS,
                          'Append and add new fields to existing table?',
                          False))
     self.addParameter(
         ParameterBoolean(self.LAUNDER,
                          'Do not launder columns/table name/s?', False))
     self.addParameter(
         ParameterBoolean(self.INDEX, 'Do not create Spatial Index?',
                          False))
     self.addParameter(
         ParameterBoolean(
             self.SKIPFAILURES,
             'Continue after a failure, skipping the failed feature',
             False))
     self.addParameter(
         ParameterString(self.OPTIONS,
                         'Additional creation options',
                         '',
                         optional=True))
예제 #51
0
 def defineCharacteristics(self):
     self.name = 'Grid 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'))
     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)
예제 #52
0
 def addBaseParameters(self):
     self.addParameter(ParameterString(self.URL, 'URL',
                       'http://localhost:8080/geoserver/rest'))
     self.addParameter(ParameterString(self.USER, 'User', 'admin'))
     self.addParameter(ParameterString(self.PASSWORD, 'Password',
                       'geoserver'))