def getOutputFromString(s): try: if "|" in s and s.startswith("Output"): tokens = s.split("|") params = [t if str(t) != "None" else None for t in tokens[1:]] clazz = getattr(sys.modules[__name__], tokens[0]) return clazz(*params) else: tokens = s.split("=") if not tokens[1].lower()[:len('output')] == 'output': return None name = tokens[0] description = tokens[0] token = tokens[1].strip()[len('output') + 1:] out = None if token.lower().strip().startswith('outputraster'): out = QgsProcessingOutputRasterLayer(name, description) elif token.lower().strip() == 'outputvector': out = QgsProcessingOutputVectorLayer(name, description) elif token.lower().strip() == 'outputlayer': out = QgsProcessingOutputMapLayer(name, description) elif token.lower().strip() == 'outputmultilayers': out = QgsProcessingOutputMultipleLayers(name, description) # elif token.lower().strip() == 'vector point': # out = OutputVector(datatype=[dataobjects.TYPE_VECTOR_POINT]) # elif token.lower().strip() == 'vector line': # out = OutputVector(datatype=[OutputVector.TYPE_VECTOR_LINE]) # elif token.lower().strip() == 'vector polygon': # out = OutputVector(datatype=[OutputVector.TYPE_VECTOR_POLYGON]) # elif token.lower().strip().startswith('table'): # out = OutputTable() elif token.lower().strip().startswith('outputhtml'): out = QgsProcessingOutputHtml(name, description) # elif token.lower().strip().startswith('file'): # out = OutputFile() # ext = token.strip()[len('file') + 1:] # if ext: # out.ext = ext elif token.lower().strip().startswith('outputfolder'): out = QgsProcessingOutputFolder(name, description) elif token.lower().strip().startswith('outputnumber'): out = QgsProcessingOutputNumber(name, description) elif token.lower().strip().startswith('outputstring'): out = QgsProcessingOutputString(name, description) # elif token.lower().strip().startswith('extent'): # out = OutputExtent() return out except: return None
def initAlgorithm(self, config=None): self.methods = ((self.tr('Nearest neighbour'), 'nearest'), (self.tr('Average'), 'average'), (self.tr('Gaussian'), 'gauss'), (self.tr('Cubic convolution.'), 'cubic'), (self.tr('B-Spline convolution'), 'cubicspline'), (self.tr('Lanczos windowed sinc'), 'lanczos'), (self.tr('Average MP'), 'average_mp'), (self.tr('Average in mag/phase space'), 'average_magphase'), (self.tr('Mode'), 'mode')) self.formats = (self.tr('Internal (if possible)'), self.tr('External (GTiff .ovr)'), self.tr('External (ERDAS Imagine .aux)')) self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'))) self.addParameter( QgsProcessingParameterString(self.LEVELS, self.tr('Overview levels'), defaultValue='2 4 8 16')) self.addParameter( QgsProcessingParameterBoolean( self.CLEAN, self.tr('Remove all existing overviews'), defaultValue=False)) params = [] params.append( QgsProcessingParameterEnum(self.RESAMPLING, self.tr('Resampling method'), options=[i[0] for i in self.methods], allowMultiple=False, defaultValue=0, optional=True)) params.append( QgsProcessingParameterEnum(self.FORMAT, self.tr('Overviews format'), options=self.formats, allowMultiple=False, defaultValue=0, optional=True)) for p in params: p.setFlags(p.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(p) self.addOutput( QgsProcessingOutputRasterLayer(self.OUTPUT, self.tr('Pyramidized')))
def __init__(self): super().__init__() self.addParameter( QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Elevation layer'))) self.addParameter( QgsProcessingParameterNumber(self.Z_FACTOR, self.tr('Z factor'), QgsProcessingParameterNumber.Double, 1, False, 1, 999999.99)) self.addParameter( QgsProcessingParameterRasterDestination(self.OUTPUT, self.tr('Aspect'))) self.addOutput( QgsProcessingOutputRasterLayer(self.OUTPUT, self.tr('Aspect')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Input vector layer'))) self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT_RASTER, self.tr('Input raster layer'))) self.addParameter(QgsProcessingParameterNumber(self.BURN, self.tr('A fixed value to burn'), type=QgsProcessingParameterNumber.Double, defaultValue=0.0)) params = [] params.append(QgsProcessingParameterBoolean(self.ADD, self.tr('Add burn in values to existing raster values'), defaultValue=False)) params.append(QgsProcessingParameterString(self.EXTRA, self.tr('Additional command-line parameters'), defaultValue=None, optional=True)) for p in params: p.setFlags(p.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(p) self.addOutput(QgsProcessingOutputRasterLayer(self.OUTPUT, self.tr('Rasterized')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Raster layer'))) self.addParameter(QgsProcessingParameterFile(self.STYLE, self.tr('Style file'), extension='qml')) self.addOutput(QgsProcessingOutputRasterLayer(self.INPUT, self.tr('Styled')))
import processing info_extent= '795825.2212942,796084.9317131,6674126.9668843,6674710.7083225 [EPSG:2154]' from processing.tools.system import getTempFilename nom_raster_temp = getTempFilename( "tif") from qgis.core import QgsProcessingOutputRasterLayer raster_temp = QgsProcessingOutputRasterLayer( nom_raster_temp) print( raster_temp) print( raster_temp.name()) shape_point = "/data/GIS/DATA/DATA_PHY/SORTIE_PHY/PHY3/vecteur/PHY3_POINTS_SANS_0_L93.shp" IDW_GDAL = { 'INPUT' : shape_point, 'Z_FIELD' : 'DIAM', 'POWER' : 2, 'SMOOTHING' : 0, 'RADIUS_1' : 3, 'RADIUS_2' : 3, 'ANGLE' : 0, 'MAX_POINTS' : 1, 'MIN_POINTS' : 1, 'NODATA' : -9999, 'OPTIONS' : '', 'DATA_TYPE' : 5, 'OUTPUT' : nom_raster_temp } #IDW_QGIS = {'INTERPOLATION_DATA': shape_point_attr, #'DISTANCE_COEFFICIENT':5, \ #'COLUMNS':650,'ROWS':418, #'EXTENT':'795825.2212942,796084.9317131,6674126.9668843,6674710.7083225 [EPSG:2154]', #'OUTPUT' : nom_raster_temp #} print( IDW_GDAL) retour_idw = processing.run("gdal:gridinversedistance", IDW_GDAL) print( "Fin IDW GDAL {0}".format( retour_idw))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterRasterLayer(self.INPUT, self.tr('Input layer'), optional=False)) self.addParameter(QgsProcessingParameterCrs(self.CRS, self.tr('Desired CRS'))) self.addOutput(QgsProcessingOutputRasterLayer(self.OUTPUT, self.tr('Layer with projection')))