@@ -59,16 +59,17 @@ def defineCharacteristics(self):
59
59
self .addOutput (OutputVector (ConcaveHull .OUTPUT , self .tr ('Concave hull' )))
60
60
61
61
def processAlgorithm (self , progress ):
62
- #get parameters
63
62
layer = dataobjects .getObjectFromUri (self .getParameterValue (ConcaveHull .INPUT ))
64
63
alpha = self .getParameterValue (self .ALPHA )
65
64
holes = self .getParameterValue (self .HOLES )
66
65
no_multigeom = self .getParameterValue (self .NO_MULTIGEOMETRY )
67
- #Delaunay triangulation from input point layer
66
+
67
+ # Delaunay triangulation from input point layer
68
68
progress .setText (self .tr ('Creating Delaunay triangles...' ))
69
69
delone_triangles = processing .runalg ("qgis:delaunaytriangulation" , layer , None , progress = None )['OUTPUT' ]
70
70
delaunay_layer = processing .getObject (delone_triangles )
71
- #get max edge length from Delaunay triangles
71
+
72
+ # Get max edge length from Delaunay triangles
72
73
progress .setText (self .tr ('Computing edges max length...' ))
73
74
features = delaunay_layer .getFeatures ()
74
75
counter = 50. / delaunay_layer .featureCount ()
@@ -81,7 +82,8 @@ def processAlgorithm(self, progress):
81
82
edges [feat .id ()] = max (lengths [- 3 :])
82
83
progress .setPercentage (feat .id () * counter )
83
84
max_length = max (lengths )
84
- #get features with longest edge longer than alpha*max_length
85
+
86
+ # Get features with longest edge longer than alpha*max_length
85
87
progress .setText (self .tr ('Removing features...' ))
86
88
counter = 50. / len (edges )
87
89
i = 0
@@ -91,40 +93,43 @@ def processAlgorithm(self, progress):
91
93
ids .append (id )
92
94
progress .setPercentage (50 + i * counter )
93
95
i += 1
94
- #remove features
96
+
97
+ # Remove features
95
98
delaunay_layer .setSelectedFeatures (ids )
96
99
delaunay_layer .startEditing ()
97
100
delaunay_layer .deleteSelectedFeatures ()
98
101
delaunay_layer .commitChanges ()
99
- #dissolve all Delaunay triangles
102
+
103
+ # Dissolve all Delaunay triangles
100
104
progress .setText (self .tr ('Dissolving Delaunay triangles...' ))
101
105
dissolved = processing .runalg ("qgis:dissolve" , delaunay_layer ,
102
106
True , None , None , progress = None )['OUTPUT' ]
103
107
dissolved_layer = processing .getObject (dissolved )
104
- #save result
108
+
109
+ # Save result
105
110
progress .setText (self .tr ('Saving data...' ))
106
111
feat = QgsFeature ()
107
112
dissolved_layer .getFeatures (QgsFeatureRequest ().setFilterFid (0 )).nextFeature (feat )
108
113
writer = self .getOutputFromName (self .OUTPUT ).getVectorWriter (
109
114
layer .pendingFields ().toList (), QGis .WKBPolygon , layer .crs ())
110
115
geom = feat .geometry ()
111
116
if no_multigeom and geom .isMultipart ():
112
- #only singlepart geometries are allowed
117
+ # Only singlepart geometries are allowed
113
118
geom_list = geom .asMultiPolygon ()
114
119
for single_geom_list in geom_list :
115
120
single_feature = QgsFeature ()
116
121
single_geom = QgsGeometry .fromPolygon (single_geom_list )
117
122
if not holes :
118
- #delete holes
123
+ # Delete holes
119
124
deleted = True
120
125
while deleted :
121
126
deleted = single_geom .deleteRing (1 )
122
127
single_feature .setGeometry (single_geom )
123
128
writer .addFeature (single_feature )
124
129
else :
125
- #multipart geometries are allowed
130
+ # Multipart geometries are allowed
126
131
if not holes :
127
- #delete holes
132
+ # Delete holes
128
133
deleted = True
129
134
while deleted :
130
135
deleted = geom .deleteRing (1 )
0 commit comments