Skip to content

Commit 81855a7

Browse files
committed
Use FastInsert when adding features from processing
1 parent 99cfb8f commit 81855a7

File tree

120 files changed

+287
-198
lines changed

Some content is hidden

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

120 files changed

+287
-198
lines changed

python/plugins/processing/algs/qgis/AddTableField.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from qgis.PyQt.QtCore import QVariant
2929
from qgis.core import (QgsField,
3030
QgsFeature,
31+
QgsFeatureSink,
3132
QgsApplication,
3233
QgsProcessingUtils,
3334
QgsProcessingParameterFeatureSource,
@@ -111,7 +112,7 @@ def processAlgorithm(self, parameters, context, feedback):
111112
attributes.append(None)
112113
output_feature.setAttributes(attributes)
113114

114-
sink.addFeature(output_feature)
115+
sink.addFeature(output_feature, QgsFeatureSink.FastInsert)
115116
feedback.setProgress(int(current * total))
116117

117118
return {self.OUTPUT_LAYER: dest_id}

python/plugins/processing/algs/qgis/Aspect.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
from qgis.core import (QgsProcessingParameterRasterLayer,
3434
QgsProcessingParameterNumber,
3535
QgsProcessingParameterRasterOutput,
36-
QgsProcessingOutputRasterLayer)
36+
QgsProcessingOutputRasterLayer,
37+
QgsFeatureSink)
3738
from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
3839
from processing.core.parameters import ParameterRaster
3940
from processing.core.parameters import ParameterNumber

python/plugins/processing/algs/qgis/AutoincrementalField.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from qgis.PyQt.QtCore import QVariant
2929
from qgis.core import (QgsField,
3030
QgsFeature,
31+
QgsFeatureSink,
3132
QgsApplication,
3233
QgsProcessingUtils,
3334
QgsProcessingParameterFeatureSource,
@@ -84,7 +85,7 @@ def processAlgorithm(self, parameters, context, feedback):
8485
attributes.append(current)
8586
output_feature.setAttributes(attributes)
8687

87-
sink.addFeature(output_feature)
88+
sink.addFeature(output_feature, QgsFeatureSink.FastInsert)
8889
feedback.setProgress(int(current * total))
8990

9091
return {self.OUTPUT: dest_id}

python/plugins/processing/algs/qgis/BarPlot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131

3232
from qgis.core import (QgsApplication,
33+
QgsFeatureSink,
3334
QgsProcessingUtils,
3435
QgsProcessingParameterFeatureSource,
3536
QgsProcessingParameterField,

python/plugins/processing/algs/qgis/BasicStatistics.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from qgis.PyQt.QtGui import QIcon
3333

3434
from qgis.core import (QgsStatisticalSummary,
35+
QgsFeatureSink,
3536
QgsStringStatisticalSummary,
3637
QgsDateTimeStatisticalSummary,
3738
QgsFeatureRequest,

python/plugins/processing/algs/qgis/Boundary.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
from qgis.core import (QgsGeometry,
3131
QgsWkbTypes,
32+
QgsFeatureSink,
3233
QgsProcessingUtils,
3334
QgsProcessingParameterDefinition,
3435
QgsProcessingParameterFeatureSource,
@@ -101,7 +102,7 @@ def processAlgorithm(self, parameters, context, feedback):
101102

102103
output_feature.setGeometry(output_geometry)
103104

104-
sink.addFeature(output_feature)
105+
sink.addFeature(output_feature, QgsFeatureSink.FastInsert)
105106
feedback.setProgress(int(current * total))
106107

107108
return {self.OUTPUT_LAYER: dest_id}

python/plugins/processing/algs/qgis/BoundingBox.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
from qgis.core import (QgsGeometry,
3131
QgsWkbTypes,
32+
QgsFeatureSink,
3233
QgsProcessingUtils,
3334
QgsProcessingParameterFeatureSource,
3435
QgsProcessingParameterFeatureSink,
@@ -93,7 +94,7 @@ def processAlgorithm(self, parameters, context, feedback):
9394

9495
output_feature.setGeometry(output_geometry)
9596

96-
sink.addFeature(output_feature)
97+
sink.addFeature(output_feature, QgsFeatureSink.FastInsert)
9798
feedback.setProgress(int(current * total))
9899

99100
return {self.OUTPUT_LAYER: dest_id}

python/plugins/processing/algs/qgis/BoxPlot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import plotly.graph_objs as go
3030

3131
from qgis.core import (QgsApplication,
32+
QgsFeatureSink,
3233
QgsProcessingUtils)
3334
from processing.core.parameters import ParameterTable
3435
from processing.core.parameters import ParameterTableField

python/plugins/processing/algs/qgis/Buffer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def buffering(feedback, context, writer, distance, field, useField, layer, disso
6060
final_geometry = QgsGeometry.unaryUnion(buffered_geometries)
6161
outFeat.setGeometry(final_geometry)
6262
outFeat.setAttributes(attrs)
63-
writer.addFeature(outFeat)
63+
writer.addFeature(outFeat, QgsFeatureSink.FastInsert)
6464
else:
6565
# Without dissolve
6666
for inFeat in features:
@@ -74,7 +74,7 @@ def buffering(feedback, context, writer, distance, field, useField, layer, disso
7474
outGeom = inGeom.buffer(float(value), segments, endCapStyle, joinStyle, mitreLimit)
7575
outFeat.setGeometry(outGeom)
7676
outFeat.setAttributes(attrs)
77-
writer.addFeature(outFeat)
77+
writer.addFeature(outFeat, QgsFeatureSink.FastInsert)
7878
current += 1
7979
feedback.setProgress(int(current * total))
8080

python/plugins/processing/algs/qgis/CheckValidity.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
QgsGeometry,
3535
QgsFeature,
3636
QgsField,
37+
QgsFeatureSink,
3738
QgsWkbTypes,
3839
QgsProcessingUtils,
3940
QgsFields,
@@ -151,7 +152,7 @@ def doCheck(self, method, parameters, context, feedback):
151152
errFeat.setGeometry(error_geom)
152153
errFeat.setAttributes([error.what()])
153154
if error_output_sink:
154-
error_output_sink.addFeature(errFeat)
155+
error_output_sink.addFeature(errFeat, QgsFeatureSink.FastInsert)
155156
error_count += 1
156157

157158
reasons.append(error.what())
@@ -167,12 +168,12 @@ def doCheck(self, method, parameters, context, feedback):
167168

168169
if valid:
169170
if valid_output_sink:
170-
valid_output_sink.addFeature(outFeat)
171+
valid_output_sink.addFeature(outFeat, QgsFeatureSink.FastInsert)
171172
valid_count += 1
172173

173174
else:
174175
if invalid_output_sink:
175-
invalid_output_sink.addFeature(outFeat)
176+
invalid_output_sink.addFeature(outFeat, QgsFeatureSink.FastInsert)
176177
invalid_count += 1
177178

178179
feedback.setProgress(int(current * total))

0 commit comments

Comments
 (0)