Skip to content

Commit 63cc02d

Browse files
committed
Merge pull request #629 from volaya/sipapi
[sextante] updated to new sip api
2 parents 75cbdf6 + e46795a commit 63cc02d

Some content is hidden

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

56 files changed

+138
-195
lines changed

python/plugins/sextante/admintools/ImportIntoPostGIS.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ def processAlgorithm(self, progress):
5454
settings = QSettings()
5555
mySettings = "/PostgreSQL/connections/"+ connection
5656
try:
57-
database = settings.value(mySettings+"/database").toString()
58-
username = settings.value(mySettings+"/username").toString()
59-
host = settings.value(mySettings+"/host").toString()
60-
port = int(settings.value(mySettings+"/port").toString())
61-
password = settings.value(mySettings+"/password").toString()
57+
database = settings.value(mySettings+"/database")
58+
username = settings.value(mySettings+"/username")
59+
host = settings.value(mySettings+"/host")
60+
port = settings.value(mySettings+"/port", type = int)
61+
password = settings.value(mySettings+"/password")
6262
except Exception, e:
6363
raise GeoAlgorithmExecutionException("Wrong database connection name: " + connection)
6464

python/plugins/sextante/admintools/PostGISExecuteSQL.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ def processAlgorithm(self, progress):
4646
settings = QSettings()
4747
mySettings = "/PostgreSQL/connections/"+ connection
4848
try:
49-
database = settings.value(mySettings+"/database").toString()
50-
username = settings.value(mySettings+"/username").toString()
51-
host = settings.value(mySettings+"/host").toString()
52-
port = int(settings.value(mySettings+"/port").toString())
53-
password = settings.value(mySettings+"/password").toString()
49+
database = settings.value(mySettings+"/database")
50+
username = settings.value(mySettings+"/username")
51+
host = settings.value(mySettings+"/host")
52+
port = settings.value(mySettings+"/port", type = int)
53+
password = settings.value(mySettings+"/password")
5454
except Exception, e:
5555
raise GeoAlgorithmExecutionException("Wrong database connection name: " + connection)
5656
try:

python/plugins/sextante/algs/AddTableField.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def processAlgorithm(self, progress):
8989
inGeom = inFeat.geometry()
9090
outFeat.setGeometry( inGeom )
9191
atMap = inFeat.attributes()
92-
atMap.append(QVariant())
92+
atMap.append(None)
9393
outFeat.setAttributes(atMap)
9494
writer.addFeature( outFeat )
9595
del writer

python/plugins/sextante/algs/AutoincrementalField.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def processAlgorithm(self, progress):
5959
inGeom = inFeat.geometry()
6060
outFeat.setGeometry( inGeom )
6161
attrs = inFeat.attributes()
62-
attrs.append(QVariant(nElement))
62+
attrs.append(nElement)
6363
outFeat.setAttributes(attrs)
6464
writer.addFeature(outFeat)
6565
del writer

python/plugins/sextante/algs/EquivalentNumField.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ def processAlgorithm(self, progress):
6363
inGeom = feature.geometry()
6464
outFeat.setGeometry( inGeom )
6565
atMap = feature.attributes()
66-
clazz = atMap[fieldindex].toString()
66+
clazz = atMap[fieldindex]
6767
if clazz not in classes:
6868
classes[clazz] = len(classes.keys())
69-
atMap.append(QVariant(classes[clazz]))
69+
atMap.append(classes[clazz])
7070
outFeat.setAttributes(atMap)
7171
writer.addFeature( outFeat )
7272
del writer

python/plugins/sextante/algs/FieldPyculator.py

+2-10
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def processAlgorithm(self, progress):
142142
new_ns['__geom'] = geom
143143

144144
if need_attrs:
145-
pyattrs = [self.Qvar2py(a) for a in attrs]
145+
pyattrs = [a for a in attrs]
146146
new_ns['__attr'] = pyattrs
147147

148148
#clear old result
@@ -161,20 +161,12 @@ def processAlgorithm(self, progress):
161161
#write feature
162162
nElement += 1
163163
outFeat.setGeometry( feat.geometry() )
164-
attrs.append(QVariant(new_ns[self.RESULT_VAR_NAME]))
164+
attrs.append(new_ns[self.RESULT_VAR_NAME])
165165
outFeat.setAttributes(attrs)
166166
writer.addFeature(outFeat)
167167

168168
del writer
169169

170-
def Qvar2py(self,qv):
171-
if qv.type() == 2:
172-
return qv.toInt()[0]
173-
if qv.type() == 10:
174-
return unicode(qv.toString())
175-
if qv.type() == 6:
176-
return qv.toDouble()[0]
177-
return None
178170

179171
def checkParameterValuesBeforeExecuting(self):
180172
##TODO check that formula is correct and fields exist

python/plugins/sextante/algs/FieldsCalculator.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def processAlgorithm(self, progress):
9191
expression = formula
9292
k = 0
9393
for attr in attrs:
94-
expression = expression.replace(unicode(fields[k].name()), unicode(attr.toString()))
94+
expression = expression.replace(unicode(fields[k].name()), unicode(attr))
9595
k += 1
9696
try:
9797
result = eval(expression)
@@ -102,7 +102,7 @@ def processAlgorithm(self, progress):
102102
inGeom = inFeat.geometry()
103103
outFeat.setGeometry(inGeom)
104104
attrs = inFeat.attributes()
105-
attrs.append(QVariant(result))
105+
attrs.append(result)
106106
outFeat.setAttributes(attrs)
107107
writer.addFeature(outFeat)
108108
del writer

python/plugins/sextante/algs/JoinAttributes.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ def processAlgorithm(self, progress):
8383
for inFeat in features:
8484
inGeom = inFeat.geometry()
8585
attrs = inFeat.attributes()
86-
joinValue1 = attrs[joinField1Index].toString()
86+
joinValue1 = attrs[joinField1Index]
8787
features2 = QGisLayers.features(layer2);
8888
for inFeat2 in features2:
8989
## Maybe it should cache this entries...
9090
attrs2 = inFeat2.attributes()
91-
joinValue2 = attrs2[joinField2Index].toString()
91+
joinValue2 = attrs2[joinField2Index]
9292
if joinValue1 == joinValue2:
9393
# create the new feature
9494
outFeat.setGeometry(inGeom)

python/plugins/sextante/algs/PointsLayerFromTable.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ def processAlgorithm(self, progress):
5858
progress.setPercentage((nElement*100)/nFeat)
5959
attrs = feature.attributes()
6060
try:
61-
x = float(attrs[xfieldindex].toString())
62-
y = float(attrs[yfieldindex].toString())
61+
x = float(attrs[xfieldindex])
62+
y = float(attrs[yfieldindex])
6363
except:
6464
continue
6565
pt = QgsPoint(x, y)

python/plugins/sextante/algs/Polygonize.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def processAlgorithm(self, progress):
8080
for polygon in polygons:
8181
outFeat.setGeometry(QgsGeometry.fromWkt( polygon.wkt ))
8282
if self.getParameterValue(self.GEOMETRY):
83-
outFeat.setAttributes([None]*fieldsCount + [ QVariant(polygon.area), QVariant(polygon.length)])
83+
outFeat.setAttributes([None]*fieldsCount + [ polygon.area, polygon.length])
8484
writer.addFeature(outFeat)
8585
current += 1
8686
progress.setPercentage(50+int(current * total))

python/plugins/sextante/algs/StatisticsByCategories.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ def processAlgorithm(self, progress):
6969
progress.setPercentage(int((100 * nFeats) / nFeat))
7070
attrs = feat.attributes()
7171
try:
72-
value = float(attrs[valuesField].toDouble()[0])
73-
cat = unicode(attrs[categoriesField].toString())
72+
value = float(attrs[valuesField])
73+
cat = unicode(attrs[categoriesField])
7474
if cat not in values:
7575
values[cat] = []
7676
values[cat].append(value)
@@ -108,7 +108,7 @@ def calculateStats(values):
108108
maxvalue = max(v, maxvalue)
109109

110110
if n > 1:
111-
variance = M2/(n - 1)
111+
variance = M2/(n - 1)
112112
else:
113113
variance = 0;
114114
stddev = math.sqrt(variance)

python/plugins/sextante/algs/ftools/BasicStatisticsNumbers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def processAlgorithm(self, progress):
108108
total = 100.0 / float(count)
109109
current = 0
110110
for ft in features:
111-
value = float(ft.attributes()[index].toDouble()[0])
111+
value = float(ft.attributes()[index])
112112
if isFirst:
113113
minValue = value
114114
maxValue = value

python/plugins/sextante/algs/ftools/BasicStatisticsStrings.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def processAlgorithm(self, progress):
100100
total = 100.0 / float(count)
101101
current = 0
102102
for ft in features:
103-
length = float(len(ft.attributes()[index].toString()))
103+
length = float(len(ft.attributes()[index]))
104104

105105
if isFirst:
106106
minValue = length

python/plugins/sextante/algs/ftools/Buffer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def buffering(progress, writer, distance, field, useField, layer, dissolve, segm
5353
for inFeat in features:
5454
attrs = inFeat.attributes()
5555
if useField:
56-
value = attrs[field].toDouble()[0]
56+
value = attrs[field]
5757
else:
5858
value = distance
5959

@@ -86,7 +86,7 @@ def buffering(progress, writer, distance, field, useField, layer, dissolve, segm
8686
for inFeat in features:
8787
attrs = inFeat.attributes()
8888
if useField:
89-
value = attrs[field].toDouble()[0]
89+
value = attrs[field]
9090
else:
9191
value = distance
9292

python/plugins/sextante/algs/ftools/ConvexHull.py

+3-11
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def processAlgorithm(self, progress):
115115
features = QGisLayers.features(layer)
116116
for f in features:
117117
idVar = f[fieldName]
118-
if idVar.toString().trimmed() == i.toString().trimmed():
118+
if unicode(idVar).strip() == unicode(i).strip:
119119
if first:
120120
val = idVar
121121
first = False
@@ -131,11 +131,7 @@ def processAlgorithm(self, progress):
131131
outGeom = tmpGeom.convexHull()
132132
(area, perim) = utils.simpleMeasure(outGeom)
133133
outFeat.setGeometry(outGeom)
134-
outFeat.setAttributes([QVariant(fid),
135-
QVariant(val),
136-
QVariant(area),
137-
QVariant(perim)
138-
])
134+
outFeat.setAttributes([fid,val,area,perim])
139135
writer.addFeature(outFeat)
140136
except:
141137
GEOS_EXCEPT = False
@@ -157,11 +153,7 @@ def processAlgorithm(self, progress):
157153
outGeom = tmpGeom.convexHull()
158154
(area, perim) = utils.simpleMeasure(outGeom)
159155
outFeat.setGeometry(outGeom)
160-
outFeat.setAttributes([QVariant(0),
161-
QVariant("all"),
162-
QVariant(area),
163-
QVariant(perim)
164-
])
156+
outFeat.setAttributes([0, "all", area, perim])
165157
writer.addFeature(outFeat)
166158
except:
167159
GEOS_EXCEPT = False

python/plugins/sextante/algs/ftools/Dissolve.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def processAlgorithm(self, progress):
9292
progress.setPercentage(int(nElement/nFeat * 100))
9393
atMap = inFeat.attributes()
9494
tempItem = atMap[ field ]
95-
if tempItem.toString().trimmed() == item.toString().trimmed():
95+
if tempItem.strip() == item.strip():
9696
if first:
9797
QgsGeometry( inFeat.geometry() )
9898
tmpInGeom = QgsGeometry( inFeat.geometry() )

python/plugins/sextante/algs/ftools/ExportGeometryInfo.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,7 @@ def processAlgorithm(self, progress):
9595
# 0 - layer CRS
9696
# 1 - project CRS
9797
# 2 - ellipsoidal
98-
if method == 2:
99-
settings = QSettings()
98+
if method == 2:
10099
ellips = QgsProject.instance().readEntry("Measure", "/Ellipsoid", GEO_NONE)[0]
101100
crs = layer.crs().srsid()
102101
elif method == 1:
@@ -123,9 +122,9 @@ def processAlgorithm(self, progress):
123122

124123
outFeat.setGeometry(inGeom)
125124
attrs = f.attributes()
126-
attrs.insert(idx1, QVariant(attr1))
125+
attrs.insert(idx1, attr1)
127126
if attr2 is not None:
128-
attrs.insert(idx2, QVariant(attr2))
127+
attrs.insert(idx2, attr2)
129128
outFeat.setAttributes(attrs)
130129
writer.addFeature(outFeat)
131130

python/plugins/sextante/algs/ftools/ExtentFromLayer.py

+2-22
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,7 @@ def layerExtent(self, layer, writer, progress):
104104
geometry = QgsGeometry().fromPolygon([rect])
105105
feat = QgsFeature()
106106
feat.setGeometry(geometry)
107-
attrs = [QVariant(minx),
108-
QVariant(miny),
109-
QVariant(maxx),
110-
QVariant(maxy),
111-
QVariant(cntx),
112-
QVariant(cnty),
113-
QVariant(area),
114-
QVariant(perim),
115-
QVariant(height),
116-
QVariant(width)
117-
]
107+
attrs = [minx,miny,maxx,maxy,cntx,cnty,area,perim,height,width]
118108
feat.setAttributes(attrs)
119109
writer.addFeature(feat)
120110

@@ -144,17 +134,7 @@ def featureExtent(self, layer, writer, progress):
144134

145135
geometry = QgsGeometry().fromPolygon([rect])
146136
feat.setGeometry(geometry)
147-
attrs = [QVariant(minx),
148-
QVariant(miny),
149-
QVariant(maxx),
150-
QVariant(maxy),
151-
QVariant(cntx),
152-
QVariant(cnty),
153-
QVariant(area),
154-
QVariant(perim),
155-
QVariant(height),
156-
QVariant(width)
157-
]
137+
attrs = [minx,miny,maxx,maxy,cntx,cnty,area,perim,height,width]
158138
feat.setAttributes(attrs)
159139

160140
writer.addFeature(feat)

python/plugins/sextante/algs/ftools/FToolsUtils.py

-17
Original file line numberDiff line numberDiff line change
@@ -158,20 +158,3 @@ def combineVectorFields(layerA, layerB):
158158

159159
return fields
160160

161-
# Create a unique field name based on input field name
162-
def createUniqueFieldNameFromName(field):
163-
check = field.name().right(2)
164-
shortName = field.name().left(8)
165-
if check.startsWith("_"):
166-
(val, test) = check.right(1).toInt()
167-
if test:
168-
if val < 2:
169-
val = 2
170-
else:
171-
val = val + 1
172-
field.setName(shortName.left(len(shortName) - 1) + unicode(val))
173-
else:
174-
field.setName(shortName + "_2")
175-
else:
176-
field.setName(shortName + "_2")
177-
return field

python/plugins/sextante/algs/ftools/MeanCoords.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@ def processAlgorithm(self, progress):
7979
for feat in features:
8080
current += 1
8181
progress.setPercentage(current * total)
82-
clazz = feat.attributes()[uniqueIndex].toString().trimmed()
82+
clazz = feat.attributes()[uniqueIndex].strip()
8383
if weightIndex == -1:
8484
weight = 1.00
8585
else:
8686
try:
87-
weight = float(feat.attributes()[weightIndex].toDouble()[0])
87+
weight = float(feat.attributes()[weightIndex])
8888
except:
8989
weight = 1.00
9090
if clazz not in means:
@@ -106,7 +106,7 @@ def processAlgorithm(self, progress):
106106
meanPoint = QgsPoint(cx, cy)
107107

108108
outFeat.setGeometry(QgsGeometry.fromPoint(meanPoint))
109-
outFeat.setAttributes([QVariant(cx), QVariant(cy), clazz])
109+
outFeat.setAttributes([cx, cy, clazz])
110110
writer.addFeature(outFeat)
111111

112112

python/plugins/sextante/algs/ftools/PointDistance.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,14 @@ def linearMatrix(self, inLayer, inField, targetLayer, targetField, matType, nPoi
124124
total = 100.0 / float(len(features))
125125
for inFeat in features:
126126
inGeom = inFeat.geometry()
127-
inID = inFeat.attributes()[inIdx].toString()
127+
inID = inFeat.attributes()[inIdx]
128128
featList = index.nearestNeighbor(inGeom.asPoint(), nPoints)
129129
distList = []
130130
vari = 0.0
131131
for i in featList:
132132
request = QgsFeatureRequest().setFilterFid(i)
133133
outFeat = targetLayer.getFeatures(request).next()
134-
outID = outFeat.attributes()[outIdx].toString()
134+
outID = outFeat.attributes()[outIdx]
135135
outGeom = outFeat.geometry()
136136
dist = distArea.measureLine(inGeom.asPoint(), outGeom.asPoint())
137137
if matType == 0:
@@ -167,15 +167,15 @@ def regularMatrix(self, inLayer, inField, targetLayer, targetField, nPoints, pro
167167

168168
for inFeat in features:
169169
inGeom = inFeat.geometry()
170-
inID = inFeat.attributes()[inIdx].toString()
170+
inID = inFeat.attributes()[inIdx]
171171
if first:
172172
featList = index.nearestNeighbor(inGeom.asPoint(), nPoints)
173173
first = False
174174
data = ["ID"]
175175
for i in featList:
176176
request = QgsFeatureRequest().setFilterFid(i)
177177
outFeat = targetLayer.getFeatures(request).next()
178-
data.append(unicode(outFeat.attributes[outIdx].toString()))
178+
data.append(unicode(outFeat.attributes[outIdx]))
179179
self.writer.writerow(data)
180180

181181
data = [unicode(inID)]

0 commit comments

Comments
 (0)