コード例 #1
0
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append("-s_srs")
        arguments.append(str(self.getParameterValue(warp.SOURCE_SRS)))
        arguments.append("-t_srs")
        crsId = self.getParameterValue(warp.DEST_SRS)
        self.crs = QgsCoordinateReferenceSystem(crsId)
        arguments.append(str(crsId))
        arguments.append("-r")
        arguments.append(warp.METHOD_OPTIONS[self.getParameterValue(
            warp.METHOD)])
        arguments.append("-of")
        out = self.getOutputValue(warp.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        if self.getParameterValue(warp.TR) != 0:
            arguments.append("-tr")
            arguments.append(str(self.getParameterValue(warp.TR)))
            arguments.append(str(self.getParameterValue(warp.TR)))
        extra = str(self.getParameterValue(warp.EXTRA))
        if len(extra) > 0:
            arguments.append(extra)
        arguments.append(self.getParameterValue(warp.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(
            ["gdalwarp", GdalUtils.escapeAndJoin(arguments)], progress)
コード例 #2
0
ファイル: translate.py プロジェクト: Nald/Quantum-GIS
    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))
        srs = str(self.getParameterValue(translate.SRS))
        sds = str(self.getParameterValue(translate.SDS))
        extra = str(self.getParameterValue(translate.EXTRA))
        
        commands = ["gdal_translate"]
        commands.append("-of")
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        if outsizePerc == "True":
            outsizeStr = "-outsize "+outsize+"% "+outsize+"%"
        else:
            outsizeStr = "-outsize "+outsize+" "+outsize
        commands.append(outsizeStr) 
        commands.append("-a_nodata "+noData)
        if expand != "none":
            commands.append("-expand "+expand)
        regionCoords = projwin.split(",")
        commands.append("-projwin "+regionCoords[0]+" "+regionCoords[3]+" "+regionCoords[1]+" "+regionCoords[2])
        if srs != "":
            commands.append("-a_srs EPSG:"+srs)
        if sds == "True":
            commands.append("-sds")
        commands.append(extra)
        commands.append(self.getParameterValue(translate.INPUT))
        commands.append(out)


        GdalUtils.runGdal(commands, progress)
コード例 #3
0
    def processAlgorithm(self, progress):
        commands = ["gdaladdo"]
        input = self.getParameterValue(gdaladdo.INPUT)
        self.setOutputValue(gdaladdo.OUTPUT, input)
        commands.append(input)
        commands.append(self.getParameterValue(gdaladdo.LEVELS))

        GdalUtils.runGdal(commands, progress)
コード例 #4
0
ファイル: gdaladdo.py プロジェクト: Adam-Brown/Quantum-GIS
    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)
コード例 #5
0
ファイル: gdaladdo.py プロジェクト: hCivil/Quantum-GIS
    def processAlgorithm(self, progress):
        commands = ["gdaladdo"]        
        input = self.getParameterValue(gdaladdo.INPUT)
        self.setOutputValue(gdaladdo.OUTPUT, input)                        
        commands.append(input)
        commands.append(self.getParameterValue(gdaladdo.LEVELS))                

        GdalUtils.runGdal(commands, progress)
コード例 #6
0
ファイル: translate.py プロジェクト: sdikiy/Quantum-GIS
    def processAlgorithm(self, progress):
        commands = ["gdal_translate"]
        commands.append("-of")
        out = self.getOutputValue(translate.OUTPUT)
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        commands.append(self.getParameterValue(translate.INPUT))
        commands.append(out)

        GdalUtils.runGdal(commands, progress)
コード例 #7
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)
コード例 #8
0
 def processAlgorithm(self, progress):
     commands = ["nearblack"]
     commands.append("-o")
     commands.append(self.getOutputValue(nearblack.OUTPUT))
     commands.append("-near")
     commands.append(str(self.getParameterValue(nearblack.NEAR)))
     if self.getParameterValue(nearblack.WHITE):
         commands.append("-white")
     commands.append(self.getParameterValue(nearblack.INPUT))
     GdalUtils.runGdal(commands, progress)
コード例 #9
0
ファイル: nearblack.py プロジェクト: Adam-Brown/Quantum-GIS
 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)
コード例 #10
0
ファイル: nearblack.py プロジェクト: carsonfarmer/Quantum-GIS
 def processAlgorithm(self, progress):
     commands = ["nearblack"]
     commands.append("-o")
     commands.append(self.getOutputValue(nearblack.OUTPUT))
     commands.append("-near")
     commands.append(str(self.getParameterValue(nearblack.NEAR)))
     if self.getParameterValue(nearblack.WHITE):
         commands.append("-white")
     commands.append(self.getParameterValue(nearblack.INPUT))
     GdalUtils.runGdal(commands, progress)
コード例 #11
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)
コード例 #12
0
 def processAlgorithm(self, progress):
     commands = ["gdalinfo"]
     if self.getParameterValue(information.NOGCP):
         commands.append("-nogcp")
     if self.getParameterValue(information.NOMETADATA):
         commands.append("-nomd")
     commands.append(self.getParameterValue(information.INPUT))
     GdalUtils.runGdal(commands, progress)
     output = self.getOutputValue(information.OUTPUT)
     f = open(output, "w")
     for s in GdalUtils.getConsoleOutput()[1:]:
         f.write("<p>" + str(s) + "</p>")
     f.close()
コード例 #13
0
ファイル: information.py プロジェクト: Adam-Brown/Quantum-GIS
 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()
コード例 #14
0
 def processAlgorithm(self, progress):
     commands = ["gdalinfo"]
     if self.getParameterValue(information.NOGCP):
         commands.append("-nogcp")
     if self.getParameterValue(information.NOMETADATA):
         commands.append("-nomd")
     commands.append(self.getParameterValue(information.INPUT))
     GdalUtils.runGdal(commands, progress)
     output = self.getOutputValue(information.OUTPUT)
     f = open(output, "w")
     for s in GdalUtils.getConsoleOutput()[1:]:
         f.write("<p>" + str(s) + "</p>")
     f.close()
コード例 #15
0
    def processAlgorithm(self, progress):
        if SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "gdal_polygonize.bat"]
        else:
            commands = ["gdal_polygonize.py"]
        commands.append(self.getParameterValue(polygonize.INPUT))
        commands.append('-f')
        commands.append('"ESRI Shapefile"')
        output = self.getOutputValue(polygonize.OUTPUT)
        commands.append(output)
        commands.append(QtCore.QFileInfo(output).baseName())
        commands.append(self.getParameterValue(polygonize.FIELD))

        GdalUtils.runGdal(commands, progress)
コード例 #16
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()
コード例 #17
0
    def processAlgorithm(self, progress):
        if SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "rgb2pct.bat"]
        else:
            commands = ["rgb2pct.py"]
        commands.append("-n")
        commands.append(str(self.getParameterValue(rgb2pct.NCOLORS)))
        commands.append("-of")
        out = self.getOutputValue(rgb2pct.OUTPUT)
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        commands.append(self.getParameterValue(rgb2pct.INPUT))
        commands.append(out)

        GdalUtils.runGdal(commands, progress)
コード例 #18
0
ファイル: polygonize.py プロジェクト: mokerjoke/Quantum-GIS
 def processAlgorithm(self, progress):
     if SextanteUtils.isWindows():
         commands = ["cmd.exe", "/C ", "gdal_polygonize.bat"]
     else:
         commands = ["gdal_polygonize.py"]
     commands.append(self.getParameterValue(polygonize.INPUT))
     commands.append('-f')
     commands.append('"ESRI Shapefile"')
     output = self.getOutputValue(polygonize.OUTPUT)
     commands.append(output)
     commands.append(QtCore.QFileInfo(output).baseName())
     commands.append(self.getParameterValue(polygonize.FIELD))
     
     GdalUtils.runGdal(commands, progress)
コード例 #19
0
ファイル: pct2rgb.py プロジェクト: mokerjoke/Quantum-GIS
    def processAlgorithm(self, progress):
        if SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "pct2rgb.bat"]
        else:
            commands = ["pct2rgb.py"]
        commands.append("-b")
        commands.append(str(self.getParameterValue(pct2rgb.NBAND) + 1))
        commands.append("-of")
        out = self.getOutputValue(pct2rgb.OUTPUT)
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        commands.append(self.getParameterValue(pct2rgb.INPUT))
        commands.append(out)

        GdalUtils.runGdal(commands, progress)
コード例 #20
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))
        srs = 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 srs is not None:
            arguments.append("-a_srs")
            arguments.append(str(srs))
            self.crs = QgsCoordinateReferenceSystem(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)
コード例 #21
0
ファイル: merge.py プロジェクト: sdikiy/Quantum-GIS
    def processAlgorithm(self, progress):
        if SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "gdal_merge.bat"]
        else:
            commands = ["gdal_merge.py"]
        if self.getParameterValue(merge.SEPARATE):
            commands.append("-separate")
        if self.getParameterValue(merge.PCT):
            commands.append("-pct")
        commands.append("-of")
        out = self.getOutputValue(merge.OUTPUT)
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        commands.append(self.getParameterValue(merge.INPUT).replace(";", " "))
        commands.append(out)

        GdalUtils.runGdal(commands, progress)
コード例 #22
0
ファイル: rgb2pct.py プロジェクト: Adam-Brown/Quantum-GIS
    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 SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "rgb2pct.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["rgb2pct.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
コード例 #23
0
ファイル: merge.py プロジェクト: mokerjoke/Quantum-GIS
    def processAlgorithm(self, progress):
        if SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "gdal_merge.bat"]
        else:
            commands = ["gdal_merge.py"]
        if self.getParameterValue(merge.SEPARATE):
            commands.append("-separate")
        if self.getParameterValue(merge.PCT):
            commands.append("-pct")
        commands.append("-of")
        out = self.getOutputValue(merge.OUTPUT)
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        commands.append(self.getParameterValue(merge.INPUT).replace(";", " "))
        commands.append(out)

        GdalUtils.runGdal(commands, progress)
コード例 #24
0
ファイル: QGisLayers.py プロジェクト: sawajid/Quantum-GIS
 def getSupportedOutputRasterLayerExtensions():   
     allexts = ["tif"]
     for exts in GdalUtils.getSupportedRasters().values():
         for ext in exts:
             if ext not in allexts:
                 allexts.append(ext)
     return allexts             
コード例 #25
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
コード例 #26
0
ファイル: GeoAlgorithm.py プロジェクト: Hardysong/Quantum-GIS
 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"
コード例 #27
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"
コード例 #28
0
ファイル: warp.py プロジェクト: carsonfarmer/Quantum-GIS
    def processAlgorithm(self, progress):
        srs = self.getParameterValue(warp.DEST_SRS)
        self.crs = QgsCoordinateReferenceSystem(int(srs))
        commands = ["gdalwarp"]
        commands.append("-s_srs")
        commands.append("EPSG:" + str(self.getParameterValue(warp.SOURCE_SRS)))
        commands.append("-t_srs")
        commands.append("EPSG:" + str(srs))
        commands.append("-r")
        commands.append(warp.METHOD_OPTIONS[self.getParameterValue(warp.METHOD)])
        commands.append("-of")
        out = self.getOutputValue(warp.OUTPUT)
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        commands.append(self.getParameterValue(warp.INPUT))
        commands.append(out)

        GdalUtils.runGdal(commands, progress)
コード例 #29
0
ファイル: translate.py プロジェクト: Adam-Brown/Quantum-GIS
    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))
            self.crs = QgsCoordinateReferenceSystem(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)
コード例 #30
0
ファイル: warp.py プロジェクト: kimaidou/Quantum-GIS
    def processAlgorithm(self, progress):
        srs = self.getParameterValue(warp.DEST_SRS)
        self.crs = QgsCoordinateReferenceSystem(int(srs))
        commands = ["gdalwarp"]
        commands.append("-s_srs")
        commands.append("EPSG:" + str(self.getParameterValue(warp.SOURCE_SRS)))
        commands.append("-t_srs")
        commands.append("EPSG:" + str(srs))
        commands.append("-r")
        commands.append(warp.METHOD_OPTIONS[self.getParameterValue(
            warp.METHOD)])
        commands.append("-of")
        out = self.getOutputValue(warp.OUTPUT)
        commands.append(GdalUtils.getFormatShortNameFromFilename(out))
        commands.append(self.getParameterValue(warp.INPUT))
        commands.append(out)

        GdalUtils.runGdal(commands, progress)
コード例 #31
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 SextanteUtils.isWindows():
            commands = [
                "cmd.exe", "/C ", "rgb2pct.bat",
                GdalUtils.escapeAndJoin(arguments)
            ]
        else:
            commands = ["rgb2pct.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
コード例 #32
0
ファイル: merge.py プロジェクト: jetuk/Quantum-GIS
    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 SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "gdal_merge.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["gdal_merge.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
コード例 #33
0
ファイル: merge.py プロジェクト: leandromet/Quantum-GIS
    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 SextanteUtils.isWindows():
            commands = ["cmd.exe", "/C ", "gdal_merge.bat", GdalUtils.escapeAndJoin(arguments)]
        else:
            commands = ["gdal_merge.py", GdalUtils.escapeAndJoin(arguments)]

        GdalUtils.runGdal(commands, progress)
コード例 #34
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))
        srs = self.getParameterValue(translate.SRS)
        sds = self.getParameterValue(translate.SDS)
        extra = str(self.getParameterValue(translate.EXTRA))

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

        GdalUtils.runGdal(commands, progress)
コード例 #35
0
ファイル: warp.py プロジェクト: Adam-Brown/Quantum-GIS
    def processAlgorithm(self, progress):
        arguments = []
        arguments.append("-s_srs")
        arguments.append(str(self.getParameterValue(warp.SOURCE_SRS)))
        arguments.append("-t_srs")
        crsId = self.getParameterValue(warp.DEST_SRS)
        self.crs = QgsCoordinateReferenceSystem(crsId)
        arguments.append(str(crsId))
        arguments.append("-r")
        arguments.append(warp.METHOD_OPTIONS[self.getParameterValue(warp.METHOD)])
        arguments.append("-of")
        out = self.getOutputValue(warp.OUTPUT)
        arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
        if self.getParameterValue(warp.TR) != 0:
            arguments.append("-tr")
            arguments.append(str(self.getParameterValue(warp.TR)))
            arguments.append(str(self.getParameterValue(warp.TR)))
        extra = str(self.getParameterValue(warp.EXTRA))
        if len(extra) > 0:
            arguments.append(extra)
        arguments.append(self.getParameterValue(warp.INPUT))
        arguments.append(out)

        GdalUtils.runGdal(["gdalwarp", GdalUtils.escapeAndJoin(arguments)], progress)
コード例 #36
0
    def exportRasterLayer(layer):
        '''Takes a QgsRasterLayer and returns the filename to refer to it, which allows external
        apps which support only file-based layers to use it. It performs the necessary export
        in case the input layer is not in a standard format suitable for most applications, it is
        a remote one or db-based (non-file based) one
        Currently, the output is restricted to geotiff, but not all other formats are exported.
        Only those formats not supported by GDAL are exported, so it is assumed that the external
        app uses GDAL to read the layer'''
        exts = GdalUtils.getSupportedRasterExtensions()
        for ext in exts:
            if (unicode(layer.source()).endswith(ext)):
                return unicode(layer.source())

        #TODO:Do the conversion here
        return unicode(layer.source())
コード例 #37
0
ファイル: LayerExporter.py プロジェクト: kimaidou/Quantum-GIS
    def exportRasterLayer(layer):
        '''Takes a QgsRasterLayer and returns the filename to refer to it, which allows external
        apps which support only file-based layers to use it. It performs the necessary export
        in case the input layer is not in a standard format suitable for most applications, it is
        a remote one or db-based (non-file based) one
        Currently, the output is restricted to geotiff, but not all other formats are exported.
        Only those formats not supported by GDAL are exported, so it is assumed that the external
        app uses GDAL to read the layer'''
        exts = GdalUtils.getSupportedRasterExtensions()
        for ext in exts:
            if (unicode(layer.source()).endswith(ext)):
                return unicode(layer.source())

        #TODO:Do the conversion here
        return unicode(layer.source())
コード例 #38
0
 def getSupportedOutputRasterLayerExtensions(self):
     return GdalUtils.getSupportedRasterExtensions()
コード例 #39
0
 def getSupportedOutputRasterLayerExtensions(self):
     return GdalUtils.getSupportedRasterExtensions()
コード例 #40
0
                            1,
                            line_data,
                            buf_type=srcband.DataType)


max_distance = 100
smoothing_iterations = 0
options = []
src_band = 1

gdal.AllRegister()
src_ds = gdal.Open(src_filename, gdal.GA_ReadOnly)
srcband = src_ds.GetRasterBand(src_band)
maskband = srcband.GetMaskBand()
drv = gdal.GetDriverByName(
    GdalUtils.getFormatShortNameFromFilename(dst_filename))
dst_ds = drv.Create(dst_filename, src_ds.RasterXSize, src_ds.RasterYSize, 1,
                    srcband.DataType)
wkt = src_ds.GetProjection()
if wkt != '':
    dst_ds.SetProjection(wkt)
dst_ds.SetGeoTransform(src_ds.GetGeoTransform())

dstband = dst_ds.GetRasterBand(1)
CopyBand(srcband, dstband)

prog_func = gdal.TermProgress

result = gdal.FillNodata(dstband,
                         maskband,
                         max_distance,
コード例 #41
0
ファイル: proximity.py プロジェクト: L-Infantini/Quantum-GIS
try:
    driver = gdal.IdentifyDriver( dst_filename )
    if driver is not None:
        dst_ds = gdal.Open( dst_filename, gdal.GA_Update )
        dstband = dst_ds.GetRasterBand(dst_band_n)
    else:
        dst_ds = None
except:
    dst_ds = None

# =============================================================================
#     Create output file.
# =============================================================================
if dst_ds is None:
    drv = gdal.GetDriverByName(GdalUtils.getFormatShortNameFromFilename(dst_filename))
    dst_ds = drv.Create( dst_filename,
                         src_ds.RasterXSize, src_ds.RasterYSize, 1,
                         gdal.GetDataTypeByName(creation_type) )

    dst_ds.SetGeoTransform( src_ds.GetGeoTransform() )
    dst_ds.SetProjection( src_ds.GetProjectionRef() )

    dstband = dst_ds.GetRasterBand(1)

# =============================================================================
#    Invoke algorithm.
# =============================================================================

prog_func = gdal.TermProgress
gdal.ComputeProximity( srcband, dstband, options,
コード例 #42
0
ファイル: sieve.py プロジェクト: sdikiy/Quantum-GIS
try:
    from osgeo import gdal, ogr
except ImportError:
    import gdal
    import ogr

threshold = 2
connectedness=int(connectedness)
options = []

src_ds = gdal.Open( src_filename, gdal.GA_ReadOnly )
srcband = src_ds.GetRasterBand(1)
maskband = srcband.GetMaskBand()

drv = gdal.GetDriverByName(GdalUtils.getFormatShortNameFromFilename(dst_filename))
dst_ds = drv.Create( dst_filename,src_ds.RasterXSize, src_ds.RasterYSize,1,
                         srcband.DataType )
wkt = src_ds.GetProjection()
if wkt != '':
    dst_ds.SetProjection( wkt )
dst_ds.SetGeoTransform( src_ds.GetGeoTransform() )
dstband = dst_ds.GetRasterBand(1)

prog_func = gdal.TermProgress

result = gdal.SieveFilter( srcband, maskband, dstband,
                           threshold, connectedness,
                           callback = prog_func )

src_ds = None