@@ -50,10 +50,11 @@ def defineCharacteristics(self):
5050 self .group = 'Vector geometry tools'
5151 self .addParameter (ParameterVector (ConcaveHull .INPUT , 'Input point layer' ,
5252 [ParameterVector .VECTOR_TYPE_POINT ]))
53- self .addParameter (ParameterNumber (self .ALPHA , 'Threshold (0-1, where 1 is equivalent with Convex Hull)' , 0 ,
54- 1 , 0.3 ))
53+ self .addParameter (ParameterNumber (self .ALPHA ,
54+ 'Threshold (0-1, where 1 is equivalent with Convex Hull)' , 0 , 1 , 0.3 ))
5555 self .addParameter (ParameterBoolean (self .HOLES , 'Allow holes' , True ))
56- self .addParameter (ParameterBoolean (self .NO_MULTIGEOMETRY , 'Split multipart geometry into singleparts geometries' , False ))
56+ self .addParameter (ParameterBoolean (self .NO_MULTIGEOMETRY ,
57+ 'Split multipart geometry into singleparts geometries' , False ))
5758 self .addOutput (OutputVector (ConcaveHull .OUTPUT , 'Convex hull' ))
5859
5960 def processAlgorithm (self , progress ):
@@ -96,18 +97,17 @@ def processAlgorithm(self, progress):
9697 delaunay_layer .commitChanges ()
9798 #dissolve all Delaunay triangles
9899 progress .setText ('Dissolving Delaunay triangles ...' )
99- dissolved = processing .runalg ("qgis:dissolve" , delaunay_layer , True , '' , None )['OUTPUT' ]
100+ dissolved = processing .runalg ("qgis:dissolve" , delaunay_layer ,
101+ True , '' , None )['OUTPUT' ]
100102 dissolved_layer = processing .getObject (dissolved )
101- #Beacause of dissolve bug we must take only last polygon
102- count = dissolved_layer . featureCount ( )
103+ #save result
104+ progress . setText ( 'Saving data ...' )
103105 feat = QgsFeature ()
104- dissolved_layer .getFeatures (QgsFeatureRequest ().setFilterFid (count - 1 )).nextFeature (feat )
106+ dissolved_layer .getFeatures (QgsFeatureRequest ().setFilterFid (0 )).nextFeature (feat )
105107 writer = self .getOutputFromName (
106108 self .OUTPUT ).getVectorWriter (layer .pendingFields ().toList (),
107109 QGis .WKBPolygon , layer .crs ())
108- #save result
109- progress .setText ('Saving data ...' )
110- geom = feat .geometry ()
110+ geom = feat .geometry ()
111111 if no_multigeom and geom .isMultipart ():
112112 #only singlepart geometries are allowed
113113 geom_list = geom .asMultiPolygon ()
@@ -122,7 +122,7 @@ def processAlgorithm(self, progress):
122122 single_feature .setGeometry (single_geom )
123123 writer .addFeature (single_feature )
124124 else :
125- #multipart geomtries are allowed
125+ #multipart geometries are allowed
126126 if not holes :
127127 #delete holes
128128 deleted = True
0 commit comments