Skip to content

Commit a35d6d7

Browse files
author
cfarmer
committed
improved handeling of postGIS layers
git-svn-id: http://svn.osgeo.org/qgis/trunk@10095 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent f6bda8b commit a35d6d7

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

python/plugins/fTools/tools/doGeoprocessing.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,6 @@ def buffering( self, useField ):
276276
def convex_hull(self, useField ):
277277
vproviderA = self.vlayerA.dataProvider()
278278
allAttrsA = vproviderA.attributeIndexes()
279-
vproviderA.select( allAttrsA )
280279
fields = vproviderA.fields()
281280
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
282281
fields, QGis.WKBPolygon, vproviderA.crs() )
@@ -291,10 +290,11 @@ def convex_hull(self, useField ):
291290
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0)
292291
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
293292
for i in unique:
294-
vproviderA.rewind()
295293
hull = []
296294
first = True
297295
outID = 0
296+
vproviderA.select( allAttrsA )
297+
vproviderA.rewind()
298298
while vproviderA.nextFeature( inFeat ):
299299
nElement += 1
300300
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
@@ -339,7 +339,6 @@ def convex_hull(self, useField ):
339339
def dissolve( self, useField ):
340340
vproviderA = self.vlayerA.dataProvider()
341341
allAttrsA = vproviderA.attributeIndexes()
342-
vproviderA.select( allAttrsA )
343342
fields = vproviderA.fields()
344343
writer = QgsVectorFileWriter( self.myName, self.myEncoding,
345344
fields, vproviderA.geometryType(), vproviderA.crs() )
@@ -368,17 +367,20 @@ def dissolve( self, useField ):
368367
outFeat.setAttributeMap( attrs )
369368
writer.addFeature( outFeat )
370369
else:
371-
unique = ftools_utils.getUniqueValues( vproviderA, int( self.myParam ) )
370+
unique = vproviderA.uniqueValues( int( self.myParam ) )
372371
nFeat = nFeat * len( unique )
373372
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0)
374373
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
375374
for item in unique:
376375
first = True
376+
vproviderA.select( allAttrsA )
377377
vproviderA.rewind()
378378
while vproviderA.nextFeature( inFeat ):
379379
nElement += 1
380380
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
381-
if inFeat.attributeMap()[ self.myParam ].toString().trimmed() == item.toString().trimmed():
381+
atMap = inFeat.attributeMap()
382+
tempItem = atMap[ self.myParam ]
383+
if tempItem.toString().trimmed() == item.toString().trimmed():
382384
if first:
383385
QgsGeometry( inFeat.geometry() )
384386
tmpInGeom = QgsGeometry( inFeat.geometry() )

0 commit comments

Comments
 (0)