Skip to content

Commit dc2df62

Browse files
committedOct 20, 2016
Make Extent and Extent CRS GDAL parameters optional
Specify what the default is when extent CRS is not specified. Allow using "auto" to have extent automatically set to min covering extent. Fixes #15685
1 parent 1f5fb80 commit dc2df62

File tree

3 files changed

+17
-20
lines changed

3 files changed

+17
-20
lines changed
 

‎python/plugins/processing/algs/gdal/warp.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ def defineCharacteristics(self):
9191

9292
if GdalUtils.version() >= 2000000:
9393
self.addParameter(ParameterCrs(self.EXT_CRS,
94-
self.tr('CRS of the raster extent'), ''))
94+
self.tr('CRS of the raster extent, leave blank for using Destination SRS'),
95+
optional=True))
9596

9697
params = []
9798
params.append(ParameterSelection(self.RTYPE,
@@ -135,7 +136,7 @@ def getConsoleCommands(self):
135136
compress = self.COMPRESSTYPE[self.getParameterValue(self.COMPRESS)]
136137
bigtiff = self.BIGTIFFTYPE[self.getParameterValue(self.BIGTIFF)]
137138
tfw = unicode(self.getParameterValue(self.TFW))
138-
rastext = unicode(self.getParameterValue(self.RAST_EXT))
139+
rastext = self.getParameterValue(self.RAST_EXT)
139140
rastext_crs = self.getParameterValue(self.EXT_CRS)
140141

141142
arguments = []
@@ -163,21 +164,17 @@ def getConsoleCommands(self):
163164
extra = self.getParameterValue(self.EXTRA)
164165
if extra is not None:
165166
extra = unicode(extra)
166-
regionCoords = rastext.split(',')
167-
try:
168-
rastext = []
169-
rastext.append('-te')
170-
rastext.append(regionCoords[0])
171-
rastext.append(regionCoords[2])
172-
rastext.append(regionCoords[1])
173-
rastext.append(regionCoords[3])
174-
except IndexError:
175-
rastext = []
176167
if rastext:
177-
arguments.extend(rastext)
168+
regionCoords = rastext.split(',')
169+
if len(regionCoords) >= 4:
170+
arguments.append('-te')
171+
arguments.append(regionCoords[0])
172+
arguments.append(regionCoords[2])
173+
arguments.append(regionCoords[1])
174+
arguments.append(regionCoords[3])
178175

179176
if GdalUtils.version() >= 2000000:
180-
if rastext and rastext_crs is not None:
177+
if rastext and rastext_crs:
181178
arguments.append('-te_srs')
182179
arguments.append(rastext_crs)
183180

‎python/plugins/processing/core/parameters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ def __init__(self, name='', description='', default=None, optional=False):
198198
# The value is a string in the form "xmin, xmax, ymin, ymax"
199199

200200
def setValue(self, text):
201-
if text is None:
201+
if not text:
202202
if not self.optional:
203203
return False
204204
self.value = None

‎python/plugins/processing/gui/ExtentSelectionPanel.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def __init__(self, dialog, alg, default=None):
5858
if self.canUseAutoExtent():
5959
if hasattr(self.leText, 'setPlaceholderText'):
6060
self.leText.setPlaceholderText(
61-
self.tr('[Leave blank to use min covering extent]'))
61+
self.tr('[Use "auto" to use min covering extent]'))
6262

6363
self.btnSelect.clicked.connect(self.selectExtent)
6464

@@ -112,7 +112,7 @@ def selectExtent(self):
112112
popupmenu.exec_(QCursor.pos())
113113

114114
def useMinCoveringExtent(self):
115-
self.leText.setText('')
115+
self.leText.setText('auto')
116116

117117
def getMinCoveringExtent(self):
118118
first = True
@@ -205,10 +205,10 @@ def setValueFromRect(self, r):
205205
self.dialog.activateWindow()
206206

207207
def getValue(self):
208-
if unicode(self.leText.text()).strip() != '':
209-
return unicode(self.leText.text())
210-
else:
208+
if unicode(self.leText.text()).strip() == 'auto':
211209
return self.getMinCoveringExtent()
210+
else:
211+
return unicode(self.leText.text())
212212

213213
def setExtentFromString(self, s):
214214
self.leText.setText(s)

0 commit comments

Comments
 (0)
Please sign in to comment.