Skip to content

Commit b74ae41

Browse files
author
volayaf
committed
Polished some GRASS descriptions
Fixed small bug when handling selection parameters added statistical values to numerical value selector git-svn-id: http://sextante.googlecode.com/svn/trunk/soft/bindings/qgis-plugin@58 881b9c09-3ef8-f3c2-ec3d-21d735c97f4d
1 parent c9b2d62 commit b74ae41

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+172
-292
lines changed

src/sextante/ftools/ConvexHull.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def processAlgorithm(self, progress):
3131
systemEncoding = settings.value( "/UI/encoding", "System" ).toString()
3232
output = self.getOutputValue(ConvexHull.OUTPUT)
3333
useSelection = self.getParameterValue(ConvexHull.USE_SELECTED)
34-
useField = (self.getParameterValue(ConvexHull.METHOD) == ConvexHull.METHODS[1])
34+
useField = (self.getParameterValue(ConvexHull.METHOD) == 1)
3535
field = self.getParameterValue(ConvexHull.FIELD)
3636
vlayerA = QGisLayers.getObjectFromUri(self.getParameterValue(ConvexHull.INPUT))
3737
GEOS_EXCEPT = True

src/sextante/grass/GrassAlgorithm.py

+33-20
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from sextante.grass.GrassUtils import GrassUtils
2020
import time
2121
from sextante.core.SextanteUtils import SextanteUtils
22+
from sextante.parameters.ParameterSelection import ParameterSelection
2223

2324
class GrassAlgorithm(GeoAlgorithm):
2425

@@ -75,24 +76,20 @@ def calculateResamplingExtent(self):
7576
if auto:
7677
first = True;
7778
for param in self.parameters:
78-
if isinstance(param, (ParameterRaster, ParameterVector)):
79-
if isinstance(param.value, (QgsRasterLayer, QgsVectorLayer)):
80-
value = param.value
79+
if isinstance(param, ParameterRaster):
80+
if isinstance(param.value, QgsRasterLayer):
81+
layer = param.value
8182
else:
82-
value = QGisLayers.getObjectFromUri(param.value)
83-
if first:
84-
self.xmin = value.extent().xMinimum()
85-
self.xmax = value.extent().xMaximum()
86-
self.ymin = value.extent().yMinimum()
87-
self.ymax = value.extent().yMaximum()
88-
self.cellsize = (value.extent().xMaximum() - value.extent().xMinimum())/value.getRasterXDim()
89-
first = False
90-
else:
91-
self.xmin = min(self.xmin, value.extent().xMinimum())
92-
self.xmax = max(self.xmax, value.extent().xMaximum())
93-
self.ymin = min(self.ymin, value.extent().yMinimum())
94-
self.ymax = max(self.ymax, value.extent().yMaximum())
95-
self.cellsize = max(self.cellsize, (value.extent().xMaximum() - value.extent().xMinimum())/value.getRasterXDim())
83+
layer = QGisLayers.getObjectFromUri(param.value)
84+
self.addToResamplingExtent(layer, first)
85+
first = False
86+
if isinstance(param, ParameterMultipleInput):
87+
if param.datatype == ParameterMultipleInput.TYPE_RASTER:
88+
layers = param.value.split(";")
89+
for layername in layers:
90+
layer = QGisLayers.getObjectFromUri(layername, first)
91+
self.addToResamplingExtent(layer, first)
92+
first = False
9693
else:
9794
self.xmin = SextanteConfig.getSetting(GrassUtils.GRASS_REGION_XMIN)
9895
self.xmax = SextanteConfig.getSetting(GrassUtils.GRASS_REGION_XMAX)
@@ -101,6 +98,21 @@ def calculateResamplingExtent(self):
10198
self.cellsize = SextanteConfig.getSetting(GrassUtils.GRASS_REGION_CELLSIZE)
10299

103100

101+
def addToResamplingExtent(self, layer, first):
102+
if first:
103+
self.xmin = layer.extent().xMinimum()
104+
self.xmax = layer.extent().xMaximum()
105+
self.ymin = layer.extent().yMinimum()
106+
self.ymax = layer.extent().yMaximum()
107+
self.cellsize = (layer.extent().xMaximum() - layer.extent().xMinimum())/layer.width()
108+
else:
109+
self.xmin = min(self.xmin, layer.extent().xMinimum())
110+
self.xmax = max(self.xmax, layer.extent().xMaximum())
111+
self.ymin = min(self.ymin, layer.extent().yMinimum())
112+
self.ymax = max(self.ymax, layer.extent().yMaximum())
113+
self.cellsize = max(self.cellsize, (layer.extent().xMaximum() - layer.extent().xMinimum())/layer.width())
114+
115+
104116
def processAlgorithm(self, progress):
105117
path = GrassUtils.grassPath()
106118
if path == "":
@@ -110,11 +122,9 @@ def processAlgorithm(self, progress):
110122
self.exportedLayers = {}
111123
self.numExportedLayers = 0;
112124

113-
##if self.needsregion:
114125
self.calculateResamplingExtent()
115126
GrassUtils.createTempMapset();
116127

117-
##if self.needsregion:
118128
command = "g.region"
119129
command += " n=" + str(self.ymax)
120130
command +=" s=" + str(self.ymin)
@@ -169,7 +179,10 @@ def processAlgorithm(self, progress):
169179
command+=(" " + param.name + "=" + s);
170180
elif isinstance(param, ParameterBoolean):
171181
if param.value:
172-
command += param.name
182+
command += (" " + param.name)
183+
elif isinstance(param, ParameterSelection):
184+
idx = int(param.value)
185+
command+=(" " + param.name + "=" + str(param.options[idx]));
173186
else:
174187
command+=(" " + param.name + "=" + str(param.value));
175188

src/sextante/grass/GrassUtils.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from sextante.core.SextanteConfig import SextanteConfig
55
from sextante.core.SextanteLog import SextanteLog
66
import stat
7+
import shutil
78

89
class GrassUtils:
910

@@ -161,14 +162,14 @@ def createTempMapset():
161162
GrassUtils.writeGrassWindow(os.path.join(folder, "PERMANENT", "WIND"));
162163
mkdir(os.path.join(folder, "user", "dbf"))
163164
mkdir(os.path.join(folder, "user", ".tmp"))
164-
outfile = open(mkdir(os.path.join(folder, "user", "VAR"), "w"))
165+
outfile = open(os.path.join(folder, "user", "VAR"), "w")
165166
outfile.write("DB_DRIVER: dbf\n");
166167
outfile.write("DB_DATABASE: $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/\n");
167168
outfile.close()
168169
GrassUtils.writeGrassWindow(os.path.join(folder, "user", "WIND"));
169170

170171
@staticmethod
171-
def writeGRASSWindow(filename):
172+
def writeGrassWindow(filename):
172173
out = open(filename, "w")
173174
latlon = SextanteConfig.getSetting(GrassUtils.GRASS_LATLON)
174175
if not latlon:
@@ -232,9 +233,10 @@ def executeGrass(commands, progress):
232233
pass
233234
loglines.append(line)
234235
SextanteLog.addToLog(SextanteLog.LOG_INFO, loglines)
236+
shutil.rmtree(GrassUtils.grassMapsetFolder(), True)
235237

236-
237-
def getGrassVersion(self):
238+
@staticmethod
239+
def getGrassVersion():
238240
#I do not know if this should be removed or let the user enter it
239241
#or something like that... This is just a temporary thing
240242
return "6.4.0"

src/sextante/grass/description/alg_100.txt

-18
This file was deleted.

src/sextante/grass/description/alg_3.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
v.random
22
Vector (v.*)
3-
ParameterString|n|n|None|None|0.0
3+
ParameterNumber|n|n|None|None|0.0
44
ParameterNumber|zmin|zmin|None|None|0.0
55
ParameterString|zmax|zmax|None|None|0.0
66
ParameterTableField|column|column|z

src/sextante/grass/description/alg_44.txt

-5
This file was deleted.

src/sextante/grass/description/alg_44b.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
r.reclass.area.greater
1+
r.reclass.area
22
Raster (r.*)
33
ParameterRaster|input|input|False
44
ParameterNumber|greater|greater|None|None|0.0

src/sextante/grass/description/alg_50.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
r.prominence
22
Raster (r.*)
33
ParameterRaster|input|input|False
4-
ParameterString|radius|radius|1
4+
ParameterNumber|radius|radius|1|None|1
55
ParameterBoolean|-a|-a|True
66
ParameterBoolean|-l|-l|True
77
ParameterBoolean|-g|-g|True

src/sextante/grass/description/alg_52.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ v.out.pov
22
Vector (v.*)
33
ParameterVector|input|input|-1|False
44
ParameterString|type|type|point,line,area,face
5-
ParameterString|output|output|
5+
ParameterString|output|output|/file
66
ParameterString|size|size|10
77
ParameterString|zmod|zmod|
88
ParameterString|objmod|objmod|

src/sextante/grass/description/alg_53.txt

-12
This file was deleted.

src/sextante/grass/description/alg_54.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Vector (v.*)
33
ParameterVector|input|input|-1|False
44
ParameterSelection|distribution|distribution|uniform;normal
55
ParameterString|parameters|parameters|
6-
ParameterString|minimum|minimum|0.0
7-
ParameterString|seed|seed|0
6+
ParameterNumber|minimum|minimum|None|None|0.0
7+
ParameterNumber|seed|seed|None|None|0
88
ParameterBoolean|-q|-q|True
99
OutputVector|output|output

src/sextante/grass/description/alg_55.txt

-12
This file was deleted.
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
r.cross
22
Raster (r.*)
3-
ParameterMultipleInput|input|input|1.0|False
3+
ParameterMultipleInput|input|input|3|False
44
ParameterBoolean|-z|-z|True
55
ParameterBoolean|-q|-q|True
66
OutputRaster|output|output

src/sextante/grass/description/alg_57.txt

-6
This file was deleted.

src/sextante/grass/description/alg_60.txt

-5
This file was deleted.

src/sextante/grass/description/alg_61.txt

-13
This file was deleted.

src/sextante/grass/description/alg_62.txt

-5
This file was deleted.
+3-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
v.extrude
22
Vector (v.*)
33
ParameterVector|input|input|-1|False
4-
ParameterString|zshift|zshift|0
4+
ParameterNumber|zshift|zshift|None|None|0
55
ParameterRaster|elevation|elevation|False
6-
ParameterString|height|height|
7-
ParameterString|hcolumn|hcolumn|
6+
ParameterNumber|height|height|None|None|0
7+
ParameterNumber|hcolumn|hcolumn|None|None|0
88
ParameterString|type|type|point,line,boundary,area
9-
ParameterString|layer|layer|1
109
ParameterBoolean|-t|-t|True
1110
OutputVector|output|output
+2-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
v.clean
22
Vector (v.*)
33
ParameterVector|input|input|-1|False
4-
ParameterString|type|type|point,line,boundary,centroid,area
5-
ParameterString|tool|tool|
6-
ParameterString|thresh|thresh|
4+
ParameterSelection|tool|tool|break;snap;rmdangle;chdangle;rmbridge;chbridge;rmdupl;rmdac;bpol;prune;rmarea;rmline;rmsa
5+
ParameterNumber|thresh|thresh|None|None|0
76
ParameterBoolean|-b|-b|True
87
OutputVector|output|output
98
OutputVector|error|error

src/sextante/grass/description/alg_66.txt

-11
This file was deleted.

src/sextante/grass/description/alg_67.txt

+11-12
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,23 @@ Raster (r.*)
33
ParameterRaster|input|input|False
44
ParameterRaster|target_mask|target_mask|False
55
ParameterRaster|viewpt_mask|viewpt_mask|False
6-
ParameterVector|sites|sites|-1|False
7-
ParameterString|layer|layer|1
8-
ParameterString|obs_elev|obs_elev|1.75
9-
ParameterString|target_elev|target_elev|0.0
10-
ParameterString|max_dist|max_dist|2000
11-
ParameterString|seed|seed|1
12-
ParameterString|sample|sample|10.0
6+
ParameterVector|sites|sites|0|False
7+
ParameterNumber|obs_elev|obs_elev|None|None|1.75
8+
ParameterNumber|target_elev|target_elev|None|None|0.0
9+
ParameterNumber|max_dist|max_dist|None|None|2000
10+
ParameterNumber|seed|seed|None|None|1
11+
ParameterNumber|sample|sample|None|None|10.0
1312
ParameterSelection|type|type|sites;systematic;random;all
1413
ParameterString|spot|spot|
1514
ParameterString|offseta|offseta|
1615
ParameterString|offsetb|offsetb|
1716
ParameterString|azimuth1|azimuth1|
1817
ParameterString|azimuth2|azimuth2|
19-
ParameterString|vert1|vert1|
20-
ParameterString|vert2|vert2|
21-
ParameterString|radius1|radius1|
22-
ParameterString|radius2|radius2|
23-
ParameterString|curvc|curvc|0.0
18+
ParameterString|vert1|vert1|None|None|0
19+
ParameterString|vert2|vert2|None|None|0
20+
ParameterNumber|radius1|radius1|None|None|1
21+
ParameterNumber|radius2|radius2|None|None|1
22+
ParameterNumber|curvc|curvc|None|None|0.0
2423
ParameterBoolean|-f|-f|True
2524
ParameterBoolean|-m|-m|True
2625
ParameterBoolean|-a|-a|True

src/sextante/grass/description/alg_68.txt

-9
This file was deleted.

src/sextante/grass/description/alg_69.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ v.lidar.growing
22
Vector (v.*)
33
ParameterVector|input|input|-1|False
44
ParameterVector|first|first|-1|False
5-
ParameterString|tj|tj|0.2
6-
ParameterString|td|td|0.6
5+
ParameterNumber|tj|tj|None|None|0.2
6+
ParameterNumber|td|td|None|None|0.6
77
OutputVector|output|output
+7-15
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
v.transform
22
Vector (v.*)
33
ParameterVector|input|input|-1|False
4-
ParameterString|pointsfile|pointsfile|/file
5-
ParameterString|xshift|xshift|0.0
6-
ParameterString|yshift|yshift|0.0
7-
ParameterString|zshift|zshift|0.0
8-
ParameterString|xscale|xscale|1.0
9-
ParameterString|yscale|yscale|1.0
10-
ParameterString|zscale|zscale|1.0
11-
ParameterString|zrot|zrot|0.0
12-
ParameterString|table|table|
13-
ParameterString|columns|columns|
14-
ParameterString|layer|layer|1
15-
ParameterBoolean|-q|-q|True
16-
ParameterBoolean|-t|-t|True
17-
ParameterBoolean|-m|-m|True
18-
ParameterBoolean|-s|-s|True
4+
ParameterString|xshift|xshift|None|None|0.0
5+
ParameterString|yshift|yshift|None|None|0.0
6+
ParameterString|zshift|zshift|None|None|0.0
7+
ParameterString|xscale|xscale|None|None|1.0
8+
ParameterString|yscale|yscale|None|None|1.0
9+
ParameterString|zscale|zscale|None|None|1.0
10+
ParameterString|zrot|zrot|None|None|0.0
1911
OutputVector|output|output

src/sextante/grass/description/alg_71.txt

-5
This file was deleted.

0 commit comments

Comments
 (0)