Esempio n. 1
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-a')
        arguments.append(str(self.getParameterValue(self.FIELD)))

        dimType = self.getParameterValue(self.DIMENSIONS)
        if dimType == 0:
            # size in pixels
            arguments.append('-ts')
        else:
            # resolution in map units per pixel
            arguments.append('-tr')
        arguments.append(str(self.getParameterValue(self.WIDTH)))
        arguments.append(str(self.getParameterValue(self.HEIGHT)))

        arguments.append('-l')
        arguments.append(
                os.path.basename(os.path.splitext(
                        unicode(self.getParameterValue(self.INPUT)))[0]))
        arguments.append(unicode(self.getParameterValue(self.INPUT)))

        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        GdalUtils.runGdal(['gdal_rasterize',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 2
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(self.OUTPUT)
        mask = self.getParameterValue(self.MASK)
        noData = str(self.getParameterValue(self.NO_DATA))
        addAlphaBand = self.getParameterValue(self.ALPHA_BAND)
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        arguments.append("-q")
        arguments.append("-of")
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append("-dstnodata")
        arguments.append(noData)

        arguments.append("-cutline")
        arguments.append(mask)
        arguments.append("-crop_to_cutline")

        if addAlphaBand:
            arguments.append("-dstalpha")

        if len(extra) > 0:
            arguments.append(extra)

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(["gdalwarp", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 3
0
    def processAlgorithm(self, progress):
        arguments = ['hillshade']
        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        arguments.append('-b')
        arguments.append(str(self.getParameterValue(self.BAND)))
        arguments.append('-z')
        arguments.append(str(self.getParameterValue(self.Z_FACTOR)))
        arguments.append('-s')
        arguments.append(str(self.getParameterValue(self.SCALE)))
        arguments.append('-az')
        arguments.append(str(self.getParameterValue(self.AZIMUTH)))
        arguments.append('-alt')
        arguments.append(str(self.getParameterValue(self.ALTITUDE)))

        if self.getParameterValue(self.COMPUTE_EDGES):
            arguments.append('-compute_edges')

        if self.getParameterValue(self.ZEVENBERGEN):
            arguments.append('-alg')
            arguments.append('ZevenbergenThorne')

        GdalUtils.runGdal(['gdaldem',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 4
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(self.OUTPUT)
        noData = str(self.getParameterValue(self.NO_DATA))
        projwin = str(self.getParameterValue(self.PROJWIN))
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        arguments.append("-of")
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append("-a_nodata")
        arguments.append(noData)

        regionCoords = projwin.split(",")
        arguments.append("-projwin")
        arguments.append(regionCoords[0])
        arguments.append(regionCoords[3])
        arguments.append(regionCoords[1])
        arguments.append(regionCoords[2])

        if len(extra) > 0:
            arguments.append(extra)

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(["gdal_translate", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 5
0
    def processAlgorithm(self, progress):
        inFile = self.getParameterValue(self.INPUT)
        clearOverviews = self.getParameterValue(self.CLEAN)
        ovrFormat = self.getParameterValue(self.FORMAT)

        arguments = []
        arguments.append(inFile)
        if clearOverviews:
            arguments.append('-clean')
        arguments.append('-r')
        arguments.append(self.METHODS[self.getParameterValue(
            self.RESAMPLING_METHOD)])

        if ovrFormat == 1:
            # external .ovr
            arguments.append('-ro')
        elif ovrFormat == 2:
            # external .aux
            arguments.extend('--config USE_RRD YES'.split(' '))

        arguments.extend(self.getParameterValue(self.LEVELS).split(' '))
        self.setOutputValue(self.OUTPUT, inFile)

        GdalUtils.runGdal(
            ['gdaladdo', GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 6
0
    def processAlgorithm(self, progress):
        output = self.getOutputValue(self.OUTPUT)

        arguments = []
        arguments.append("-md")
        arguments.append(str(self.getParameterValue(self.DISTANCE)))

        if self.getParameterValue(self.ITERATIONS) != 0:
            arguments.append("-si")
            arguments.append(str(self.getParameterValue(self.ITERATIONS)))

        arguments.append("-b")
        arguments.append(str(self.getParameterValue(self.BAND)))

        mask = self.getParameterValue(self.MASK)
        if mask is not None:
            arguments.append("-mask")
            arguments.append(mask)

        if self.getParameterValue(self.NO_DEFAULT_MASK):
            arguments.append("-nomask")

        arguments.append("-of")
        arguments.append(GdalUtils.getFormatShortNameFromFilename(output))

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(output)

        commands = []
        if isWindows():
            commands = ["cmd.exe", "/C ", "gdal_fillnodata.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["gdal_fillnodata.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 7
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-s_srs')
        arguments.append(str(self.getParameterValue(self.SOURCE_SRS)))
        arguments.append('-t_srs')
        crsId = self.getParameterValue(self.DEST_SRS)
        self.crs = QgsCoordinateReferenceSystem(crsId)
        arguments.append(str(crsId))
        arguments.append('-r')
        arguments.append(self.METHOD_OPTIONS[self.getParameterValue(
            self.METHOD)])
        arguments.append('-of')
        out = self.getOutputValue(self.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        if self.getParameterValue(self.TR) != 0:
            arguments.append('-tr')
            arguments.append(str(self.getParameterValue(self.TR)))
            arguments.append(str(self.getParameterValue(self.TR)))
        extra = str(self.getParameterValue(self.EXTRA))
        if len(extra) > 0:
            arguments.append(extra)
        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(
            ['gdalwarp', GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 8
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-s_srs')
        arguments.append(str(self.getParameterValue(self.SOURCE_SRS)))
        arguments.append('-t_srs')
        crsId = self.getParameterValue(self.DEST_SRS)
        self.crs = QgsCoordinateReferenceSystem(crsId)
        arguments.append(str(crsId))
        arguments.append('-r')
        arguments.append(
                self.METHOD_OPTIONS[self.getParameterValue(self.METHOD)])
        arguments.append('-of')
        out = self.getOutputValue(self.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        if self.getParameterValue(self.TR) != 0:
            arguments.append('-tr')
            arguments.append(str(self.getParameterValue(self.TR)))
            arguments.append(str(self.getParameterValue(self.TR)))
        extra = str(self.getParameterValue(self.EXTRA))
        if len(extra) > 0:
            arguments.append(extra)
        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(['gdalwarp', GdalUtils.escapeAndJoin(arguments)],
                          progress)
Esempio n. 9
0
    def processAlgorithm(self, progress):
        arguments = ['-l']
        arguments.append(
            os.path.basename(
                os.path.splitext(unicode(self.getParameterValue(
                    self.INPUT)))[0]))

        fieldName = self.getParameterValue(self.Z_FIELD)
        if fieldName is not None and fieldName != '':
            arguments.append('-zfield')
            arguments.append(fieldName)

        params = 'invdist'
        params += ':power=%s' % self.getParameterValue(self.POWER)
        params += ':smothing=%s' % self.getParameterValue(self.SMOTHING)
        params += ':radius1=%s' % self.getParameterValue(self.RADIUS_1)
        params += ':radius2=%s' % self.getParameterValue(self.RADIUS_2)
        params += ':angle=%s' % self.getParameterValue(self.ANGLE)
        params += ':max_points=%s' % self.getParameterValue(self.MAX_POINTS)
        params += ':min_points=%s' % self.getParameterValue(self.MIN_POINTS)
        params += ':nodata=%s' % self.getParameterValue(self.NODATA)

        arguments.append('-a')
        arguments.append(params)

        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        GdalUtils.runGdal(
            ['gdal_grid', GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 10
0
    def processAlgorithm(self, progress):
        output = self.getOutputValue(self.OUTPUT)

        arguments = []
        arguments.append('-st')
        arguments.append(str(self.getParameterValue(self.THRESHOLD)))

        arguments.append('-' +
                self.PIXEL_CONNECTIONS[self.getParameterValue(
                        self.CONNECTIONS)])

        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(output))

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(output)

        commands = []
        if isWindows():
            commands = ['cmd.exe', '/C ', 'gdal_sieve.bat',
                        GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ['gdal_sieve.py', GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 11
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-a')
        arguments.append(str(self.getParameterValue(self.FIELD)))

        dimType = self.getParameterValue(self.DIMENSIONS)
        if dimType == 0:
            # size in pixels
            arguments.append('-ts')
        else:
            # resolution in map units per pixel
            arguments.append('-tr')
        arguments.append(str(self.getParameterValue(self.WIDTH)))
        arguments.append(str(self.getParameterValue(self.HEIGHT)))

        arguments.append('-l')
        arguments.append(
            os.path.basename(
                os.path.splitext(unicode(self.getParameterValue(
                    self.INPUT)))[0]))
        arguments.append(unicode(self.getParameterValue(self.INPUT)))

        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        GdalUtils.runGdal(
            ['gdal_rasterize',
             GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 12
0
    def processAlgorithm(self, progress):
        inFile = self.getParameterValue(self.INPUT)
        clearOverviews = self.getParameterValue(self.CLEAN)
        ovrFormat = self.getParameterValue(self.FORMAT)

        arguments = []
        arguments.append(inFile)
        if clearOverviews:
            arguments.append('-clean')
        arguments.append('-r')
        arguments.append(
                self.METHODS[self.getParameterValue(self.RESAMPLING_METHOD)])

        if ovrFormat == 1:
            # external .ovr
            arguments.append('-ro')
        elif ovrFormat == 2:
            # external .aux
            arguments.extend('--config USE_RRD YES'.split(' '))

        arguments.extend(self.getParameterValue(self.LEVELS).split(' '))
        self.setOutputValue(self.OUTPUT, inFile)

        GdalUtils.runGdal(['gdaladdo', GdalUtils.escapeAndJoin(arguments)],
                          progress)
Esempio n. 13
0
    def processAlgorithm(self, progress):
        arguments = ['-l']
        arguments.append(
                os.path.basename(os.path.splitext(
                        unicode(self.getParameterValue(self.INPUT)))[0]))

        fieldName = self.getParameterValue(self.Z_FIELD)
        if fieldName is not None and fieldName != '':
            arguments.append('-zfield')
            arguments.append(fieldName)

        params = 'invdist'
        params += ':power=%s' % self.getParameterValue(self.POWER)
        params += ':smothing=%s' % self.getParameterValue(self.SMOTHING)
        params += ':radius1=%s' % self.getParameterValue(self.RADIUS_1)
        params += ':radius2=%s' % self.getParameterValue(self.RADIUS_2)
        params += ':angle=%s' % self.getParameterValue(self.ANGLE)
        params += ':max_points=%s' % self.getParameterValue(self.MAX_POINTS)
        params += ':min_points=%s' % self.getParameterValue(self.MIN_POINTS)
        params += ':nodata=%s' % self.getParameterValue(self.NODATA)

        arguments.append('-a')
        arguments.append(params)

        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        GdalUtils.runGdal(['gdal_grid',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 14
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(self.OUTPUT)
        noData = str(self.getParameterValue(self.NO_DATA))
        projwin = str(self.getParameterValue(self.PROJWIN))
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append('-a_nodata')
        arguments.append(noData)

        regionCoords = projwin.split(',')
        arguments.append('-projwin')
        arguments.append(regionCoords[0])
        arguments.append(regionCoords[3])
        arguments.append(regionCoords[1])
        arguments.append(regionCoords[2])

        if len(extra) > 0:
            arguments.append(extra)

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(
            ['gdal_translate',
             GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 15
0
    def processAlgorithm(self, progress):
        arguments = []
        inFile = self.getParameterValue(gdaladdo.INPUT)
        arguments.append(inFile)
        arguments.extend(self.getParameterValue(gdaladdo.LEVELS).split(" "))
        self.setOutputValue(gdaladdo.OUTPUT, inFile)

        GdalUtils.runGdal(["gdaladdo", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 16
0
    def processAlgorithm(self, progress):
        arguments = []
        inFile = self.getParameterValue(gdaladdo.INPUT)
        arguments.append(inFile)
        arguments.extend(self.getParameterValue(gdaladdo.LEVELS).split(" "))
        self.setOutputValue(gdaladdo.OUTPUT, inFile)

        GdalUtils.runGdal(
            ["gdaladdo", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 17
0
 def processAlgorithm(self, progress):
     arguments = []
     arguments.append("-o")
     arguments.append(self.getOutputValue(nearblack.OUTPUT))
     arguments.append("-near")
     arguments.append(str(self.getParameterValue(nearblack.NEAR)))
     if self.getParameterValue(nearblack.WHITE):
         arguments.append("-white")
     arguments.append(self.getParameterValue(nearblack.INPUT))
     GdalUtils.runGdal(["nearblack", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 18
0
 def processAlgorithm(self, progress):
     arguments = []
     arguments.append("-o")
     arguments.append(self.getOutputValue(nearblack.OUTPUT))
     arguments.append("-near")
     arguments.append(str(self.getParameterValue(nearblack.NEAR)))
     if self.getParameterValue(nearblack.WHITE):
         arguments.append("-white")
     arguments.append(self.getParameterValue(nearblack.INPUT))
     GdalUtils.runGdal(["nearblack", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 19
0
    def processAlgorithm(self, progress):
        arguments = ["TPI"]
        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        arguments.append("-b")
        arguments.append(str(self.getParameterValue(self.BAND)))

        if self.getParameterValue(self.COMPUTE_EDGES):
            arguments.append("-compute_edges")

        GdalUtils.runGdal(["gdaldem", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 20
0
 def processAlgorithm(self, progress):
     arguments = []
     if self.getParameterValue(information.NOGCP):
         arguments.append("-nogcp")
     if self.getParameterValue(information.NOMETADATA):
         arguments.append("-nomd")
     arguments.append(self.getParameterValue(information.INPUT))
     GdalUtils.runGdal(["gdalinfo", GdalUtils.escapeAndJoin(arguments)], progress)
     output = self.getOutputValue(information.OUTPUT)
     f = open(output, "w")
     for s in GdalUtils.getConsoleOutput()[1:]:
         f.write("<p>" + str(s) + "</p>")
     f.close()
Esempio n. 21
0
    def processAlgorithm(self, progress):
        arguments = ['TRI']
        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        arguments.append('-b')
        arguments.append(str(self.getParameterValue(self.BAND)))

        if self.getParameterValue(self.COMPUTE_EDGES):
            arguments.append('-compute_edges')

        GdalUtils.runGdal(['gdaldem',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 22
0
    def processAlgorithm(self, progress):
        arguments = ['roughness']
        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        arguments.append('-b')
        arguments.append(str(self.getParameterValue(self.BAND)))

        if self.getParameterValue(self.COMPUTE_EDGES):
            arguments.append('-compute_edges')

        GdalUtils.runGdal(['gdaldem',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 23
0
 def processAlgorithm(self, progress):
     arguments = []
     if self.getParameterValue(information.NOGCP):
         arguments.append('-nogcp')
     if self.getParameterValue(information.NOMETADATA):
         arguments.append('-nomd')
     arguments.append(self.getParameterValue(information.INPUT))
     GdalUtils.runGdal(['gdalinfo', GdalUtils.escapeAndJoin(arguments)],
                       progress)
     output = self.getOutputValue(information.OUTPUT)
     f = open(output, 'w')
     for s in GdalUtils.getConsoleOutput()[1:]:
         f.write('<p>' + str(s) + '</p>')
     f.close()
Esempio n. 24
0
 def processAlgorithm(self, progress):
     arguments = []
     if self.getParameterValue(information.NOGCP):
         arguments.append("-nogcp")
     if self.getParameterValue(information.NOMETADATA):
         arguments.append("-nomd")
     arguments.append(self.getParameterValue(information.INPUT))
     GdalUtils.runGdal(
         ["gdalinfo", GdalUtils.escapeAndJoin(arguments)], progress)
     output = self.getOutputValue(information.OUTPUT)
     f = open(output, "w")
     for s in GdalUtils.getConsoleOutput()[1:]:
         f.write("<p>" + str(s) + "</p>")
     f.close()
Esempio n. 25
0
 def processAlgorithm(self, progress):
     arguments = []
     if self.getParameterValue(information.NOGCP):
         arguments.append('-nogcp')
     if self.getParameterValue(information.NOMETADATA):
         arguments.append('-nomd')
     arguments.append(self.getParameterValue(information.INPUT))
     GdalUtils.runGdal(['gdalinfo', GdalUtils.escapeAndJoin(arguments)],
                       progress)
     output = self.getOutputValue(information.OUTPUT)
     f = open(output, 'w')
     for s in GdalUtils.getConsoleOutput()[1:]:
         f.write('<p>' + str(s) + '</p>')
     f.close()
Esempio n. 26
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(translate.OUTPUT)
        outsize = str(self.getParameterValue(translate.OUTSIZE))
        outsizePerc = str(self.getParameterValue(translate.OUTSIZE_PERC))
        noData = str(self.getParameterValue(translate.NO_DATA))
        expand = str(
            self.getParameterFromName(
                translate.EXPAND).options[self.getParameterValue(
                    translate.EXPAND)])
        projwin = str(self.getParameterValue(translate.PROJWIN))
        crsId = self.getParameterValue(translate.SRS)
        sds = self.getParameterValue(translate.SDS)
        extra = str(self.getParameterValue(translate.EXTRA))

        arguments = []
        arguments.append("-of")
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        if outsizePerc == "True":
            arguments.append("-outsize")
            arguments.append(outsize + "%")
            arguments.append(outsize + "%")
        else:
            arguments.append("-outsize")
            arguments.append(outsize)
            arguments.append(outsize)
        arguments.append("-a_nodata")
        arguments.append(noData)
        if expand != "none":
            arguments.append("-expand")
            arguments.append(expand)
        regionCoords = projwin.split(",")
        arguments.append("-projwin")
        arguments.append(regionCoords[0])
        arguments.append(regionCoords[3])
        arguments.append(regionCoords[1])
        arguments.append(regionCoords[2])
        if crsId is not None:
            arguments.append("-a_srs")
            arguments.append(str(crsId))
        if sds:
            arguments.append("-sds")
        if len(extra) > 0:
            arguments.append(extra)
        arguments.append(self.getParameterValue(translate.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(
            ["gdal_translate",
             GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 27
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append("-n")
        arguments.append(str(self.getParameterValue(rgb2pct.NCOLORS)))
        arguments.append("-of")
        out = self.getOutputValue(rgb2pct.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append(self.getParameterValue(rgb2pct.INPUT))
        arguments.append(out)

        if isWindows():
            commands = ["cmd.exe", "/C ", "rgb2pct.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["rgb2pct.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 28
0
def getSupportedOutputRasterLayerExtensions():
    allexts = ['tif']
    for exts in GdalUtils.getSupportedRasters().values():
        for ext in exts:
            if ext not in allexts:
                allexts.append(ext)
    return allexts
Esempio n. 29
0
def getSupportedOutputRasterLayerExtensions():
    allexts = ['tif']
    for exts in GdalUtils.getSupportedRasters().values():
        for ext in exts:
            if ext not in allexts:
                allexts.append(ext)
    return allexts
Esempio n. 30
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append(self.getParameterValue(polygonize.INPUT))
        arguments.append('-f')
        arguments.append('"ESRI Shapefile"')
        output = self.getOutputValue(polygonize.OUTPUT)
        arguments.append(output)
        arguments.append(QtCore.QFileInfo(output).baseName())
        arguments.append(self.getParameterValue(polygonize.FIELD))

        commands = []
        if ProcessingUtils.isWindows():
            commands = ["cmd.exe", "/C ", "gdal_polygonize.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["gdal_polygonize.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 31
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(translate.OUTPUT)
        outsize = str(self.getParameterValue(self.OUTSIZE))
        outsizePerc = str(self.getParameterValue(self.OUTSIZE_PERC))
        noData = str(self.getParameterValue(self.NO_DATA))
        expand = str(self.getParameterFromName(
                self.EXPAND).options[self.getParameterValue(self.EXPAND)])
        projwin = str(self.getParameterValue(self.PROJWIN))
        crsId = self.getParameterValue(self.SRS)
        sds = self.getParameterValue(self.SDS)
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        if outsizePerc == 'True':
            arguments.append('-outsize')
            arguments.append(outsize + '%')
            arguments.append(outsize + '%')
        else:
            arguments.append('-outsize')
            arguments.append(outsize)
            arguments.append(outsize)
        arguments.append('-a_nodata')
        arguments.append(noData)
        if expand != 'none':
            arguments.append('-expand')
            arguments.append(expand)
        regionCoords = projwin.split(',')
        arguments.append('-projwin')
        arguments.append(regionCoords[0])
        arguments.append(regionCoords[3])
        arguments.append(regionCoords[1])
        arguments.append(regionCoords[2])
        if crsId is not None:
            arguments.append('-a_srs')
            arguments.append(str(crsId))
        if sds:
            arguments.append('-sds')
        if len(extra) > 0:
            arguments.append(extra)
        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(['gdal_translate',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 32
0
 def getFormatShortNameFromFilename(self, filename):
     ext = filename[filename.rfind('.') + 1:]
     supported = GdalUtils.getSupportedRasters()
     for name in supported.keys():
         exts = supported[name]
         if ext in exts:
             return name
     return 'GTiff'
Esempio n. 33
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-band')
        arguments.append(str(self.getParameterValue(self.BAND)))

        arguments.append('-csv')
        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(self.getOutputValue(self.OUTPUT))

        commands = []
        if isWindows():
            commands = ['cmd.exe', '/C ', 'gdal2xyz.bat',
                        GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ['gdal2xyz.py', GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 34
0
 def getFormatShortNameFromFilename(self, filename):
     ext = filename[filename.rfind(".") + 1 :]
     supported = GdalUtils.getSupportedRasters()
     for name in supported.keys():
         exts = supported[name]
         if ext in exts:
             return name
     return "GTiff"
Esempio n. 35
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append("-b")
        arguments.append(str(self.getParameterValue(pct2rgb.NBAND) + 1))
        arguments.append("-of")
        out = self.getOutputValue(pct2rgb.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append(self.getParameterValue(pct2rgb.INPUT))
        arguments.append(out)

        commands = []
        if ProcessingUtils.isWindows():
            commands = ["cmd.exe", "/C ", "pct2rgb.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["pct2rgb.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 36
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-b')
        arguments.append(str(self.getParameterValue(pct2rgb.NBAND) + 1))
        arguments.append('-of')
        out = self.getOutputValue(pct2rgb.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append(self.getParameterValue(pct2rgb.INPUT))
        arguments.append(out)

        commands = []
        if isWindows():
            commands = ['cmd.exe', '/C ', 'pct2rgb.bat',
                        GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ['pct2rgb.py', GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 37
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(translate.OUTPUT)
        outsize = str(self.getParameterValue(translate.OUTSIZE))
        outsizePerc = str(self.getParameterValue(translate.OUTSIZE_PERC))
        noData = str(self.getParameterValue(translate.NO_DATA))
        expand = str(self.getParameterFromName(translate.EXPAND).options[self.getParameterValue(translate.EXPAND)])
        projwin = str(self.getParameterValue(translate.PROJWIN))
        crsId = self.getParameterValue(translate.SRS)
        sds = self.getParameterValue(translate.SDS)
        extra = str(self.getParameterValue(translate.EXTRA))

        arguments = []
        arguments.append("-of")
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        if outsizePerc == "True":
            arguments.append("-outsize")
            arguments.append(outsize + "%")
            arguments.append(outsize + "%")
        else:
            arguments.append("-outsize")
            arguments.append(outsize)
            arguments.append(outsize)
        arguments.append("-a_nodata")
        arguments.append(noData)
        if expand != "none":
            arguments.append("-expand")
            arguments.append(expand)
        regionCoords = projwin.split(",")
        arguments.append("-projwin")
        arguments.append(regionCoords[0])
        arguments.append(regionCoords[3])
        arguments.append(regionCoords[1])
        arguments.append(regionCoords[2])
        if crsId is not None:
            arguments.append("-a_srs")
            arguments.append(str(crsId))
        if sds:
            arguments.append("-sds")
        if len(extra) > 0:
            arguments.append(extra)
        arguments.append(self.getParameterValue(translate.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(["gdal_translate", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 38
0
    def processAlgorithm(self, progress):
        interval = str(self.getParameterValue(self.INTERVAL))
        fieldName = str(self.getParameterValue(self.FIELD_NAME))
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        if len(fieldName) > 0:
            arguments.append("-a")
            arguments.append(fieldName)
        arguments.append("-i")
        arguments.append(interval)

        if len(extra) > 0:
            arguments.append(extra)

        arguments.append(self.getParameterValue(self.INPUT_RASTER))
        arguments.append(self.getOutputValue(self.OUTPUT_VECTOR))

        GdalUtils.runGdal(["gdal_contour", GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 39
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append("-n")
        arguments.append(str(self.getParameterValue(rgb2pct.NCOLORS)))
        arguments.append("-of")
        out = self.getOutputValue(rgb2pct.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append(self.getParameterValue(rgb2pct.INPUT))
        arguments.append(out)

        if ProcessingUtils.isWindows():
            commands = [
                "cmd.exe", "/C ", "rgb2pct.bat",
                GdalUtils.escapeAndJoin(arguments)
            ]
        else:
            commands = ["rgb2pct.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 40
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-n')
        arguments.append(str(self.getParameterValue(rgb2pct.NCOLORS)))
        arguments.append('-of')
        out = self.getOutputValue(rgb2pct.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append(self.getParameterValue(rgb2pct.INPUT))
        arguments.append(out)

        if isWindows():
            commands = [
                'cmd.exe', '/C ', 'rgb2pct.bat',
                GdalUtils.escapeAndJoin(arguments)
            ]
        else:
            commands = ['rgb2pct.py', GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 41
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append('-band')
        arguments.append(str(self.getParameterValue(self.BAND)))

        arguments.append('-csv')
        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(self.getOutputValue(self.OUTPUT))

        commands = []
        if isWindows():
            commands = [
                'cmd.exe', '/C ', 'gdal2xyz.bat',
                GdalUtils.escapeAndJoin(arguments)
            ]
        else:
            commands = ['gdal2xyz.py', GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 42
0
    def processAlgorithm(self, progress):
        output = self.getOutputValue(self.OUTPUT)

        arguments = []
        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(output)

        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(output))

        arguments.append('-distunits')
        arguments.append(self.DISTUNITS[self.getParameterValue(self.UNITS)])

        values = self.getParameterValue(self.VALUES)
        if len(values) > 0:
            arguments.append('-values')
            arguments.append(values)

        values = str(self.getParameterValue(self.MAX_DIST))
        if values < 0:
            arguments.append('-maxdist')
            arguments.append(values)

        values = str(self.getParameterValue(self.NODATA))
        if values < 0:
            arguments.append('-nodata')
            arguments.append(values)

        values = str(self.getParameterValue(self.BUF_VAL))
        if values < 0:
            arguments.append('-fixed-buf-val')
            arguments.append(values)

        commands = []
        if isWindows():
            commands = ['cmd.exe', '/C ', 'gdal_proximity.bat',
                        GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ['gdal_proximity.py',
                        GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 43
0
    def processAlgorithm(self, progress):
        output = self.getOutputValue(self.OUTPUT)

        arguments = []
        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(output)

        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(output))

        arguments.append('-distunits')
        arguments.append(self.DISTUNITS[self.getParameterValue(self.UNITS)])

        values = self.getParameterValue(self.VALUES)
        if len(values) > 0:
            arguments.append('-values')
            arguments.append(values)

        values = str(self.getParameterValue(self.MAX_DIST))
        if values < 0:
            arguments.append('-maxdist')
            arguments.append(values)

        values = str(self.getParameterValue(self.NODATA))
        if values < 0:
            arguments.append('-nodata')
            arguments.append(values)

        values = str(self.getParameterValue(self.BUF_VAL))
        if values < 0:
            arguments.append('-fixed-buf-val')
            arguments.append(values)

        commands = []
        if isWindows():
            commands = ['cmd.exe', '/C ', 'gdal_proximity.bat',
                        GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ['gdal_proximity.py',
                        GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 44
0
    def processAlgorithm(self, progress):
        interval = str(self.getParameterValue(self.INTERVAL))
        fieldName = str(self.getParameterValue(self.FIELD_NAME))
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        if len(fieldName) > 0:
            arguments.append('-a')
            arguments.append(fieldName)
        arguments.append('-i')
        arguments.append(interval)

        if len(extra) > 0:
            arguments.append(extra)

        arguments.append(self.getParameterValue(self.INPUT_RASTER))
        arguments.append(self.getOutputValue(self.OUTPUT_VECTOR))

        GdalUtils.runGdal(['gdal_contour',
                           GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 45
0
    def processAlgorithm(self, progress):
        arguments = []
        if self.getParameterValue(merge.SEPARATE):
            arguments.append("-separate")
        if self.getParameterValue(merge.PCT):
            arguments.append("-pct")
        arguments.append("-o")
        out = self.getOutputValue(merge.OUTPUT)
        arguments.append(out)
        arguments.append("-of")
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.extend(self.getParameterValue(merge.INPUT).split(";"))

        commands = []
        if ProcessingUtils.isWindows():
            commands = ["cmd.exe", "/C ", "gdal_merge.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["gdal_merge.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 46
0
    def processAlgorithm(self, progress):
        arguments = ['-l']
        arguments.append(
            os.path.basename(
                os.path.splitext(unicode(self.getParameterValue(
                    self.INPUT)))[0]))

        fieldName = self.getParameterValue(self.Z_FIELD)
        if fieldName is not None and fieldName != '':
            arguments.append('-zfield')
            arguments.append(fieldName)

        metric = self.getParameterValue(self.METRIC)
        if metric == 0:
            params = 'minimum'
        elif metric == 1:
            params = 'maximum'
        elif metric == 2:
            params = 'range'
        elif metric == 3:
            params = 'count'
        elif metric == 4:
            params = 'average_distance'
        elif metric == 5:
            params = 'average_distance_pts'

        params += ':radius1=%s' % self.getParameterValue(self.RADIUS_1)
        params += ':radius2=%s' % self.getParameterValue(self.RADIUS_2)
        params += ':angle=%s' % self.getParameterValue(self.ANGLE)
        params += ':min_points=%s' % self.getParameterValue(self.MIN_POINTS)
        params += ':nodata=%s' % self.getParameterValue(self.NODATA)

        arguments.append('-a')
        arguments.append(params)

        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        GdalUtils.runGdal(
            ['gdal_grid', GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 47
0
    def processAlgorithm(self, progress):
        arguments = ['-l']
        arguments.append(
                os.path.basename(os.path.splitext(
                        unicode(self.getParameterValue(self.INPUT)))[0]))

        fieldName = self.getParameterValue(self.Z_FIELD)
        if fieldName is not None and fieldName != '':
            arguments.append('-zfield')
            arguments.append(fieldName)

        metric = self.getParameterValue(self.METRIC)
        if metric == 0:
            params = 'minimum'
        elif metric == 1:
            params = 'maximum'
        elif metric == 2:
            params = 'range'
        elif metric == 3:
            params = 'count'
        elif metric == 4:
            params = 'average_distance'
        elif metric == 5:
            params = 'average_distance_pts'

        params += ':radius1=%s' % self.getParameterValue(self.RADIUS_1)
        params += ':radius2=%s' % self.getParameterValue(self.RADIUS_2)
        params += ':angle=%s' % self.getParameterValue(self.ANGLE)
        params += ':min_points=%s' % self.getParameterValue(self.MIN_POINTS)
        params += ':nodata=%s' % self.getParameterValue(self.NODATA)

        arguments.append('-a')
        arguments.append(params)

        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        GdalUtils.runGdal(['gdal_grid',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 48
0
    def processAlgorithm(self, progress):
        arguments = ['slope']
        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        arguments.append('-b')
        arguments.append(str(self.getParameterValue(self.BAND)))
        arguments.append('-s')
        arguments.append(str(self.getParameterValue(self.SCALE)))

        if self.getParameterValue(self.COMPUTE_EDGES):
            arguments.append('-compute_edges')

        if self.getParameterValue(self.ZEVENBERGEN):
            arguments.append('-alg')
            arguments.append('ZevenbergenThorne')

        if self.getParameterValue(self.AS_PERCENT):
            arguments.append('-p')

        GdalUtils.runGdal(
            ['gdaldem', GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 49
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(self.OUTPUT)
        mask = self.getParameterValue(self.MASK)
        noData = str(self.getParameterValue(self.NO_DATA))
        addAlphaBand = self.getParameterValue(self.ALPHA_BAND)
        keepResolution = self.getParameterValue(self.KEEP_RESOLUTION)
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        arguments.append('-q')
        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append('-dstnodata')
        arguments.append(noData)

        if keepResolution:
            r = gdal.Open(self.getParameterValue(self.INPUT))
            geoTransform = r.GetGeoTransform()
            r = None
            arguments.append('-tr')
            arguments.append(str(geoTransform[1]))
            arguments.append(str(geoTransform[5]))
            arguments.append('-tap')

        arguments.append('-cutline')
        arguments.append(mask)
        arguments.append('-crop_to_cutline')

        if addAlphaBand:
            arguments.append('-dstalpha')

        if len(extra) > 0:
            arguments.append(extra)

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(['gdalwarp', GdalUtils.escapeAndJoin(arguments)],
                          progress)
Esempio n. 50
0
    def processAlgorithm(self, progress):
        out = self.getOutputValue(self.OUTPUT)
        mask = self.getParameterValue(self.MASK)
        noData = str(self.getParameterValue(self.NO_DATA))
        addAlphaBand = self.getParameterValue(self.ALPHA_BAND)
        keepResolution = self.getParameterValue(self.KEEP_RESOLUTION)
        extra = str(self.getParameterValue(self.EXTRA))

        arguments = []
        arguments.append('-q')
        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.append('-dstnodata')
        arguments.append(noData)

        if keepResolution:
            r = gdal.Open(self.getParameterValue(self.INPUT))
            geoTransform = r.GetGeoTransform()
            r = None
            arguments.append('-tr')
            arguments.append(str(geoTransform[1]))
            arguments.append(str(geoTransform[5]))
            arguments.append('-tap')

        arguments.append('-cutline')
        arguments.append(mask)
        arguments.append('-crop_to_cutline')

        if addAlphaBand:
            arguments.append('-dstalpha')

        if len(extra) > 0:
            arguments.append(extra)

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(
            ['gdalwarp', GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 51
0
    def processAlgorithm(self, progress):
        arguments = []
        if self.getParameterValue(merge.SEPARATE):
            arguments.append('-separate')
        if self.getParameterValue(merge.PCT):
            arguments.append('-pct')
        arguments.append('-o')
        out = self.getOutputValue(merge.OUTPUT)
        arguments.append(out)
        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        arguments.extend(self.getParameterValue(merge.INPUT).split(';'))

        commands = []
        if isWindows():
            commands = [
                'cmd.exe', '/C ', 'gdal_merge.bat',
                GdalUtils.escapeAndJoin(arguments)
            ]
        else:
            commands = ['gdal_merge.py', GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 52
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append(self.getParameterValue(polygonize.INPUT))
        arguments.append('-f')
        arguments.append('"ESRI Shapefile"')
        output = self.getOutputValue(polygonize.OUTPUT)
        arguments.append(output)
        arguments.append(QtCore.QFileInfo(output).baseName())
        arguments.append(self.getParameterValue(polygonize.FIELD))

        commands = []
        if ProcessingUtils.isWindows():
            commands = [
                "cmd.exe", "/C ", "gdal_polygonize.bat",
                GdalUtils.escapeAndJoin(arguments)
            ]
        else:
            commands = [
                "gdal_polygonize.py",
                GdalUtils.escapeAndJoin(arguments)
            ]

        GdalUtils.runGdal(commands, progress)
Esempio n. 53
0
    def processAlgorithm(self, progress):
        arguments = ['aspect']
        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        arguments.append('-b')
        arguments.append(str(self.getParameterValue(self.BAND)))

        if self.getParameterValue(self.COMPUTE_EDGES):
            arguments.append('-compute_edges')

        if self.getParameterValue(self.ZEVENBERGEN):
            arguments.append('-alg')
            arguments.append('ZevenbergenThorne')

        if self.getParameterValue(self.TRIG_ANGLE):
            arguments.append('-trigonometric')

        if self.getParameterValue(self.ZERO_FLAT):
            arguments.append('-zero_for_flat')

        GdalUtils.runGdal(['gdaldem',
                          GdalUtils.escapeAndJoin(arguments)], progress)
Esempio n. 54
0
    def processAlgorithm(self, progress):
        output = self.getOutputValue(self.OUTPUT)

        arguments = []
        arguments.append('-md')
        arguments.append(str(self.getParameterValue(self.DISTANCE)))

        if self.getParameterValue(self.ITERATIONS) != 0:
            arguments.append('-si')
            arguments.append(str(self.getParameterValue(self.ITERATIONS)))

        arguments.append('-b')
        arguments.append(str(self.getParameterValue(self.BAND)))

        mask = self.getParameterValue(self.MASK)
        if mask is not None:
            arguments.append('-mask')
            arguments.append(mask)

        if self.getParameterValue(self.NO_DEFAULT_MASK):
            arguments.append('-nomask')

        arguments.append('-of')
        arguments.append(GdalUtils.getFormatShortNameFromFilename(output))

        arguments.append(self.getParameterValue(self.INPUT))
        arguments.append(output)

        commands = []
        if isWindows():
            commands = ['cmd.exe', '/C ', 'gdal_fillnodata.bat',
                        GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ['gdal_fillnodata.py',
                        GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
Esempio n. 55
0
    def processAlgorithm(self, progress):
        arguments = ['color-relief']
        arguments.append(unicode(self.getParameterValue(self.INPUT)))
        arguments.append(unicode(self.getParameterValue(self.COLOR_TABLE)))
        #filePath = unicode(self.getParameterValue(self.COLOR_TABLE))
        #if filePath is None or filePath == '':
        #    filePath = os.path.join(os.path.dirname(__file__), 'terrain.txt')
        #arguments.append(filePath)
        arguments.append(unicode(self.getOutputValue(self.OUTPUT)))

        arguments.append('-b')
        arguments.append(str(self.getParameterValue(self.BAND)))

        if self.getParameterValue(self.COMPUTE_EDGES):
            arguments.append('-compute_edges')

        mode = self.getParameterValue(self.MATCH_MODE)
        if mode == 1:
            arguments.append('-exact_color_entry')
        elif mode == 2:
            arguments.append('-nearest_color_entry')

        GdalUtils.runGdal(
            ['gdaldem', GdalUtils.escapeAndJoin(arguments)], progress)