Skip to content

Commit ce5b309

Browse files
author
volayaf
committed
changed saga algorithm to support extent parameter
git-svn-id: http://sextante.googlecode.com/svn/trunk/soft/bindings/qgis-plugin@157 881b9c09-3ef8-f3c2-ec3d-21d735c97f4d
1 parent 5f89f23 commit ce5b309

33 files changed

+48
-117
lines changed

src/sextante/gui/ParametersPanel.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ def initGUI(self):
6464
self.verticalLayout.setSpacing(5)
6565
self.verticalLayout.setMargin(20)
6666
for param in self.alg.parameters:
67-
label = QtGui.QLabel(param.description)
67+
desc = param.description
68+
if isinstance(param, ParameterExtent):
69+
desc += "(xmin, xmax, ymin, ymax)"
70+
label = QtGui.QLabel(desc)
6871
widget = self.getWidgetFromParameter(param)
6972
self.valueItems[param.name] = widget
7073
if isinstance(param, ParameterVector):

src/sextante/parameters/ParameterExtent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ def __init__(self, name="", description="", default="0,1,0,1"):
55
self.name = name
66
self.description = description
77
self.default = default
8-
self.value = None #The value is a string in the form "N,S,E,W"
8+
self.value = None #The value is a string in the form "xmin, xmax, ymin, y max"
99

1010
def setValue(self, text):
1111
tokens = text.split(",")

src/sextante/saga/SagaAlgorithm.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@
2424
from sextante.parameters.ParameterSelection import ParameterSelection
2525
from sextante.core.LayerExporter import LayerExporter
2626
import subprocess
27+
from sextante.parameters.ParameterExtent import ParameterExtent
2728

2829
class SagaAlgorithm(GeoAlgorithm):
2930

31+
OUTPUT_EXTENT = "OUTPUT_EXTENT"
32+
3033
def __init__(self, descriptionfile):
3134
self.resample = True #True if it should resample
3235
#in case several non-matching raster layers are used as input
@@ -70,6 +73,9 @@ def defineCharacteristicsFromFile(self):
7073
self.addParameter(ParameterFactory.getFromString(line))
7174
elif line.startswith("DontResample"):
7275
self.resample = False
76+
elif line.startswith("Extent"): #An extent parameter that wraps 4 SAGA numerical parameters
77+
self.extentParamNames = line[6:].strip().split(" ")
78+
self.addParameter(ParameterExtent(self.OUTPUT_EXTENT, "Output extent", "0,1,0,1"))
7379
else:
7480
self.addOutput(OutputFactory.getFromString(line))
7581
line = lines.readline().strip("\n").strip()
@@ -200,12 +206,18 @@ def processAlgorithm(self, progress):
200206
elif isinstance(param, ParameterBoolean):
201207
if param.value:
202208
command+=(" -" + param.name);
209+
elif isinstance(param, ParameterExtent):
210+
values = param.value.split(",")
211+
for i in range(4):
212+
command+=(" -" + self.extentParamNames[i] + " " + str(values[i]));
203213
elif isinstance(param, (ParameterNumber, ParameterSelection)):
204214
command+=(" -" + param.name + " " + str(param.value));
205215
else:
206216
command+=(" -" + param.name + " \"" + str(param.value) + "\"");
207217

208218

219+
220+
209221
for out in self.outputs:
210222
if isinstance(out, OutputRaster):
211223
filename = out.value

src/sextante/saga/description/B-SplineApproximation.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ ParameterVector|SHAPES|Points|0|False
44
ParameterTableField|FIELD|Attribute|SHAPES
55
ParameterSelection|TARGET|Target Grid|[0] user defined
66
ParameterNumber|LEVEL|Resolution|None|None|1.0
7-
ParameterNumber|USER_XMIN|Left|None|None|0.0
8-
ParameterNumber|USER_XMAX|Right|None|None|0.0
9-
ParameterNumber|USER_YMIN|Bottom|None|None|0.0
10-
ParameterNumber|USER_YMAX|Top|None|None|0.0
7+
Extent USER_XMIN USER_XMAX USER_YMIN USER_YMAX
118
ParameterNumber|USER_SIZE|Cellsize|None|None|1.0
129
OutputRaster|USER_GRID|Grid

src/sextante/saga/description/CoordinateTransformation(Grid).txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ ParameterRaster|SOURCE|Source|False
88
ParameterSelection|INTERPOLATION|Interpolation|[0] Nearest Neigbhor;[1] Bilinear Interpolation;[2] Inverse Distance Interpolation;[3] Bicubic Spline Interpolation;[4] B-Spline Interpolation
99
ParameterSelection|TARGET_TYPE|Target|[0] user defined grid system
1010
ParameterBoolean|TARGET_AREA |Use Target Area Polygon|True
11-
ParameterNumber|GET_USER_XMIN|Left|None|None|0.0
12-
ParameterNumber|GET_USER_XMAX|Right|None|None|0.0
13-
ParameterNumber|GET_USER_YMIN|Bottom|None|None|0.0
14-
ParameterNumber|GET_USER_YMAX|Top|None|None|0.0
11+
Extent GET_USER_XMIN GET_USER_XMAX GET_USER_YMIN GET_USER_YMAX
1512
ParameterNumber|GET_USER_SIZE|Cellsize|None|None|1.0
1613
OutputRaster|GET_USER_GRID|Grid
1714
OutputVector|POINTS_POINTS|Points

src/sextante/saga/description/CoordinateTransformation(GridList).txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ ParameterMultipleInput|SOURCE|Source|3.0|False
88
ParameterSelection|INTERPOLATION|Interpolation|[0] Nearest Neigbhor;[1] Bilinear Interpolation;[2] Inverse Distance Interpolation;[3] Bicubic Spline Interpolation;[4] B-Spline Interpolation
99
ParameterSelection|TARGET_TYPE|Target|[0] user defined grid system
1010
ParameterBoolean|TARGET_AREA |Use Target Area Polygon|True
11-
ParameterNumber|GET_USER_XMIN|Left|None|None|0.0
12-
ParameterNumber|GET_USER_XMAX|Right|None|None|0.0
13-
ParameterNumber|GET_USER_YMIN|Bottom|None|None|0.0
14-
ParameterNumber|GET_USER_YMAX|Top|None|None|0.0
11+
Extent GET_USER_XMIN GET_USER_XMAX GET_USER_YMIN GET_USER_YMAX
1512
ParameterNumber|GET_USER_SIZE|Cellsize|None|None|1.0
1613
OutputRaster|TARGET|Target
1714
OutputVector|POINTS_POINTS|Points

src/sextante/saga/description/CreateGraticule.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
Create Graticule
22
shapes_tools
33
ParameterVector|EXTENT|Extent|-1|True
4-
ParameterNumber|X_EXTENT_MIN|X min|None|None|0.0
5-
ParameterNumber|X_EXTENT_MAX|x max|None|None|0.0
6-
ParameterNumber|Y_EXTENT_MIN|Y min|None|None|0.0
7-
ParameterNumber|Y_EXTENT_MAX|Y max|None|None|0.0
4+
Extent X_EXTENT_MIN X_EXTENT_MAX Y_EXTENT_MIN Y_EXTENT_MAX
85
ParameterNumber|DISTX|Division Width|None|None|1.0
96
ParameterNumber|DISTY|Division Height|None|None|1.0
107
ParameterSelection|TYPE|Type|[0] Lines;[1] Rectangles

src/sextante/saga/description/CubicSplineApproximation.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ ParameterNumber|NPMIN|Minimal Number of Points|None|None|3
77
ParameterNumber|NPMAX|Maximal Number of Points|None|None|20
88
ParameterNumber|NPPC|Points per Square|None|None|5
99
ParameterNumber|K|Tolerance|None|None|140.0
10-
ParameterNumber|USER_XMIN|Left|None|None|0.0
11-
ParameterNumber|USER_XMAX|Right|None|None|0.0
12-
ParameterNumber|USER_YMIN|Bottom|None|None|0.0
13-
ParameterNumber|USER_YMAX|Top|None|None|0.0
10+
Extent USER_XMIN USER_XMAX USER_YMIN USER_YMAX
1411
ParameterNumber|USER_SIZE|Cellsize|None|None|1.0
1512
OutputRaster|USER_GRID|Grid

src/sextante/saga/description/GaussianLandscapes.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Gaussian Landscapes
22
recreations_fractals
3-
ParameterNumber|NX|Width (Cells)|None|None|0
4-
ParameterNumber|NY|Height (Cells)|None|None|0
3+
ParameterNumber|NX|Width (Cells)|None|None|100
4+
ParameterNumber|NY|Height (Cells)|None|None|100
55
ParameterNumber|H|Roughness/Smoothness|None|None|0.0
66
ParameterSelection|METHOD|Method|[0] Simple;[1] Flattening
77
ParameterNumber|M|Flattening|None|None|0.0

src/sextante/saga/description/GeographicallyWeightedMultipleRegression.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ ParameterSelection|MODE|Search Mode|[0] all directions;[1] quadrants
1313
ParameterSelection|NPOINTS|Number of Points|[0] maximum number of observations;[1] all points
1414
ParameterNumber|MAXPOINTS|Maximum Number of Observations|None|None|10
1515
ParameterNumber|MINPOINTS|Minimum Number of Observations|None|None|4
16-
ParameterNumber|USER_XMIN|Left|None|None|0.0
17-
ParameterNumber|USER_XMAX|Right|None|None|0.0
18-
ParameterNumber|USER_YMIN|Bottom|None|None|0.0
19-
ParameterNumber|USER_YMAX|Top|None|None|0.0
16+
Extent USER_XMIN USER_XMAX USER_YMIN USER_YMAX
2017
ParameterNumber|USER_SIZE|Cellsize|None|None|1.0
2118
OutputRaster|USER_QUALITY|Quality
2219
OutputRaster|USER_INTERCEPT|Intercept

0 commit comments

Comments
 (0)