Exemple #1
0
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
Exemple #2
0
    def initAlgorithm(self, config=None):
        self.methods = ((self.tr('Nearest Neighbour (default)'), '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(QgsProcessingParameterBoolean(self.CLEAN,
                                                        self.tr('Remove all existing overviews'),
                                                        defaultValue=False))

        if GdalUtils.version() < 230000:
            self.addParameter(QgsProcessingParameterString(self.LEVELS,
                                                           self.tr('Overview levels'),
                                                           defaultValue='2 4 8 16'))

        params = []
        if GdalUtils.version() >= 230000:
            params.append(QgsProcessingParameterString(self.LEVELS,
                                                       self.tr('Overview levels (e.g. 2 4 8 16)'),
                                                       defaultValue=None,
                                                       optional=True))
        params.append(QgsProcessingParameterEnum(self.RESAMPLING,
                                                 self.tr('Resampling method'),
                                                 options=[i[0] for i in self.methods],
                                                 allowMultiple=False,
                                                 defaultValue=None,
                                                 optional=True))
        params.append(QgsProcessingParameterEnum(self.FORMAT,
                                                 self.tr('Overviews format'),
                                                 options=self.formats,
                                                 allowMultiple=False,
                                                 defaultValue=0,
                                                 optional=True))
        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('Pyramidized')))
Exemple #3
0
    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')))
Exemple #4
0
    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))
        params.append(
            QgsProcessingParameterEnum(self.FORMAT,
                                       self.tr('Overviews format'),
                                       options=self.formats,
                                       allowMultiple=False,
                                       defaultValue=0))

        self.addOutput(
            QgsProcessingOutputRasterLayer(self.OUTPUT,
                                           self.tr('Pyramidized')))
    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')))
Exemple #6
0
 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))
Exemple #8
0
    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')))