From 6629230e6bbc21d4229b972c43ae6819e90ec301 Mon Sep 17 00:00:00 2001 From: "volayaf@gmail.com" Date: Sun, 19 Aug 2012 10:59:20 +0000 Subject: [PATCH] fixed #6221 git-svn-id: http://sextante.googlecode.com/svn/trunk/soft/bindings/qgis-plugin@352 881b9c09-3ef8-f3c2-ec3d-21d735c97f4d --- src/sextante/ftools/ConvexHull.py | 16 ++++++++-------- src/sextante/ftools/Dissolve.py | 2 -- src/sextante/ftools/SimplifyGeometries.py | 2 +- src/sextante/ftools/SinglePartsToMultiparts.py | 3 ++- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/sextante/ftools/ConvexHull.py b/src/sextante/ftools/ConvexHull.py index 323ffa937a7..8249bf57536 100644 --- a/src/sextante/ftools/ConvexHull.py +++ b/src/sextante/ftools/ConvexHull.py @@ -36,22 +36,22 @@ class ConvexHull(GeoAlgorithm): vproviderA = vlayerA.dataProvider() allAttrsA = vproviderA.attributeIndexes() vproviderA.select(allAttrsA) - #fields = vproviderA.fields() - fields = [ QgsField("ID", QVariant.Int), - QgsField("Area", QVariant.Double), - QgsField("Perim", QVariant.Double) ] + fields = { 0 : QgsField("ID", QVariant.Int), + 1 : QgsField("Area", QVariant.Double), + 2 : QgsField("Perim", QVariant.Double) } writer = self.getOutputFromName(ConvexHull.OUTPUT).getVectorWriter(fields, QGis.WKBPolygon, vproviderA.crs()) inFeat = QgsFeature() outFeat = QgsFeature() inGeom = QgsGeometry() outGeom = QgsGeometry() nElement = 0 + index = vproviderA.fieldNameIndex(field) # there is selection in input layer if useSelection: nFeat = vlayerA.selectedFeatureCount() selectionA = vlayerA.selectedFeatures() if useField: - unique = ftools_utils.getUniqueValues( vproviderA, field ) + unique = ftools_utils.getUniqueValues( vproviderA, index ) nFeat = nFeat * len( unique ) for i in unique: hull = [] @@ -59,7 +59,7 @@ class ConvexHull(GeoAlgorithm): outID = 0 for inFeat in selectionA: atMap = inFeat.attributeMap() - idVar = atMap[ self.myParam ] + idVar = atMap[ index ] if idVar.toString().trimmed() == i.toString().trimmed(): if first: outID = idVar @@ -102,7 +102,7 @@ class ConvexHull(GeoAlgorithm): rect = vlayerA.extent() nFeat = vproviderA.featureCount() if useField: - unique = ftools_utils.getUniqueValues( vproviderA, self.myParam ) + unique = ftools_utils.getUniqueValues( vproviderA, index ) nFeat = nFeat * len( unique ) for i in unique: hull = [] @@ -112,7 +112,7 @@ class ConvexHull(GeoAlgorithm): #vproviderA.rewind() while vproviderA.nextFeature( inFeat ): atMap = inFeat.attributeMap() - idVar = atMap[ self.myParam ] + idVar = atMap[ index ] if idVar.toString().trimmed() == i.toString().trimmed(): if first: outID = idVar diff --git a/src/sextante/ftools/Dissolve.py b/src/sextante/ftools/Dissolve.py index cefbe98d3de..96e93531a42 100644 --- a/src/sextante/ftools/Dissolve.py +++ b/src/sextante/ftools/Dissolve.py @@ -35,8 +35,6 @@ class Dissolve(GeoAlgorithm): allAttrsA = vproviderA.attributeIndexes() fields = vproviderA.fields() writer = self.getOutputFromName(Dissolve.OUTPUT).getVectorWriter(fields, vproviderA.geometryType(), vproviderA.crs() ) - if writer.hasError(): - raise GeoAlgorithmExecutionException("Could not create output file"); inFeat = QgsFeature() outFeat = QgsFeature() vproviderA.rewind() diff --git a/src/sextante/ftools/SimplifyGeometries.py b/src/sextante/ftools/SimplifyGeometries.py index bb128341a53..af7c45e316d 100644 --- a/src/sextante/ftools/SimplifyGeometries.py +++ b/src/sextante/ftools/SimplifyGeometries.py @@ -53,7 +53,7 @@ class SimplifyGeometries(GeoAlgorithm): else: return None - def generalize( self, inputLayer, useSelection, tolerance, shapePath, shapeEncoding ): + def generalize( self, inputLayer, useSelection, tolerance): self.inputLayer = inputLayer self.useSelection = useSelection self.tolerance = tolerance diff --git a/src/sextante/ftools/SinglePartsToMultiparts.py b/src/sextante/ftools/SinglePartsToMultiparts.py index 8bbd36be790..566c3f10399 100644 --- a/src/sextante/ftools/SinglePartsToMultiparts.py +++ b/src/sextante/ftools/SinglePartsToMultiparts.py @@ -32,7 +32,8 @@ class SinglePartsToMultiparts(GeoAlgorithm): outFeat = QgsFeature() inGeom = QgsGeometry() outGeom = QgsGeometry() - index = int(self.getParameterValue(SinglePartsToMultiparts.FIELD)) + field = self.getParameterValue(SinglePartsToMultiparts.FIELD) + index = vprovider.fieldNameIndex(field) unique = ftools_utils.getUniqueValues( vprovider, int( index ) ) nFeat = vprovider.featureCount() * len( unique ) nElement = 0