fix gdal rasterize when using an existing raster layer

This commit is contained in:
Giovanni Manghi 2015-04-09 09:52:11 +01:00
parent 10a51f672f
commit a0d32b87fb

View File

@ -101,9 +101,9 @@ class rasterize(OgrAlgorithm):
self.addParameter(ParameterSelection(self.BIGTIFF, self.addParameter(ParameterSelection(self.BIGTIFF,
self.tr('Control whether the created file is a BigTIFF or a classic TIFF'), self.BIGTIFFTYPE, 0)) self.tr('Control whether the created file is a BigTIFF or a classic TIFF'), self.BIGTIFFTYPE, 0))
self.addParameter(ParameterBoolean(self.TFW, self.addParameter(ParameterBoolean(self.TFW,
self.tr('Force the generation of an associated ESRI world file (.tfw))'), False)) self.tr('Force the generation of an associated ESRI world file (.tfw)'), False))
self.addOutput(OutputRaster(self.OUTPUT, self.addOutput(OutputRaster(self.OUTPUT,
self.tr('Output layer: mandatory to choose an existing raster layer if the (*) option is selected'))) self.tr('Output layer: mandatory if the (*) option is selected')))
def processAlgorithm(self, progress): def processAlgorithm(self, progress):
writeOver = self.getParameterValue(self.WRITEOVER) writeOver = self.getParameterValue(self.WRITEOVER)
@ -127,19 +127,21 @@ class rasterize(OgrAlgorithm):
arguments.append('-ot') arguments.append('-ot')
arguments.append(self.TYPE[self.getParameterValue(self.RTYPE)]) arguments.append(self.TYPE[self.getParameterValue(self.RTYPE)])
dimType = self.getParameterValue(self.DIMENSIONS) dimType = self.getParameterValue(self.DIMENSIONS)
if dimType == 0: if not writeOver:
# size in pixels if dimType == 0:
arguments.append('-ts') # size in pixels
arguments.append(str(self.getParameterValue(self.WIDTH))) arguments.append('-ts')
arguments.append(str(self.getParameterValue(self.HEIGHT))) arguments.append(str(self.getParameterValue(self.WIDTH)))
else: arguments.append(str(self.getParameterValue(self.HEIGHT)))
# resolution in map units per pixel else:
arguments.append('-tr') # resolution in map units per pixel
arguments.append(str(self.getParameterValue(self.WIDTH))) arguments.append('-tr')
arguments.append(str(self.getParameterValue(self.HEIGHT))) arguments.append(str(self.getParameterValue(self.WIDTH)))
if len(noData) > 0: arguments.append(str(self.getParameterValue(self.HEIGHT)))
arguments.append('-a_nodata') if not writeOver:
arguments.append(noData) if len(noData) > 0:
arguments.append('-a_nodata')
arguments.append(noData)
if (GdalUtils.getFormatShortNameFromFilename(out) == "GTiff") and (writeOver is False): if (GdalUtils.getFormatShortNameFromFilename(out) == "GTiff") and (writeOver is False):
arguments.append("-co COMPRESS="+compress) arguments.append("-co COMPRESS="+compress)
if compress == 'JPEG': if compress == 'JPEG':