Пример #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
Пример #2
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,
                                       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')))
Пример #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')))
Пример #4
0
    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')))
Пример #5
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')))
Пример #6
0
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))
Пример #7
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')))