[processing] don't apply -te and -te_srs if not requested (fix #16519)

This commit is contained in:
Alexander Bruy 2017-05-10 15:41:34 +03:00
parent 883e4f3619
commit abc74b4262

View File

@ -53,8 +53,9 @@ class warp(GdalAlgorithm):
METHOD = 'METHOD' METHOD = 'METHOD'
TR = 'TR' TR = 'TR'
NO_DATA = 'NO_DATA' NO_DATA = 'NO_DATA'
RAST_EXT = 'RAST_EXT' USE_RASTER_EXTENT = 'USE_RASTER_EXTENT'
EXT_CRS = 'EXT_CRS' RASTER_EXTENT = 'RASTER_EXTENT'
EXTENT_CRS = 'EXTENT_CRS'
RTYPE = 'RTYPE' RTYPE = 'RTYPE'
OPTIONS = 'OPTIONS' OPTIONS = 'OPTIONS'
MULTITHREADING = 'MULTITHREADING' MULTITHREADING = 'MULTITHREADING'
@ -95,14 +96,16 @@ class warp(GdalAlgorithm):
self.addParameter(ParameterSelection(self.METHOD, self.addParameter(ParameterSelection(self.METHOD,
self.tr('Resampling method'), self.tr('Resampling method'),
self.METHOD_OPTIONS)) self.METHOD_OPTIONS))
self.addParameter(ParameterExtent(self.RAST_EXT, self.addParameter(ParameterBoolean(self.USE_RASTER_EXTENT,
self.tr('Set georeferenced extents of output file'),
False
))
self.addParameter(ParameterExtent(self.RASTER_EXTENT,
self.tr('Raster extent'), self.tr('Raster extent'),
optional=True)) optional=True))
self.addParameter(ParameterCrs(self.EXTENT_CRS,
self.addParameter(ParameterCrs(self.EXT_CRS,
self.tr('CRS of the raster extent, leave blank for using Destination SRS'), self.tr('CRS of the raster extent, leave blank for using Destination SRS'),
optional=True)) optional=True))
self.addParameter(ParameterString(self.OPTIONS, self.addParameter(ParameterString(self.OPTIONS,
self.tr('Additional creation options'), self.tr('Additional creation options'),
optional=True, optional=True,
@ -120,8 +123,9 @@ class warp(GdalAlgorithm):
def getConsoleCommands(self): def getConsoleCommands(self):
srccrs = self.getParameterValue(self.SOURCE_SRS) srccrs = self.getParameterValue(self.SOURCE_SRS)
dstcrs = self.getParameterValue(self.DEST_SRS) dstcrs = self.getParameterValue(self.DEST_SRS)
rastext = self.getParameterValue(self.RAST_EXT) useRasterExtent = self.getParameterValue(self.USE_RASTER_EXTENT)
rastext_crs = self.getParameterValue(self.EXT_CRS) rasterExtent = self.getParameterValue(self.RASTER_EXTENT)
extentCrs = self.getParameterValue(self.EXTENT_CRS)
opts = self.getParameterValue(self.OPTIONS) opts = self.getParameterValue(self.OPTIONS)
noData = self.getParameterValue(self.NO_DATA) noData = self.getParameterValue(self.NO_DATA)
multithreading = self.getParameterValue(self.MULTITHREADING) multithreading = self.getParameterValue(self.MULTITHREADING)
@ -155,8 +159,8 @@ class warp(GdalAlgorithm):
arguments.append(str(self.getParameterValue(self.TR))) arguments.append(str(self.getParameterValue(self.TR)))
arguments.append(str(self.getParameterValue(self.TR))) arguments.append(str(self.getParameterValue(self.TR)))
if rastext: if useRasterExtent:
regionCoords = rastext.split(',') regionCoords = rasterExtent.split(',')
if len(regionCoords) >= 4: if len(regionCoords) >= 4:
arguments.append('-te') arguments.append('-te')
arguments.append(regionCoords[0]) arguments.append(regionCoords[0])
@ -164,9 +168,9 @@ class warp(GdalAlgorithm):
arguments.append(regionCoords[1]) arguments.append(regionCoords[1])
arguments.append(regionCoords[3]) arguments.append(regionCoords[3])
if rastext_crs: if extentCrs:
arguments.append('-te_srs') arguments.append('-te_srs')
arguments.append(rastext_crs) arguments.append(extentCrs)
if opts: if opts:
arguments.append('-co') arguments.append('-co')