mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
[sextante] escape filenames, passed to GDAL tools (fix #5923)
This commit is contained in:
parent
5f9eca25b7
commit
dc15292f91
@ -23,11 +23,12 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
from PyQt4.QtCore import *
|
||||
from PyQt4.QtGui import *
|
||||
import subprocess
|
||||
from sextante.core.SextanteLog import SextanteLog
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from PyQt4.QtCore import *
|
||||
|
||||
from sextante.core.SextanteLog import SextanteLog
|
||||
|
||||
try:
|
||||
from osgeo import gdal
|
||||
@ -35,7 +36,7 @@ try:
|
||||
except:
|
||||
gdalAvailable = False
|
||||
|
||||
class GdalUtils():
|
||||
class GdalUtils:
|
||||
|
||||
supportedRasters = None
|
||||
|
||||
@ -108,3 +109,14 @@ class GdalUtils():
|
||||
if ext in exts:
|
||||
return name
|
||||
return "GTiff"
|
||||
|
||||
@staticmethod
|
||||
def escapeAndJoin(strList):
|
||||
joined = QString()
|
||||
for s in strList:
|
||||
if " " in s:
|
||||
escaped = '"' + s.replace('\\', '\\\\').replace('"', '\\"') + '"'
|
||||
else:
|
||||
escaped = s
|
||||
joined += escaped + " "
|
||||
return joined.trimmed()
|
||||
|
@ -24,11 +24,14 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
import os
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class gdaladdo(GeoAlgorithm):
|
||||
@ -50,10 +53,10 @@ class gdaladdo(GeoAlgorithm):
|
||||
self.addOutput(OutputRaster(gdaladdo.OUTPUT, "Output layer", True))
|
||||
|
||||
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))
|
||||
arguments = []
|
||||
inFile = self.getParameterValue(gdaladdo.INPUT)
|
||||
arguments.append(inFile)
|
||||
arguments.append(self.getParameterValue(gdaladdo.LEVELS))
|
||||
self.setOutputValue(gdaladdo.OUTPUT, inFile)
|
||||
|
||||
GdalUtils.runGdal(commands, progress)
|
||||
GdalUtils.runGdal(["gdaladdo", GdalUtils.escapeAndJoin(arguments)], progress)
|
||||
|
@ -23,14 +23,19 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.parameters.ParameterBoolean import ParameterBoolean
|
||||
import os
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
from sextante.outputs.OutputHTML import OutputHTML
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class information(GeoAlgorithm):
|
||||
|
||||
INPUT = "INPUT"
|
||||
@ -51,13 +56,13 @@ class information(GeoAlgorithm):
|
||||
self.addOutput(OutputHTML(information.OUTPUT, "Layer information"))
|
||||
|
||||
def processAlgorithm(self, progress):
|
||||
commands = ["gdalinfo"]
|
||||
arguments = []
|
||||
if self.getParameterValue(information.NOGCP):
|
||||
commands.append("-nogcp")
|
||||
arguments.append("-nogcp")
|
||||
if self.getParameterValue(information.NOMETADATA):
|
||||
commands.append("-nomd")
|
||||
commands.append(self.getParameterValue(information.INPUT))
|
||||
GdalUtils.runGdal(commands, progress)
|
||||
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:]:
|
||||
|
@ -23,15 +23,19 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
from PyQt4 import QtGui
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
import os
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.core.SextanteUtils import SextanteUtils
|
||||
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
from sextante.parameters.ParameterBoolean import ParameterBoolean
|
||||
from sextante.parameters.ParameterMultipleInput import ParameterMultipleInput
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class merge(GeoAlgorithm):
|
||||
|
||||
INPUT = "INPUT"
|
||||
@ -52,20 +56,22 @@ class merge(GeoAlgorithm):
|
||||
self.addOutput(OutputRaster(merge.OUTPUT, "Output layer"))
|
||||
|
||||
def processAlgorithm(self, progress):
|
||||
if SextanteUtils.isWindows():
|
||||
commands = ["cmd.exe", "/C ", "gdal_merge.bat"]
|
||||
else:
|
||||
commands = ["gdal_merge.py"]
|
||||
arguments = []
|
||||
if self.getParameterValue(merge.SEPARATE):
|
||||
commands.append("-separate")
|
||||
arguments.append("-separate")
|
||||
if self.getParameterValue(merge.PCT):
|
||||
commands.append("-pct")
|
||||
commands.append("-o")
|
||||
arguments.append("-pct")
|
||||
arguments.append("-o")
|
||||
out = self.getOutputValue(merge.OUTPUT)
|
||||
commands.append(out)
|
||||
commands.append("-of")
|
||||
commands.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
commands.append(self.getParameterValue(merge.INPUT).replace(";", " "))
|
||||
arguments.append(out)
|
||||
arguments.append("-of")
|
||||
arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
arguments.append(self.getParameterValue(merge.INPUT).replace(";", " "))
|
||||
|
||||
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)
|
||||
|
@ -23,13 +23,15 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.parameters.ParameterNumber import ParameterNumber
|
||||
from sextante.parameters.ParameterBoolean import ParameterBoolean
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
import os
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class nearblack(GeoAlgorithm):
|
||||
@ -52,12 +54,12 @@ class nearblack(GeoAlgorithm):
|
||||
self.addOutput(OutputRaster(nearblack.OUTPUT, "Output layer"))
|
||||
|
||||
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)))
|
||||
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):
|
||||
commands.append("-white")
|
||||
commands.append(self.getParameterValue(nearblack.INPUT))
|
||||
GdalUtils.runGdal(commands, progress)
|
||||
arguments.append("-white")
|
||||
arguments.append(self.getParameterValue(nearblack.INPUT))
|
||||
GdalUtils.runGdal(["nearblack", GdalUtils.escapeAndJoin(arguments)], progress)
|
||||
|
@ -23,23 +23,29 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
|
||||
from sextante.outputs.OutputVector import OutputVector
|
||||
from sextante.parameters.ParameterVector import ParameterVector
|
||||
from sextante.parameters.ParameterString import ParameterString
|
||||
from sextante.core.SextanteLog import SextanteLog
|
||||
from sextante.core.QGisLayers import QGisLayers
|
||||
from sextante.gdal.OgrAlgorithm import OgrAlgorithm
|
||||
from sextante.gdal.pyogr.ogr2ogr import *
|
||||
from qgis.core import *
|
||||
from PyQt4.QtCore import *
|
||||
from PyQt4.QtGui import *
|
||||
import os
|
||||
import re
|
||||
import string
|
||||
from string import Template
|
||||
import re
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
from PyQt4.QtCore import *
|
||||
from PyQt4.QtGui import *
|
||||
|
||||
from qgis.core import *
|
||||
|
||||
from sextante.core.SextanteLog import SextanteLog
|
||||
from sextante.core.QGisLayers import QGisLayers
|
||||
|
||||
from sextante.parameters.ParameterVector import ParameterVector
|
||||
from sextante.parameters.ParameterString import ParameterString
|
||||
from sextante.outputs.OutputVector import OutputVector
|
||||
|
||||
from sextante.gdal.OgrAlgorithm import OgrAlgorithm
|
||||
from sextante.gdal.pyogr.ogr2ogr import *
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
try:
|
||||
from osgeo import gdal, ogr, osr
|
||||
gdalAvailable = True
|
||||
|
@ -23,15 +23,18 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
from PyQt4 import QtGui
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
import os
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
from sextante.parameters.ParameterSelection import ParameterSelection
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.core.SextanteUtils import SextanteUtils
|
||||
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.parameters.ParameterSelection import ParameterSelection
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class pct2rgb(GeoAlgorithm):
|
||||
|
||||
INPUT = "INPUT"
|
||||
@ -53,16 +56,19 @@ class pct2rgb(GeoAlgorithm):
|
||||
self.addOutput(OutputRaster(pct2rgb.OUTPUT, "Output layer"))
|
||||
|
||||
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")
|
||||
arguments = []
|
||||
arguments.append("-b")
|
||||
arguments.append(str(self.getParameterValue(pct2rgb.NBAND) + 1))
|
||||
arguments.append("-of")
|
||||
out = self.getOutputValue(pct2rgb.OUTPUT)
|
||||
commands.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
commands.append(self.getParameterValue(pct2rgb.INPUT))
|
||||
commands.append(out)
|
||||
arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
arguments.append(self.getParameterValue(pct2rgb.INPUT))
|
||||
arguments.append(out)
|
||||
|
||||
commands = []
|
||||
if SextanteUtils.isWindows():
|
||||
commands = ["cmd.exe", "/C ", "pct2rgb.bat", GdalUtils.escapeAndJoin(arguments)]
|
||||
else:
|
||||
commands = ["pct2rgb.py", GdalUtils.escapeAndJoin(arguments)]
|
||||
|
||||
GdalUtils.runGdal(commands, progress)
|
||||
|
@ -23,14 +23,17 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
from PyQt4 import QtGui, QtCore
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
import os
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
from PyQt4 import QtGui, QtCore
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.core.SextanteUtils import SextanteUtils
|
||||
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.parameters.ParameterString import ParameterString
|
||||
from sextante.outputs.OutputVector import OutputVector
|
||||
from sextante.core.SextanteUtils import SextanteUtils
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class polygonize(GeoAlgorithm):
|
||||
|
||||
@ -50,16 +53,19 @@ class polygonize(GeoAlgorithm):
|
||||
self.addOutput(OutputVector(polygonize.OUTPUT, "Output layer"))
|
||||
|
||||
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"')
|
||||
arguments = []
|
||||
arguments.append(self.getParameterValue(polygonize.INPUT))
|
||||
arguments.append('-f')
|
||||
arguments.append('"ESRI Shapefile"')
|
||||
output = self.getOutputValue(polygonize.OUTPUT)
|
||||
commands.append(output)
|
||||
commands.append(QtCore.QFileInfo(output).baseName())
|
||||
commands.append(self.getParameterValue(polygonize.FIELD))
|
||||
arguments.append(output)
|
||||
arguments.append(QtCore.QFileInfo(output).baseName())
|
||||
arguments.append(self.getParameterValue(polygonize.FIELD))
|
||||
|
||||
commands = []
|
||||
if SextanteUtils.isWindows():
|
||||
commands = ["cmd.exe", "/C ", "gdal_polygonize.bat", GdalUtils.escapeAndJoin(arguments)]
|
||||
else:
|
||||
commands = ["gdal_polygonize.py", GdalUtils.escapeAndJoin(arguments)]
|
||||
|
||||
GdalUtils.runGdal(commands, progress)
|
||||
|
@ -23,15 +23,18 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
from PyQt4 import QtGui
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
import os
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
from sextante.parameters.ParameterNumber import ParameterNumber
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
from sextante.core.SextanteUtils import SextanteUtils
|
||||
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.parameters.ParameterNumber import ParameterNumber
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class rgb2pct(GeoAlgorithm):
|
||||
|
||||
INPUT = "INPUT"
|
||||
@ -50,16 +53,18 @@ class rgb2pct(GeoAlgorithm):
|
||||
self.addOutput(OutputRaster(rgb2pct.OUTPUT, "Output layer"))
|
||||
|
||||
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")
|
||||
arguments = []
|
||||
arguments.append("-n")
|
||||
arguments.append(str(self.getParameterValue(rgb2pct.NCOLORS)))
|
||||
arguments.append("-of")
|
||||
out = self.getOutputValue(rgb2pct.OUTPUT)
|
||||
commands.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
commands.append(self.getParameterValue(rgb2pct.INPUT))
|
||||
commands.append(out)
|
||||
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)
|
||||
|
@ -96,8 +96,3 @@ srcband = None
|
||||
dstband = None
|
||||
src_ds = None
|
||||
dst_ds = None
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -65,9 +65,3 @@ result = gdal.SieveFilter( srcband, maskband, dstband,
|
||||
src_ds = None
|
||||
dst_ds = None
|
||||
mask_ds = None
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -24,8 +24,12 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.parameters.ParameterNumber import ParameterNumber
|
||||
from sextante.parameters.ParameterBoolean import ParameterBoolean
|
||||
@ -33,7 +37,7 @@ from sextante.parameters.ParameterSelection import ParameterSelection
|
||||
from sextante.parameters.ParameterExtent import ParameterExtent
|
||||
from sextante.parameters.ParameterCrs import ParameterCrs
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
import os
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class translate(GeoAlgorithm):
|
||||
@ -79,26 +83,25 @@ class translate(GeoAlgorithm):
|
||||
sds = self.getParameterValue(translate.SDS)
|
||||
extra = str(self.getParameterValue(translate.EXTRA))
|
||||
|
||||
commands = ["gdal_translate"]
|
||||
commands.append("-of")
|
||||
commands.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
arguments = []
|
||||
arguments.append("-of")
|
||||
arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
if outsizePerc == "True":
|
||||
outsizeStr = "-outsize "+outsize+"% "+outsize+"%"
|
||||
outsizeStr = "-outsize " + outsize + "% " + outsize + "%"
|
||||
else:
|
||||
outsizeStr = "-outsize "+outsize+" "+outsize
|
||||
commands.append(outsizeStr)
|
||||
commands.append("-a_nodata "+noData)
|
||||
outsizeStr = "-outsize " + outsize + " " + outsize
|
||||
arguments.append(outsizeStr)
|
||||
arguments.append("-a_nodata " + noData)
|
||||
if expand != "none":
|
||||
commands.append("-expand "+expand)
|
||||
arguments.append("-expand " + expand)
|
||||
regionCoords = projwin.split(",")
|
||||
commands.append("-projwin "+regionCoords[0]+" "+regionCoords[3]+" "+regionCoords[1]+" "+regionCoords[2])
|
||||
arguments.append("-projwin " + regionCoords[0] + " " + regionCoords[3] + " " + regionCoords[1] + " " + regionCoords[2])
|
||||
if srs is not None:
|
||||
commands.append("-a_srs "+str(srs))
|
||||
arguments.append("-a_srs " + str(srs))
|
||||
if sds:
|
||||
commands.append("-sds")
|
||||
commands.append(extra)
|
||||
commands.append(self.getParameterValue(translate.INPUT))
|
||||
commands.append(out)
|
||||
arguments.append("-sds")
|
||||
arguments.append(extra)
|
||||
arguments.append(self.getParameterValue(translate.INPUT))
|
||||
arguments.append(out)
|
||||
|
||||
|
||||
GdalUtils.runGdal(commands, progress)
|
||||
GdalUtils.runGdal(["gdal_translate", GdalUtils.escapeAndJoin(arguments)], progress)
|
||||
|
@ -24,16 +24,20 @@ __copyright__ = '(C) 2012, Victor Olaya'
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
from qgis.core import *
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from qgis.core import *
|
||||
|
||||
from sextante.core.GeoAlgorithm import GeoAlgorithm
|
||||
|
||||
from sextante.parameters.ParameterRaster import ParameterRaster
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
from sextante.parameters.ParameterSelection import ParameterSelection
|
||||
from sextante.parameters.ParameterCrs import ParameterCrs
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
from sextante.parameters.ParameterNumber import ParameterNumber
|
||||
from sextante.parameters.ParameterString import ParameterString
|
||||
from sextante.outputs.OutputRaster import OutputRaster
|
||||
|
||||
from sextante.gdal.GdalUtils import GdalUtils
|
||||
|
||||
class warp(GeoAlgorithm):
|
||||
|
||||
@ -64,21 +68,21 @@ class warp(GeoAlgorithm):
|
||||
def processAlgorithm(self, progress):
|
||||
srs = self.getParameterValue(warp.DEST_SRS)
|
||||
self.crs = QgsCoordinateReferenceSystem(srs)
|
||||
commands = ["gdalwarp"]
|
||||
commands.append("-s_srs")
|
||||
commands.append(str(self.getParameterValue(warp.SOURCE_SRS)))
|
||||
commands.append("-t_srs")
|
||||
commands.append(str(srs))
|
||||
commands.append("-r")
|
||||
commands.append(warp.METHOD_OPTIONS[self.getParameterValue(warp.METHOD)])
|
||||
commands.append("-of")
|
||||
arguments = []
|
||||
arguments.append("-s_srs")
|
||||
arguments.append(str(self.getParameterValue(warp.SOURCE_SRS)))
|
||||
arguments.append("-t_srs")
|
||||
arguments.append(str(srs))
|
||||
arguments.append("-r")
|
||||
arguments.append(warp.METHOD_OPTIONS[self.getParameterValue(warp.METHOD)])
|
||||
arguments.append("-of")
|
||||
out = self.getOutputValue(warp.OUTPUT)
|
||||
commands.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
|
||||
if self.getParameterValue(warp.TR) != 0:
|
||||
trStr = "-tr "+str(self.getParameterValue(warp.TR))+" "+str(self.getParameterValue(warp.TR))
|
||||
commands.append(trStr)
|
||||
commands.append(str(self.getParameterValue(warp.EXTRA)))
|
||||
commands.append(self.getParameterValue(warp.INPUT))
|
||||
commands.append(out)
|
||||
trStr = "-tr " + str(self.getParameterValue(warp.TR)) + " " + str(self.getParameterValue(warp.TR))
|
||||
arguments.append(trStr)
|
||||
arguments.append(str(self.getParameterValue(warp.EXTRA)))
|
||||
arguments.append(self.getParameterValue(warp.INPUT))
|
||||
arguments.append(out)
|
||||
|
||||
GdalUtils.runGdal(commands, progress)
|
||||
GdalUtils.runGdal(["gdalwarp", GdalUtils.escapeAndJoin(arguments)], progress)
|
||||
|
Loading…
x
Reference in New Issue
Block a user