3131
3232from processing .algs .gdal .GdalAlgorithm import GdalAlgorithm
3333from processing .core .parameters import ParameterRaster
34+ from processing .core .parameters import ParameterExtent
3435from processing .core .parameters import ParameterSelection
3536from processing .core .parameters import ParameterCrs
3637from processing .core .parameters import ParameterNumber
@@ -64,6 +65,7 @@ class warp(GdalAlgorithm):
6465 BIGTIFFTYPE = ['' , 'YES' , 'NO' , 'IF_NEEDED' , 'IF_SAFER' ]
6566 COMPRESSTYPE = ['NONE' , 'JPEG' , 'LZW' , 'PACKBITS' , 'DEFLATE' ]
6667 TFW = 'TFW'
68+ RAST_EXT = 'RAST_EXT'
6769
6870 def getIcon (self ):
6971 return QIcon (os .path .join (pluginPath , 'images' , 'gdaltools' , 'warp.png' ))
@@ -84,6 +86,7 @@ def defineCharacteristics(self):
8486 0.0 , None , 0.0 ))
8587 self .addParameter (ParameterSelection (self .METHOD ,
8688 self .tr ('Resampling method' ), self .METHOD_OPTIONS ))
89+ self .addParameter (ParameterExtent (self .RAST_EXT , self .tr ('Raster extent' )))
8790
8891 params = []
8992 params .append (ParameterSelection (self .RTYPE ,
@@ -125,7 +128,8 @@ def getConsoleCommands(self):
125128 compress = self .COMPRESSTYPE [self .getParameterValue (self .COMPRESS )]
126129 bigtiff = self .BIGTIFFTYPE [self .getParameterValue (self .BIGTIFF )]
127130 tfw = unicode (self .getParameterValue (self .TFW ))
128-
131+ rastext = unicode (self .getParameterValue (self .RAST_EXT ))
132+
129133 arguments = []
130134 arguments .append ('-ot' )
131135 arguments .append (self .TYPE [self .getParameterValue (self .RTYPE )])
@@ -149,6 +153,18 @@ def getConsoleCommands(self):
149153 arguments .append (unicode (self .getParameterValue (self .TR )))
150154 arguments .append (unicode (self .getParameterValue (self .TR )))
151155 extra = unicode (self .getParameterValue (self .EXTRA ))
156+ regionCoords = rastext .split (',' )
157+ try :
158+ rastext = []
159+ rastext .append ('-te' )
160+ rastext .append (regionCoords [0 ])
161+ rastext .append (regionCoords [2 ])
162+ rastext .append (regionCoords [1 ])
163+ rastext .append (regionCoords [3 ])
164+ except IndexError :
165+ rastext = []
166+ if rastext :
167+ arguments .extend (rastext )
152168 if len (extra ) > 0 :
153169 arguments .append (extra )
154170 if GdalUtils .getFormatShortNameFromFilename (out ) == "GTiff" :
0 commit comments