def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterBand(self.BAND, self.tr('Band number'), 1, parentLayerParameterName=self.INPUT)) self.addParameter(QgsProcessingParameterBoolean(self.TRIG_ANGLE, self.tr('Return trigonometric angle instead of azimuth'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.ZERO_FLAT, self.tr('Return 0 for flat instead of -9999'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.COMPUTE_EDGES, self.tr('Compute edges'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.ZEVENBERGEN, self.tr("Use Zevenbergen&Thorne formula instead of the Horn's one"), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Aspect')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterMultipleLayers(self.INPUT, self.tr('Input layers'), QgsProcessing.TypeRaster)) self.addParameter(QgsProcessingParameterBoolean(self.PCT, self.tr('Grab pseudocolor table from first layer'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.SEPARATE, self.tr('Place each input file into a separate band'), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5)) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Merged')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterBand(self.BAND, self.tr('Band number'), parentLayerParameterName=self.INPUT)) self.addParameter(QgsProcessingParameterNumber(self.SCALE, self.tr('Ratio of vertical units to horizontal'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter(QgsProcessingParameterBoolean(self.AS_PERCENT, self.tr('Slope expressed as percent instead of degrees'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.COMPUTE_EDGES, self.tr('Compute edges'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.ZEVENBERGEN, self.tr("Use Zevenbergen&Thorne formula instead of the Horn's one"), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Slope')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterCrs(self.TARGET_CRS, self.tr('Override the projection for the output file'), defaultValue=None, optional=True)) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter(QgsProcessingParameterBoolean(self.COPY_SUBDATASETS, self.tr('Copy all subdatasets of this file to individual output files'), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=0) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Converted')))
def initAlgorithm(self, config=None): db_param = QgsProcessingParameterString( self.DATABASE, self.tr('Database (connection name)')) db_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'}}) self.addParameter(db_param) self.addParameter(QgsProcessingParameterString( self.SQL, self.tr('SQL query'), multiLine=True)) self.addParameter(QgsProcessingParameterString( self.ID_FIELD, self.tr('Unique ID field name'), defaultValue='id')) self.addParameter(QgsProcessingParameterString( self.GEOMETRY_FIELD, self.tr('Geometry field name'), defaultValue='geom', optional=True)) self.addOutput(QgsProcessingOutputVectorLayer( self.OUTPUT, self.tr("Output layer"), QgsProcessing.TypeVectorAnyGeometry))
def initAlgorithm(self, config=None): self.modes = ((self.tr('Use strict color matching'), '-exact_color_entry'), (self.tr('Use closest RGBA quadruplet'), '-nearest_color_entry'), (self.tr('Use smoothly blended colors'), '')) self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterBand(self.BAND, self.tr('Band number'), 1, parentLayerParameterName=self.INPUT)) self.addParameter(QgsProcessingParameterBoolean(self.COMPUTE_EDGES, self.tr('Compute edges'), defaultValue=False)) self.addParameter(QgsProcessingParameterFile(self.COLOR_TABLE, self.tr('Color configuration file'))) self.addParameter(QgsProcessingParameterEnum(self.MATCH_MODE, self.tr('Matching mode'), options=[i[0] for i in self.modes], defaultValue=2)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Color relief')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterBand(self.BANDS, self.tr('Selected band(s)'), None, self.INPUT, allowMultiple=True)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=0) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Converted')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Point layer'), [QgsProcessing.TypeVectorPoint])) z_field_param = QgsProcessingParameterField(self.Z_FIELD, self.tr('Z value from field'), None, self.INPUT, QgsProcessingParameterField.Numeric, optional=True) z_field_param.setFlags(z_field_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(z_field_param) self.addParameter(QgsProcessingParameterNumber(self.RADIUS_1, self.tr('The first radius of search ellipse'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterNumber(self.RADIUS_2, self.tr('The second radius of search ellipse'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterNumber(self.ANGLE, self.tr('Angle of search ellipse rotation in degrees (counter clockwise)'), type=QgsProcessingParameterNumber.Double, minValue=0.0, maxValue=360.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterNumber(self.MIN_POINTS, self.tr('Minimum number of data points to use'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('NODATA marker to fill empty points'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Interpolated (moving average)')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterExtent(self.EXTENT, self.tr('Clipping extent'))) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=0) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Clipped (extent)')))
def initAlgorithm(self, config=None): self.methods = ((self.tr('Nearest Neighbour'), 'nearest'), (self.tr('Bilinear'), 'bilinear'), (self.tr('Cubic'), 'cubic'), (self.tr('Cubic Spline'), 'cubicspline'), (self.tr('Lanczos Windowed Sinc'), 'lanczos'), (self.tr('Average'), 'average')) self.addParameter(QgsProcessingParameterRasterLayer(self.SPECTRAL, self.tr('Spectral dataset'))) self.addParameter(QgsProcessingParameterRasterLayer(self.PANCHROMATIC, self.tr('Panchromatic dataset'))) resampling_param = QgsProcessingParameterEnum(self.RESAMPLING, self.tr('Resampling algorithm'), options=[i[0] for i in self.methods], defaultValue=2) resampling_param.setFlags(resampling_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(resampling_param) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Output')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterNumber(self.OUTSIZE, self.tr('Set the size of the output file (In pixels or %)'), minValue=1, defaultValue=100)) self.addParameter(QgsProcessingParameterBoolean(self.OUTSIZE_PERC, self.tr('Output size is a percentage of input size'), defaultValue=True)) self.addParameter(QgsProcessingParameterString(self.NO_DATA, self.tr("Nodata value, leave blank to take the nodata value from input"), defaultValue='', optional=True)) self.addParameter(QgsProcessingParameterEnum(self.EXPAND, self.tr('Expand'), options=['none', 'gray', 'rgb', 'rgba'], defaultValue=0)) self.addParameter(QgsProcessingParameterCrs(self.SRS, self.tr('Output projection for output file [leave blank to use input projection]'), defaultValue=None, optional=True)) self.addParameter(QgsProcessingParameterExtent(self.PROJWIN, self.tr('Subset based on georeferenced coordinates'), optional=True)) self.addParameter(QgsProcessingParameterBoolean(self.SDS, self.tr('Copy all subdatasets of this file to individual output files'), defaultValue=False)) create_options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), optional=True) create_options_param.setMetadata({'widget_wrapper': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}) self.addParameter(create_options_param) self.addParameter(QgsProcessingParameterEnum(self.RTYPE, self.tr('Output raster type'), options=self.TYPE, defaultValue=5)) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Converted')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterFeatureSource(self.MASK, self.tr('Mask layer'), [QgsProcessing.TypeVectorPolygon])) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter(QgsProcessingParameterBoolean(self.ALPHA_BAND, self.tr('Create an output alpha band'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.CROP_TO_CUTLINE, self.tr('Match the extent of the clipped raster to the extent of the mask layer'), defaultValue=True)) self.addParameter(QgsProcessingParameterBoolean(self.KEEP_RESOLUTION, self.tr('Keep resolution of output raster'), defaultValue=False)) target_extent_param = QgsProcessingParameterExtent(self.TARGET_EXTENT, self.tr('Georeferenced extents of output file to be created'), optional=True) target_extent_param.setFlags(target_extent_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(target_extent_param) target_extent_crs_param = QgsProcessingParameterCrs(self.TARGET_EXTENT_CRS, self.tr('CRS of the target raster extent'), optional=True) target_extent_crs_param.setFlags(target_extent_crs_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(target_extent_crs_param) multithreading_param = QgsProcessingParameterBoolean(self.MULTITHREADING, self.tr('Use multithreaded warping implementation'), defaultValue=False) multithreading_param.setFlags(multithreading_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(multithreading_param) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=0) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Clipped (mask)')))
def initAlgorithm(self, config=None): db_param = QgsProcessingParameterString( self.DATABASE, self.tr('Database (connection name)')) db_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'}}) self.addParameter(db_param) self.addParameter(QgsProcessingParameterString(self.SQL, self.tr('SQL query'), multiLine=True))
def initAlgorithm(self, config=None): """Here we define the inputs and output of the algorithm, along with some other properties. """ # The parameters self.addParameter( QgsProcessingParameterExtent(self.EXTENT, description=self.tr( 'Minimum extent to render'))) self.addParameter( QgsProcessingParameterNumber( self.TILE_SIZE, self.tr('Tile size'), defaultValue=1024, minValue=64)) self.addParameter(QgsProcessingParameterNumber( self.MAP_UNITS_PER_PIXEL, self.tr( 'Map units per ' 'pixel'), defaultValue=100, minValue=0, type=QgsProcessingParameterNumber.Double )) self.addParameter( QgsProcessingParameterBoolean( self.MAKE_BACKGROUND_TRANSPARENT, self.tr('Make background transparent'), defaultValue=False)) map_theme_param = QgsProcessingParameterString( self.MAP_THEME, description=self.tr( 'Map theme to render'), defaultValue=None, optional=True) map_theme_param.setMetadata( {'widget_wrapper': { 'class': 'processing.gui.wrappers_map_theme.MapThemeWrapper'}}) self.addParameter(map_theme_param) self.addParameter( QgsProcessingParameterMapLayer( self.LAYER, description=self.tr( 'Single layer to render'), optional=True)) # We add a raster layer as output self.addParameter(QgsProcessingParameterRasterDestination( self.OUTPUT, self.tr( 'Output layer')))
def __init__(self): super().__init__() db_param = QgsProcessingParameterString( self.DATABASE, self.tr('Database (connection name)')) db_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'}}) self.addParameter(db_param) self.addParameter(QgsProcessingParameterString(self.SQL, self.tr('SQL query')))
def initAlgorithm(self, config=None): self.distanceUnits = ((self.tr('Georeferenced coordinates'), 'GEO'), (self.tr('Pixel coordinates'), 'PIXEL')) self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterBand(self.BAND, self.tr('Band number'), 1, parentLayerParameterName=self.INPUT)) self.addParameter(QgsProcessingParameterString(self.VALUES, self.tr('A list of pixel values in the source image to be considered target pixels'), optional=True)) self.addParameter(QgsProcessingParameterEnum(self.UNITS, self.tr('Distance units'), options=[i[0] for i in self.distanceUnits], allowMultiple=False, defaultValue=1)) self.addParameter(QgsProcessingParameterNumber(self.MAX_DISTANCE, self.tr('The maximum distance to be generated'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0, optional=True)) self.addParameter(QgsProcessingParameterNumber(self.REPLACE, self.tr('Value to be applied to all pixels that are within the -maxdist of target pixels'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Nodata value to use for the destination proximity raster'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5)) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Proximity map')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterBand(self.BAND, self.tr('Band number'), 1, parentLayerParameterName=self.INPUT)) self.addParameter(QgsProcessingParameterNumber(self.Z_FACTOR, self.tr('Z factor (vertical exaggeration)'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter(QgsProcessingParameterNumber(self.SCALE, self.tr('Scale (ratio of vertical units to horizontal)'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter(QgsProcessingParameterNumber(self.AZIMUTH, self.tr('Azimuth of the light'), type=QgsProcessingParameterNumber.Double, minValue=0.0, maxValue=360, defaultValue=315.0)) self.addParameter(QgsProcessingParameterNumber(self.ALTITUDE, self.tr('Altitude of the light'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=45.0)) self.addParameter(QgsProcessingParameterBoolean(self.COMPUTE_EDGES, self.tr('Compute edges'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.ZEVENBERGEN, self.tr("Use Zevenbergen&Thorne formula instead of the Horn's one"), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.COMBINED, self.tr("Combined shading"), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.MULTIDIRECTIONAL, self.tr("Multidirectional shading"), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Hillshade')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Point layer'), [QgsProcessing.TypeVectorPoint])) z_field_param = QgsProcessingParameterField(self.Z_FIELD, self.tr('Z value from field'), None, self.INPUT, QgsProcessingParameterField.Numeric, optional=True) z_field_param.setFlags(z_field_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(z_field_param) self.addParameter(QgsProcessingParameterNumber(self.RADIUS, self.tr('Search distance '), type=QgsProcessingParameterNumber.Double, minValue=-1.0, defaultValue=-1.0)) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('NODATA marker to fill empty points'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Interpolated (Linear)')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterBand(self.BAND, self.tr('Band number'), parentLayerParameterName=self.INPUT)) self.addParameter(QgsProcessingParameterBoolean(self.COMPUTE_EDGES, self.tr('Compute edges'), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Terrain Ruggedness Index')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterFeatureSource(self.MASK, self.tr('Mask layer'), [QgsProcessing.TypeVectorPolygon])) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) self.addParameter(QgsProcessingParameterBoolean(self.ALPHA_BAND, self.tr('Create an output alpha band'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.CROP_TO_CUTLINE, self.tr('Crop the extent of the target dataset to the extent of the cutline'), defaultValue=True)) self.addParameter(QgsProcessingParameterBoolean(self.KEEP_RESOLUTION, self.tr('Keep resolution of output raster'), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Clipped (mask)')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'), optional=False)) self.addParameter(QgsProcessingParameterCrs(self.SOURCE_SRS, self.tr('Source SRS'), optional=True)) self.addParameter(QgsProcessingParameterCrs(self.DEST_SRS, self.tr('Destination SRS'), 'EPSG:4326')) self.addParameter(QgsProcessingParameterString(self.NO_DATA, self.tr("Nodata value, leave blank to take the nodata value from input"), optional=True)) self.addParameter(QgsProcessingParameterNumber(self.TR, self.tr('Output file resolution in target georeferenced units (leave 0 for no change)'), minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterEnum(self.METHOD, self.tr('Resampling method'), self.METHOD_OPTIONS)) self.addParameter(QgsProcessingParameterBoolean(self.USE_RASTER_EXTENT, self.tr('Set georeferenced extents of output file'), False )) self.addParameter(QgsProcessingParameterExtent(self.RASTER_EXTENT, self.tr('Raster extent'), optional=True)) self.addParameter(QgsProcessingParameterCrs(self.EXTENT_CRS, self.tr('CRS of the raster extent, leave blank for using Destination SRS'), optional=True)) co = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), optional=True) co.setMetadata({'widget_wrapper': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}) self.addParameter(co) self.addParameter(QgsProcessingParameterBoolean(self.MULTITHREADING, self.tr('Use multithreaded warping implementation'), False )) self.addParameter(QgsProcessingParameterEnum(self.RTYPE, self.tr('Output raster type'), self.TYPE, defaultValue=5)) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Reprojected')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterNumber(self.NEAR, self.tr('How far from black (white)'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=15)) self.addParameter(QgsProcessingParameterBoolean(self.WHITE, self.tr('Search for nearly white pixels instead of nearly black'), defaultValue=False)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Nearblack')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Layer to import'), types=[QgsProcessing.TypeVector])) db_param = QgsProcessingParameterString( self.DATABASE, self.tr('Database (connection name)')) db_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'}}) self.addParameter(db_param) schema_param = QgsProcessingParameterString( self.SCHEMA, self.tr('Schema (schema name)'), 'public', False, True) schema_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.SchemaWidgetWrapper', 'connection_param': self.DATABASE}}) self.addParameter(schema_param) table_param = QgsProcessingParameterString( self.TABLENAME, self.tr('Table to import to (leave blank to use layer name)'), '', False, True) table_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.TableWidgetWrapper', 'schema_param': self.SCHEMA}}) self.addParameter(table_param) self.addParameter(QgsProcessingParameterField(self.PRIMARY_KEY, self.tr('Primary key field'), None, self.INPUT, QgsProcessingParameterField.Any, False, True)) self.addParameter(QgsProcessingParameterString(self.GEOMETRY_COLUMN, self.tr('Geometry column'), 'geom')) self.addParameter(QgsProcessingParameterString(self.ENCODING, self.tr('Encoding'), 'UTF-8', False, True)) self.addParameter(QgsProcessingParameterBoolean(self.OVERWRITE, self.tr('Overwrite'), True)) self.addParameter(QgsProcessingParameterBoolean(self.CREATEINDEX, self.tr('Create spatial index'), True)) self.addParameter(QgsProcessingParameterBoolean(self.LOWERCASE_NAMES, self.tr('Convert field names to lowercase'), True)) self.addParameter(QgsProcessingParameterBoolean(self.DROP_STRING_LENGTH, self.tr('Drop length constraints on character fields'), False)) self.addParameter(QgsProcessingParameterBoolean(self.FORCE_SINGLEPART, self.tr('Create single-part geometries instead of multi-part'), False))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterFeatureSource( self.MASK, self.tr('Mask layer'), [QgsProcessing.TypeVectorPolygon])) self.addParameter( QgsProcessingParameterNumber( self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterBoolean( self.ALPHA_BAND, self.tr('Create an output alpha band'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.CROP_TO_CUTLINE, self. tr('Crop the extent of the target dataset to the extent of the cutline' ), defaultValue=True)) self.addParameter( QgsProcessingParameterBoolean( self.KEEP_RESOLUTION, self.tr('Keep resolution of output raster'), defaultValue=False)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum( self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags( dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Clipped (mask)')))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterBand(self.BAND, self.tr('Band number'), 1, parentLayerParameterName=self.INPUT)) self.addParameter( QgsProcessingParameterNumber( self.DISTANCE, self. tr('Maximum distance (in pixels) to search out for values to interpolate' ), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=10)) self.addParameter( QgsProcessingParameterNumber( self.ITERATIONS, self. tr('Number of smoothing iterations to run after the interpolation' ), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter( QgsProcessingParameterBoolean( self.NO_MASK, self.tr( 'Do not use the default validity mask for the input band'), defaultValue=False)) self.addParameter( QgsProcessingParameterRasterLayer(self.MASK_LAYER, self.tr('Validity mask'), optional=True)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) extra_param = QgsProcessingParameterString( self.EXTRA, self.tr('Additional command-line parameters'), defaultValue=None, optional=True) extra_param.setFlags(extra_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(extra_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Filled')))
def initAlgorithm(self, config=None): self.methods = ((self.tr('Nearest neighbour'), 'near'), (self.tr('Bilinear'), 'bilinear'), (self.tr('Cubic'), 'cubic'), (self.tr('Cubic spline'), 'cubicspline'), (self.tr('Lanczos windowed sinc'), 'lanczos'), (self.tr('Average'), 'average'), (self.tr('Mode'), 'mode'), (self.tr('Maximum'), 'max'), (self.tr('Minimum'), 'min'), (self.tr('Median'), 'med'), (self.tr('First quartile'), 'q1'), (self.tr('Third quartile'), 'q3')) self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterCrs(self.SOURCE_CRS, self.tr('Source CRS'), optional=True)) self.addParameter(QgsProcessingParameterCrs(self.TARGET_CRS, self.tr('Target CRS'), 'EPSG:4326')) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Nodata value for output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0)) self.addParameter(QgsProcessingParameterNumber(self.TARGET_RESOLUTION, self.tr('Output file resolution in target georeferenced units'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=None)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter(QgsProcessingParameterEnum(self.RESAMPLING, self.tr('Resampling method to use'), options=[i[0] for i in self.methods], defaultValue=0)) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) target_extent_param = QgsProcessingParameterExtent(self.TARGET_EXTENT, self.tr('Georeferenced extents of output file to be created'), optional=True) target_extent_param.setFlags(target_extent_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(target_extent_param) target_extent_crs_param = QgsProcessingParameterCrs(self.TARGET_EXTENT_CRS, self.tr('CRS of the target raster extent'), optional=True) target_extent_crs_param.setFlags(target_extent_crs_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(target_extent_crs_param) multithreading_param = QgsProcessingParameterBoolean(self.MULTITHREADING, self.tr('Use multithreaded warping implementation'), defaultValue=False) multithreading_param.setFlags(multithreading_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(multithreading_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Reprojected')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Point layer'), [QgsProcessing.TypeVectorPoint])) z_field_param = QgsProcessingParameterField(self.Z_FIELD, self.tr('Z value from field'), None, self.INPUT, QgsProcessingParameterField.Numeric, optional=True) z_field_param.setFlags(z_field_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(z_field_param) self.addParameter(QgsProcessingParameterNumber(self.POWER, self.tr('Weighting power'), type=QgsProcessingParameterNumber.Double, minValue=0.0, maxValue=100.0, defaultValue=2.0)) self.addParameter(QgsProcessingParameterNumber(self.SMOOTHING, self.tr('Smoothing'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterNumber(self.RADIUS, self.tr('The radius of the search circle'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter(QgsProcessingParameterNumber(self.MAX_POINTS, self.tr('Maximum number of data points to use'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=12)) self.addParameter(QgsProcessingParameterNumber(self.MIN_POINTS, self.tr('Minimum number of data points to use'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('NODATA marker to fill empty points'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Interpolated (IDW with NN search)')))
def initAlgorithm(self, config=None): # === INPUT PARAMETERS === inputAscParam = QgsProcessingParameterRasterLayer( name=self.INPUT_LAYER_ASC, description=self.tr('Input layer asc')) inputAscParam.setMetadata({ 'widget_wrapper': { 'class': 'Chloe.chloe_algorithm_dialog.ChloeAscRasterWidgetWrapper' } }) self.addParameter(inputAscParam) self.addParameter( QgsProcessingParameterNumber( name=self.GRID_SIZES, description=self.tr('Grid size (pixels)'), defaultValue=2, minValue=1)) metricsParam = QgsProcessingParameterString( name=self.METRICS, description=self.tr('Select metrics')) metricsParam.setMetadata({ 'widget_wrapper': { 'class': 'Chloe.chloe_algorithm_dialog.ChloeDoubleComboboxWidgetWrapper', 'dictValues': self.types_of_metrics, 'initialValue': 'value metrics', 'rasterLayerParamName': self.INPUT_LAYER_ASC, 'parentWidgetConfig': { 'paramName': self.INPUT_LAYER_ASC, 'refreshMethod': 'refreshMappingCombobox' } } }) self.addParameter(metricsParam) self.addParameter( QgsProcessingParameterNumber( name=self.MAXIMUM_RATE_MISSING_VALUES, description=self.tr('Maximum rate of mising values'), minValue=0, maxValue=100, defaultValue=100)) # self.addParameter(QgsProcessingParameterString( # name=self.COMMENT, # description=self.tr('Comment')) # ) # === OUTPUT PARAMETERS === self.addParameter( ChloeCSVParameterFileDestination(name=self.OUTPUT_CSV, description=self.tr('Output csv'), addToMapDefaultState=False)) fieldsParam = ChloeASCParameterFileDestination( name=self.OUTPUT_ASC, description=self.tr('Output Raster ascii')) self.addParameter(fieldsParam, createOutput=True) self.addParameter( QgsProcessingParameterFileDestination( name=self.SAVE_PROPERTIES, description=self.tr('Properties file'), fileFilter='Properties (*.properties)'))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterFeatureSource( self.MASK, self.tr('Mask layer'), [QgsProcessing.TypeVectorPolygon])) self.addParameter( QgsProcessingParameterNumber( self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterBoolean( self.ALPHA_BAND, self.tr('Create an output alpha band'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.CROP_TO_CUTLINE, self. tr('Match the extent of the clipped raster to the extent of the mask layer' ), defaultValue=True)) self.addParameter( QgsProcessingParameterBoolean( self.KEEP_RESOLUTION, self.tr('Keep resolution of output raster'), defaultValue=False)) target_extent_param = QgsProcessingParameterExtent( self.TARGET_EXTENT, self.tr('Georeferenced extents of output file to be created'), optional=True) target_extent_param.setFlags( target_extent_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(target_extent_param) target_extent_crs_param = QgsProcessingParameterCrs( self.TARGET_EXTENT_CRS, self.tr('CRS of the target raster extent'), optional=True) target_extent_crs_param.setFlags( target_extent_crs_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(target_extent_crs_param) multithreading_param = QgsProcessingParameterBoolean( self.MULTITHREADING, self.tr('Use multithreaded warping implementation'), defaultValue=False) multithreading_param.setFlags( multithreading_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(multithreading_param) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum( self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=0) dataType_param.setFlags( dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Clipped (mask)')))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterBand(self.BAND, self.tr('Band number'), 1, parentLayerParameterName=self.INPUT)) self.addParameter( QgsProcessingParameterPoint(self.OBSERVER, self.tr('Observer location'))) self.addParameter( QgsProcessingParameterNumber( self.OBSERVER_HEIGHT, self.tr('Observer height, DEM units'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter( QgsProcessingParameterNumber( self.TARGET_HEIGHT, self.tr('Target height, DEM units'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter( QgsProcessingParameterDistance( self.MAX_DISTANCE, self.tr( 'Maximum distance from observer to compute visibility'), parentParameterName=self.INPUT, minValue=0.0, defaultValue=100.0)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) extra_param = QgsProcessingParameterString( self.EXTRA, self.tr('Additional command-line parameters'), defaultValue=None, optional=True) extra_param.setFlags(extra_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(extra_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Output')))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterFeatureSource( self.INPUT, self.tr('Point layer'), [QgsProcessing.TypeVectorPoint])) z_field_param = QgsProcessingParameterField( self.Z_FIELD, self.tr('Z value from field'), None, self.INPUT, QgsProcessingParameterField.Numeric, optional=True) z_field_param.setFlags(z_field_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(z_field_param) self.addParameter( QgsProcessingParameterNumber( self.RADIUS_1, self.tr('The first radius of search ellipse'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter( QgsProcessingParameterNumber( self.RADIUS_2, self.tr('The second radius of search ellipse'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter( QgsProcessingParameterNumber( self.ANGLE, self. tr('Angle of search ellipse rotation in degrees (counter clockwise)' ), type=QgsProcessingParameterNumber.Double, minValue=0.0, maxValue=360.0, defaultValue=0.0)) self.addParameter( QgsProcessingParameterNumber( self.MIN_POINTS, self.tr('Minimum number of data points to use'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter( QgsProcessingParameterNumber( self.NODATA, self.tr('NODATA marker to fill empty points'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum( self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags( dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter( QgsProcessingParameterRasterDestination( self.OUTPUT, self.tr('Interpolated (moving average)')))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterMultipleLayers(self.INPUT, self.tr('Input layers'), QgsProcessing.TypeRaster)) self.addParameter( QgsProcessingParameterBoolean( self.PCT, self.tr('Grab pseudocolor table from first layer'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.SEPARATE, self.tr('Place each input file into a separate band'), defaultValue=False)) nodata_param = QgsProcessingParameterNumber( self.NODATA_INPUT, self.tr('Input pixel value to treat as "nodata"'), type=QgsProcessingParameterNumber.Integer, defaultValue=None, optional=True) nodata_param.setFlags(nodata_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(nodata_param) nodata_out_param = QgsProcessingParameterNumber( self.NODATA_OUTPUT, self.tr('Assign specified "nodata" value to output'), type=QgsProcessingParameterNumber.Integer, defaultValue=None, optional=True) nodata_out_param.setFlags( nodata_out_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(nodata_out_param) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) self.addParameter( QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5)) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Merged')))
def initAlgorithm(self, config=None): self.distanceUnits = ((self.tr('Georeferenced coordinates'), 'GEO'), (self.tr('Pixel coordinates'), 'PIXEL')) self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterBand(self.BAND, self.tr('Band number'), parentLayerParameterName=self.INPUT)) self.addParameter( QgsProcessingParameterString( self.VALUES, self. tr('A list of pixel values in the source image to be considered target pixels' ), optional=True)) self.addParameter( QgsProcessingParameterEnum( self.UNITS, self.tr('Distance units'), options=[i[0] for i in self.distanceUnits], allowMultiple=False, defaultValue=1)) self.addParameter( QgsProcessingParameterNumber( self.MAX_DISTANCE, self.tr('The maximum distance to be generated'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0, optional=True)) self.addParameter( QgsProcessingParameterNumber( self.REPLACE, self. tr('Value to be applied to all pixels that are within the -maxdist of target pixels' ), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) self.addParameter( QgsProcessingParameterNumber( self.NODATA, self. tr('Nodata value to use for the destination proximity raster'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) self.addParameter( QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5)) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Proximity map')))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterBand(self.BAND, self.tr('Band number'), parentLayerParameterName=self.INPUT)) self.addParameter( QgsProcessingParameterNumber( self.Z_FACTOR, self.tr('Z factor (vertical exaggeration)'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter( QgsProcessingParameterNumber( self.SCALE, self.tr('Scale (ratio of vertical units to horizontal)'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter( QgsProcessingParameterNumber( self.AZIMUTH, self.tr('Azimuth of the light'), type=QgsProcessingParameterNumber.Double, minValue=0.0, maxValue=360, defaultValue=315.0)) self.addParameter( QgsProcessingParameterNumber( self.ALTITUDE, self.tr('Altitude of the light'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=45.0)) self.addParameter( QgsProcessingParameterBoolean(self.COMPUTE_EDGES, self.tr('Compute edges'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.ZEVENBERGEN, self. tr("Use Zevenbergen&Thorne formula instead of the Horn's one"), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean(self.COMBINED, self.tr("Combined shading"), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean(self.MULTIDIRECTIONAL, self.tr("Multidirectional shading"), defaultValue=False)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Hillshade')))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterFeatureSource( self.INPUT, self.tr('Layer to import'), types=[QgsProcessing.TypeVector])) db_param = QgsProcessingParameterString( self.DATABASE, self.tr('Database (connection name)')) db_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper' } }) self.addParameter(db_param) schema_param = QgsProcessingParameterString( self.SCHEMA, self.tr('Schema (schema name)'), 'public', False, True) schema_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.SchemaWidgetWrapper', 'connection_param': self.DATABASE } }) self.addParameter(schema_param) table_param = QgsProcessingParameterString( self.TABLENAME, self.tr('Table to import to (leave blank to use layer name)'), '', False, True) table_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.TableWidgetWrapper', 'schema_param': self.SCHEMA } }) self.addParameter(table_param) self.addParameter( QgsProcessingParameterField(self.PRIMARY_KEY, self.tr('Primary key field'), None, self.INPUT, QgsProcessingParameterField.Any, False, True)) self.addParameter( QgsProcessingParameterString(self.GEOMETRY_COLUMN, self.tr('Geometry column'), 'geom')) self.addParameter( QgsProcessingParameterString(self.ENCODING, self.tr('Encoding'), 'UTF-8', False, True)) self.addParameter( QgsProcessingParameterBoolean(self.OVERWRITE, self.tr('Overwrite'), True)) self.addParameter( QgsProcessingParameterBoolean(self.CREATEINDEX, self.tr('Create spatial index'), True)) self.addParameter( QgsProcessingParameterBoolean( self.LOWERCASE_NAMES, self.tr('Convert field names to lowercase'), True)) self.addParameter( QgsProcessingParameterBoolean( self.DROP_STRING_LENGTH, self.tr('Drop length constraints on character fields'), False)) self.addParameter( QgsProcessingParameterBoolean( self.FORCE_SINGLEPART, self.tr('Create single-part geometries instead of multi-part'), False))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterFeatureSource( self.INPUT, self.tr('Point layer'), [QgsProcessing.TypeVectorPoint])) z_field_param = QgsProcessingParameterField( self.Z_FIELD, self.tr('Z value from field'), None, self.INPUT, QgsProcessingParameterField.Numeric, optional=True) z_field_param.setFlags(z_field_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(z_field_param) self.addParameter( QgsProcessingParameterNumber( self.POWER, self.tr('Weighting power'), type=QgsProcessingParameterNumber.Double, minValue=0.0, maxValue=100.0, defaultValue=2.0)) self.addParameter( QgsProcessingParameterNumber( self.SMOOTHING, self.tr('Smoothing'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter( QgsProcessingParameterNumber( self.RADIUS, self.tr('The radius of the search circle'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=1.0)) self.addParameter( QgsProcessingParameterNumber( self.MAX_POINTS, self.tr('Maximum number of data points to use'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter( QgsProcessingParameterNumber( self.MIN_POINTS, self.tr('Minimum number of data points to use'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter( QgsProcessingParameterNumber( self.NODATA, self.tr('NODATA marker to fill empty points'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum( self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags( dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter( QgsProcessingParameterRasterDestination( self.OUTPUT, self.tr('Interpolated (IDW with NN search)')))
def initAlgorithm(self, config=None): self.units = [self.tr("Pixels"), self.tr("Georeferenced units")] self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterField(self.FIELD, self.tr('Field to use for a burn-in value'), None, self.INPUT, QgsProcessingParameterField.Numeric, optional=True)) self.addParameter(QgsProcessingParameterNumber(self.BURN, self.tr('A fixed value to burn'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) self.addParameter(QgsProcessingParameterEnum(self.UNITS, self.tr('Output raster size units'), self.units)) self.addParameter(QgsProcessingParameterNumber(self.WIDTH, self.tr('Width/Horizontal resolution'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterNumber(self.HEIGHT, self.tr('Height/Vertical resolution'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterExtent(self.EXTENT, self.tr('Output extent'))) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) init_param = QgsProcessingParameterNumber(self.INIT, self.tr('Pre-initialize the output image with value'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True) init_param.setFlags(init_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(init_param) invert_param = QgsProcessingParameterBoolean(self.INVERT, self.tr('Invert rasterization'), defaultValue=False) invert_param.setFlags(invert_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(invert_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Rasterized')))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'), optional=False)) self.addParameter( QgsProcessingParameterCrs(self.SOURCE_SRS, self.tr('Source SRS'), optional=True)) self.addParameter( QgsProcessingParameterCrs(self.DEST_SRS, self.tr('Destination SRS'), 'EPSG:4326')) self.addParameter( QgsProcessingParameterString( self.NO_DATA, self. tr("Nodata value, leave blank to take the nodata value from input" ), optional=True)) self.addParameter( QgsProcessingParameterNumber( self.TR, self. tr('Output file resolution in target georeferenced units (leave 0 for no change)' ), minValue=0.0, defaultValue=0.0)) self.addParameter( QgsProcessingParameterEnum(self.METHOD, self.tr('Resampling method'), self.METHOD_OPTIONS)) self.addParameter( QgsProcessingParameterBoolean( self.USE_RASTER_EXTENT, self.tr('Set georeferenced extents of output file'), False)) self.addParameter( QgsProcessingParameterExtent(self.RASTER_EXTENT, self.tr('Raster extent'), optional=True)) self.addParameter( QgsProcessingParameterCrs( self.EXTENT_CRS, self. tr('CRS of the raster extent, leave blank for using Destination SRS' ), optional=True)) co = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), optional=True) co.setMetadata({ 'widget_wrapper': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' }) self.addParameter(co) self.addParameter( QgsProcessingParameterBoolean( self.MULTITHREADING, self.tr('Use multithreaded warping implementation'), False)) self.addParameter( QgsProcessingParameterEnum(self.RTYPE, self.tr('Output raster type'), self.TYPE, defaultValue=5)) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Reprojected')))
def initAlgorithm(self, config=None): self.methods = ( (self.tr('Nearest neighbour'), 'near'), (self.tr('Bilinear'), 'bilinear'), (self.tr('Cubic'), 'cubic'), (self.tr('Cubic spline'), 'cubicspline'), (self.tr('Lanczos windowed sinc'), 'lanczos'), ) self.addParameter( QgsProcessingParameterMultipleLayers(self.INPUT, self.tr('Input files'), QgsProcessing.TypeRaster)) self.addParameter( QgsProcessingParameterNumber( self.TILE_SIZE_X, self.tr('Tile width'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=256)) self.addParameter( QgsProcessingParameterNumber( self.TILE_SIZE_Y, self.tr('Tile height'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=256)) self.addParameter( QgsProcessingParameterNumber( self.OVERLAP, self.tr('Overlap in pixels between consecutive tiles'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter( QgsProcessingParameterNumber( self.LEVELS, self.tr('Number of pyramids levels to build'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=1)) params = [] params.append( QgsProcessingParameterCrs( self.SOURCE_CRS, self.tr('Source coordinate reference system'), optional=True)) params.append( QgsProcessingParameterEnum(self.RESAMPLING, self.tr('Resampling method'), options=[i[0] for i in self.methods], allowMultiple=False, defaultValue=0)) params.append( QgsProcessingParameterString( self.DELIMITER, self.tr('Column delimiter used in the CSV file'), defaultValue=';', optional=True)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) params.append(options_param) params.append( QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5)) params.append( QgsProcessingParameterBoolean(self.ONLY_PYRAMIDS, self.tr('Build only the pyramids'), defaultValue=False)) params.append( QgsProcessingParameterBoolean( self.DIR_FOR_ROW, self.tr('Use separate directory for each tiles row'), defaultValue=False)) for param in params: param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(param) self.addParameter( QgsProcessingParameterFolderDestination( self.OUTPUT, self.tr('Output directory'))) output_csv_param = QgsProcessingParameterFileDestination( self.OUTPUT_CSV, self.tr( 'CSV file containing the tile(s) georeferencing information'), 'CSV files (*.csv)', optional=True) output_csv_param.setCreateByDefault(False) self.addParameter(output_csv_param)
def initAlgorithm(self, config=None): self.TYPES = [ self.tr('Use Input Layer Data Type'), 'Byte', 'Int16', 'UInt16', 'UInt32', 'Int32', 'Float32', 'Float64', 'CInt16', 'CInt32', 'CFloat32', 'CFloat64' ] self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterCrs( self.TARGET_CRS, self.tr('Override the projection for the output file'), defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterNumber( self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterBoolean( self.COPY_SUBDATASETS, self. tr('Copy all subdatasets of this file to individual output files' ), defaultValue=False)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) extra_param = QgsProcessingParameterString( self.EXTRA, self.tr('Additional command-line parameters'), defaultValue=None, optional=True) extra_param.setFlags(extra_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(extra_param) dataType_param = QgsProcessingParameterEnum( self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=0) dataType_param.setFlags( dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Converted')))
def initAlgorithm(self, config=None): db_param = QgsProcessingParameterString( self.DATABASE, self.tr('Database (connection name)')) db_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper' } }) self.addParameter(db_param) self.addParameter( QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterString(self.SHAPE_ENCODING, self.tr('Shape encoding'), "", optional=True)) self.addParameter( QgsProcessingParameterEnum(self.GTYPE, self.tr('Output geometry type'), options=self.GEOMTYPE, defaultValue=0)) self.addParameter( QgsProcessingParameterCrs(self.A_SRS, self.tr('Assign an output CRS'), defaultValue='', optional=False)) self.addParameter( QgsProcessingParameterCrs( self.T_SRS, self.tr('Reproject to this CRS on output '), defaultValue='', optional=True)) self.addParameter( QgsProcessingParameterCrs(self.S_SRS, self.tr('Override source CRS'), defaultValue='', optional=True)) schema_param = QgsProcessingParameterString( self.SCHEMA, self.tr('Schema (schema name)'), 'public', False, True) schema_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.SchemaWidgetWrapper', 'connection_param': self.DATABASE } }) self.addParameter(schema_param) table_param = QgsProcessingParameterString( self.TABLE, self.tr('Table to import to (leave blank to use layer name)'), '', False, True) table_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.TableWidgetWrapper', 'schema_param': self.SCHEMA } }) self.addParameter(table_param) self.addParameter( QgsProcessingParameterString(self.PK, self.tr('Primary key (new field)'), defaultValue='id', optional=True)) self.addParameter( QgsProcessingParameterField( self.PRIMARY_KEY, self. tr('Primary key (existing field, used if the above option is left empty)' ), parentLayerParameterName=self.INPUT, optional=True)) self.addParameter( QgsProcessingParameterString(self.GEOCOLUMN, self.tr('Geometry column name'), defaultValue='geom', optional=True)) self.addParameter( QgsProcessingParameterEnum(self.DIM, self.tr('Vector dimensions'), options=self.DIMLIST, defaultValue=0)) self.addParameter( QgsProcessingParameterString( self.SIMPLIFY, self.tr('Distance tolerance for simplification'), defaultValue='', optional=True)) self.addParameter( QgsProcessingParameterString( self.SEGMENTIZE, self.tr('Maximum distance between 2 nodes (densification)'), defaultValue='', optional=True)) self.addParameter( QgsProcessingParameterExtent( self.SPAT, self.tr( 'Select features by extent (defined in input layer CRS)'), optional=True)) self.addParameter( QgsProcessingParameterBoolean( self.CLIP, self.tr( 'Clip the input layer using the above (rectangle) extent'), defaultValue=False)) self.addParameter( QgsProcessingParameterString( self.WHERE, self. tr('Select features using a SQL "WHERE" statement (Ex: column=\'value\')' ), defaultValue='', optional=True)) self.addParameter( QgsProcessingParameterString( self.GT, self.tr('Group N features per transaction (Default: 20000)'), defaultValue='', optional=True)) self.addParameter( QgsProcessingParameterBoolean(self.OVERWRITE, self.tr('Overwrite existing table'), defaultValue=True)) self.addParameter( QgsProcessingParameterBoolean(self.APPEND, self.tr('Append to existing table'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.ADDFIELDS, self.tr('Append and add new fields to existing table'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.LAUNDER, self.tr('Do not launder columns/table names'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.INDEX, self.tr('Do not create spatial index'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.SKIPFAILURES, self.tr( 'Continue after a failure, skipping the failed feature'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean(self.PROMOTETOMULTI, self.tr('Promote to Multipart'), defaultValue=True)) self.addParameter( QgsProcessingParameterBoolean( self.PRECISION, self.tr('Keep width and precision of input attributes'), defaultValue=True)) self.addParameter( QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer( self.INPUT_A, self.tr('Input layer A'), optional=False)) self.addParameter( QgsProcessingParameterBand( self.BAND_A, self.tr('Number of raster band for A'), parentLayerParameterName=self.INPUT_A)) self.addParameter( QgsProcessingParameterRasterLayer( self.INPUT_B, self.tr('Input layer B'), optional=True)) self.addParameter( QgsProcessingParameterBand( self.BAND_B, self.tr('Number of raster band for B'), parentLayerParameterName=self.INPUT_B, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer( self.INPUT_C, self.tr('Input layer C'), optional=True)) self.addParameter( QgsProcessingParameterBand(self.BAND_C, self.tr('Number of raster band for C'), parentLayerParameterName=self.INPUT_C, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer( self.INPUT_D, self.tr('Input layer D'), optional=True)) self.addParameter( QgsProcessingParameterBand( self.BAND_D, self.tr('Number of raster band for D'), parentLayerParameterName=self.INPUT_D, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer( self.INPUT_E, self.tr('Input layer E'), optional=True)) self.addParameter( QgsProcessingParameterBand( self.BAND_E, self.tr('Number of raster band for E'), parentLayerParameterName=self.INPUT_E, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer( self.INPUT_F, self.tr('Input layer F'), optional=True)) self.addParameter( QgsProcessingParameterBand( self.BAND_F, self.tr('Number of raster band for F'), parentLayerParameterName=self.INPUT_F, optional=True)) self.addParameter( QgsProcessingParameterString( self.FORMULA, self.tr('Calculation in gdalnumeric syntax using +-/* or any numpy array functions (i.e. logical_and())'), 'A*2', optional=False)) self.addParameter( QgsProcessingParameterNumber( self.NO_DATA, self.tr('Set output nodata value'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterEnum( self.RTYPE, self.tr('Output raster type'), options=self.TYPE, defaultValue=5)) #self.addParameter(ParameterBoolean( # self.DEBUG, self.tr('Print debugging information'), False)) self.addParameter( QgsProcessingParameterString( self.EXTRA, self.tr('Additional creation parameters'), '', optional=True)) # advanced raster params options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation parameters'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) self.addParameter( QgsProcessingParameterRasterDestination( self.OUTPUT, self.tr('Calculated')))
def initAlgorithm(self, config=None): self.units = [self.tr("Pixels"), self.tr("Georeferenced units")] self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Input layer'))) self.addParameter(QgsProcessingParameterField(self.FIELD, self.tr('Field to use for a burn-in value'), None, self.INPUT, QgsProcessingParameterField.Numeric, optional=True)) self.addParameter(QgsProcessingParameterNumber(self.BURN, self.tr('A fixed value to burn'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) self.addParameter(QgsProcessingParameterEnum(self.UNITS, self.tr('Output raster size units'), self.units)) self.addParameter(QgsProcessingParameterNumber(self.WIDTH, self.tr('Width/Horizontal resolution'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterNumber(self.HEIGHT, self.tr('Height/Vertical resolution'), type=QgsProcessingParameterNumber.Double, minValue=0.0, defaultValue=0.0)) self.addParameter(QgsProcessingParameterExtent(self.EXTENT, self.tr('Output extent'))) self.addParameter(QgsProcessingParameterNumber(self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5) dataType_param.setFlags(dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) init_param = QgsProcessingParameterNumber(self.INIT, self.tr('Pre-initialize the output image with value'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0, optional=True) init_param.setFlags(init_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(init_param) invert_param = QgsProcessingParameterBoolean(self.INVERT, self.tr('Invert rasterization'), defaultValue=False) invert_param.setFlags(invert_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(invert_param) self.addParameter(QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Rasterized')))
def initAlgorithm(self, config=None): self.TYPES = [ self.tr('Use Input Layer Data Type'), 'Byte', 'Int16', 'UInt16', 'UInt32', 'Int32', 'Float32', 'Float64', 'CInt16', 'CInt32', 'CFloat32', 'CFloat64' ] self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterFeatureSource( self.MASK, self.tr('Mask layer'), [QgsProcessing.TypeVectorPolygon])) self.addParameter( QgsProcessingParameterCrs(self.SOURCE_CRS, self.tr('Source CRS'), optional=True)) self.addParameter( QgsProcessingParameterCrs(self.TARGET_CRS, self.tr('Target CRS'), optional=True)) self.addParameter( QgsProcessingParameterNumber( self.NODATA, self.tr('Assign a specified nodata value to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterBoolean( self.ALPHA_BAND, self.tr('Create an output alpha band'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.CROP_TO_CUTLINE, self. tr('Match the extent of the clipped raster to the extent of the mask layer' ), defaultValue=True)) self.addParameter( QgsProcessingParameterBoolean( self.KEEP_RESOLUTION, self.tr('Keep resolution of input raster'), defaultValue=False)) self.addParameter( QgsProcessingParameterBoolean( self.SET_RESOLUTION, self.tr('Set output file resolution'), defaultValue=False)) self.addParameter( QgsProcessingParameterNumber( self.X_RESOLUTION, self.tr('X Resolution to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterNumber( self.Y_RESOLUTION, self.tr('Y Resolution to output bands'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) multithreading_param = QgsProcessingParameterBoolean( self.MULTITHREADING, self.tr('Use multithreaded warping implementation'), defaultValue=False) multithreading_param.setFlags( multithreading_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(multithreading_param) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) dataType_param = QgsProcessingParameterEnum( self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=0) dataType_param.setFlags( dataType_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(dataType_param) extra_param = QgsProcessingParameterString( self.EXTRA, self.tr('Additional command-line parameters'), defaultValue=None, optional=True) extra_param.setFlags(extra_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(extra_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Clipped (mask)')))
def initAlgorithm(self, config=None): self.methods = ((self.tr('Nearest neighbour'), 'near'), (self.tr('Bilinear'), 'bilinear'), (self.tr('Cubic'), 'cubic'), (self.tr('Cubic spline'), 'cubicspline'), (self.tr('Lanczos windowed sinc'), 'lanczos'),) self.addParameter(QgsProcessingParameterMultipleLayers(self.INPUT, self.tr('Input files'), QgsProcessing.TypeRaster)) self.addParameter(QgsProcessingParameterNumber(self.TILE_SIZE_X, self.tr('Tile width'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=256)) self.addParameter(QgsProcessingParameterNumber(self.TILE_SIZE_Y, self.tr('Tile height'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=256)) self.addParameter(QgsProcessingParameterNumber(self.OVERLAP, self.tr('Overlap in pixels between consecutive tiles'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=0)) self.addParameter(QgsProcessingParameterNumber(self.LEVELS, self.tr('Number of pyramids levels to build'), type=QgsProcessingParameterNumber.Integer, minValue=0, defaultValue=1)) params = [] params.append(QgsProcessingParameterCrs(self.SOURCE_CRS, self.tr('Source coordinate reference system'), optional=True)) params.append(QgsProcessingParameterEnum(self.RESAMPLING, self.tr('Resampling method'), options=[i[0] for i in self.methods], allowMultiple=False, defaultValue=0)) params.append(QgsProcessingParameterString(self.DELIMITER, self.tr('Column delimiter used in the CSV file'), defaultValue=';', optional=True)) options_param = QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper'}}) params.append(options_param) params.append(QgsProcessingParameterEnum(self.DATA_TYPE, self.tr('Output data type'), self.TYPES, allowMultiple=False, defaultValue=5)) params.append(QgsProcessingParameterBoolean(self.ONLY_PYRAMIDS, self.tr('Build only the pyramids'), defaultValue=False)) params.append(QgsProcessingParameterBoolean(self.DIR_FOR_ROW, self.tr('Use separate directory for each tiles row'), defaultValue=False)) for param in params: param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(param) self.addParameter(QgsProcessingParameterFolderDestination(self.OUTPUT, self.tr('Output directory'))) output_csv_param = QgsProcessingParameterFileDestination(self.OUTPUT_CSV, self.tr('CSV file containing the tile(s) georeferencing information'), 'CSV files (*.csv)', optional=True) output_csv_param.setCreateByDefault(False) self.addParameter(output_csv_param)
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT_A, self.tr('Input layer A'), optional=False)) self.addParameter( QgsProcessingParameterBand(self.BAND_A, self.tr('Number of raster band for A'), parentLayerParameterName=self.INPUT_A)) self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT_B, self.tr('Input layer B'), optional=True)) self.addParameter( QgsProcessingParameterBand(self.BAND_B, self.tr('Number of raster band for B'), parentLayerParameterName=self.INPUT_B, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT_C, self.tr('Input layer C'), optional=True)) self.addParameter( QgsProcessingParameterBand(self.BAND_C, self.tr('Number of raster band for C'), parentLayerParameterName=self.INPUT_C, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT_D, self.tr('Input layer D'), optional=True)) self.addParameter( QgsProcessingParameterBand(self.BAND_D, self.tr('Number of raster band for D'), parentLayerParameterName=self.INPUT_D, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT_E, self.tr('Input layer E'), optional=True)) self.addParameter( QgsProcessingParameterBand(self.BAND_E, self.tr('Number of raster band for E'), parentLayerParameterName=self.INPUT_E, optional=True)) self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT_F, self.tr('Input layer F'), optional=True)) self.addParameter( QgsProcessingParameterBand(self.BAND_F, self.tr('Number of raster band for F'), parentLayerParameterName=self.INPUT_F, optional=True)) self.addParameter( QgsProcessingParameterString( self.FORMULA, self. tr('Calculation in gdalnumeric syntax using +-/* or any numpy array functions (i.e. logical_and())' ), 'A*2', optional=False)) self.addParameter( QgsProcessingParameterNumber( self.NO_DATA, self.tr('Set output nodata value'), type=QgsProcessingParameterNumber.Double, defaultValue=None, optional=True)) self.addParameter( QgsProcessingParameterEnum(self.RTYPE, self.tr('Output raster type'), options=self.TYPE, defaultValue=5)) options_param = QgsProcessingParameterString( self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True) options_param.setFlags(options_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) options_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.algs.gdal.ui.RasterOptionsWidget.RasterOptionsWidgetWrapper' } }) self.addParameter(options_param) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Calculated')))
def initAlgorithm(self, config=None): """ Here we define the inputs and output of the algorithm, along with some other properties. """ # We add the input vector features source. It can have any kind of # geometry. #self.addParameter( # QgsProcessingParameterFeatureSource( # self.INPUT, # self.tr('Input'), # [QgsProcessing.TypeVectorAnyGeometry] # ) #) #self.addParameter( # QgsProcessingParameterString( # self.IN_DATE_MIN, # self.tr('Date minimale')) # ) #self.addParameter( # QgsProcessingParameterString( # self.IN_DATE_MAX, # self.tr('Date maximale')) # ) datDeb = QgsProcessingParameterString(self.IN_DATE_MIN, 'Date minimale') datDeb.setMetadata({ 'widget_wrapper': { 'class': DateWidget}}) self.addParameter(datDeb) datFin = QgsProcessingParameterString(self.IN_DATE_MAX, 'Date maximale') datFin.setMetadata({ 'widget_wrapper': { 'class': DateWidget}}) self.addParameter(datFin) self.addParameter( QgsProcessingParameterExtent( self.IN_EXTENT, 'Emprise du projet', defaultValue=None)) self.addParameter( QgsProcessingParameterEnum( self.IN_LEVEL, tr('Niveau de traitement'), options=[tr('LEVEL2A'), tr('LEVEL3A')], defaultValue=0, optional=False) ) self.addParameter( QgsProcessingParameterFolderDestination( self.OUTPUT, self.tr('Images S2') ) ) # We add a feature sink in which to store our processed features (this # usually takes the form of a newly created vector layer when the # algorithm is run in QGIS). #self.addParameter( # QgsProcessingParameterFeatureSink( # self.OUTPUT, # self.tr('Output layer') # ) #) params = [] params.append(QgsProcessingParameterString(self.IN_ID, self.tr('Utilisateur'), optional=False)) params.append(QgsProcessingParameterString(self.IN_PW, self.tr('Mot de passe'), optional=False)) params.append(QgsProcessingParameterBoolean(self.IN_SAVE_PW, description="garder en mémoire", optional=True, defaultValue=False)) for p in params: p.setFlags(p.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(p)
def initAlgorithm(self, config=None): db_param = QgsProcessingParameterString( self.DATABASE, self.tr('Database (connection name)')) db_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.ConnectionWidgetWrapper'}}) self.addParameter(db_param) self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Input layer'), types=[QgsProcessing.TypeVector])) self.addParameter(QgsProcessingParameterString(self.SHAPE_ENCODING, self.tr('Shape encoding'), "", optional=True)) self.addParameter(QgsProcessingParameterEnum(self.GTYPE, self.tr('Output geometry type'), options=self.GEOMTYPE, defaultValue=0)) self.addParameter(QgsProcessingParameterCrs(self.A_SRS, self.tr('Assign an output CRS'), defaultValue='', optional=False)) self.addParameter(QgsProcessingParameterCrs(self.T_SRS, self.tr('Reproject to this CRS on output '), defaultValue='', optional=True)) self.addParameter(QgsProcessingParameterCrs(self.S_SRS, self.tr('Override source CRS'), defaultValue='', optional=True)) schema_param = QgsProcessingParameterString( self.SCHEMA, self.tr('Schema (schema name)'), 'public', False, True) schema_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.SchemaWidgetWrapper', 'connection_param': self.DATABASE}}) self.addParameter(schema_param) table_param = QgsProcessingParameterString( self.TABLE, self.tr('Table to import to (leave blank to use layer name)'), '', False, True) table_param.setMetadata({ 'widget_wrapper': { 'class': 'processing.gui.wrappers_postgis.TableWidgetWrapper', 'schema_param': self.SCHEMA}}) self.addParameter(table_param) self.addParameter(QgsProcessingParameterString(self.PK, self.tr('Primary key (new field)'), defaultValue='id', optional=True)) self.addParameter(QgsProcessingParameterField(self.PRIMARY_KEY, self.tr( 'Primary key (existing field, used if the above option is left empty)'), parentLayerParameterName=self.INPUT, optional=True)) self.addParameter(QgsProcessingParameterString(self.GEOCOLUMN, self.tr('Geometry column name'), defaultValue='geom', optional=True)) self.addParameter(QgsProcessingParameterEnum(self.DIM, self.tr('Vector dimensions'), options=self.DIMLIST, defaultValue=0)) self.addParameter(QgsProcessingParameterString(self.SIMPLIFY, self.tr('Distance tolerance for simplification'), defaultValue='', optional=True)) self.addParameter(QgsProcessingParameterString(self.SEGMENTIZE, self.tr('Maximum distance between 2 nodes (densification)'), defaultValue='', optional=True)) self.addParameter(QgsProcessingParameterExtent(self.SPAT, self.tr( 'Select features by extent (defined in input layer CRS)'), optional=True)) self.addParameter(QgsProcessingParameterBoolean(self.CLIP, self.tr( 'Clip the input layer using the above (rectangle) extent'), defaultValue=False)) self.addParameter(QgsProcessingParameterString(self.WHERE, self.tr( 'Select features using a SQL "WHERE" statement (Ex: column=\'value\')'), defaultValue='', optional=True)) self.addParameter(QgsProcessingParameterString(self.GT, self.tr('Group N features per transaction (Default: 20000)'), defaultValue='', optional=True)) self.addParameter(QgsProcessingParameterBoolean(self.OVERWRITE, self.tr('Overwrite existing table'), defaultValue=True)) self.addParameter(QgsProcessingParameterBoolean(self.APPEND, self.tr('Append to existing table'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.ADDFIELDS, self.tr('Append and add new fields to existing table'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.LAUNDER, self.tr('Do not launder columns/table names'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.INDEX, self.tr('Do not create spatial index'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.SKIPFAILURES, self.tr( 'Continue after a failure, skipping the failed feature'), defaultValue=False)) self.addParameter(QgsProcessingParameterBoolean(self.PROMOTETOMULTI, self.tr('Promote to Multipart'), defaultValue=True)) self.addParameter(QgsProcessingParameterBoolean(self.PRECISION, self.tr('Keep width and precision of input attributes'), defaultValue=True)) self.addParameter(QgsProcessingParameterString(self.OPTIONS, self.tr('Additional creation options'), defaultValue='', optional=True))