Merge pull request #4417 from nyalldawson/processing_writer

Refactor processing writer to use QgsFeatureSink
This commit is contained in:
Nyall Dawson 2017-04-27 10:14:33 +10:00 committed by GitHub
commit ccb4ac98b4
123 changed files with 307 additions and 458 deletions

View File

@ -75,8 +75,12 @@ class QgsProcessingContext
Sets the expression ``context``. Sets the expression ``context``.
%End %End
QgsProject &temporaryLayerStore();
%Docstring
Returns a reference to the project used for storing temporary layers during
algorithm execution.
:rtype: QgsProject
%End
QgsFeatureRequest::InvalidGeometryCheck invalidGeometryCheck() const; QgsFeatureRequest::InvalidGeometryCheck invalidGeometryCheck() const;
%Docstring %Docstring

View File

@ -97,8 +97,7 @@ class AddTableField(GeoAlgorithm):
fields = layer.fields() fields = layer.fields()
fields.append(QgsField(fieldName, self.TYPES[fieldType], '', fields.append(QgsField(fieldName, self.TYPES[fieldType], '',
fieldLength, fieldPrecision)) fieldLength, fieldPrecision))
writer = output.getVectorWriter(fields, layer.wkbType(), writer = output.getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -67,8 +67,7 @@ class AutoincrementalField(GeoAlgorithm):
dataobjects.getLayerFromString(self.getParameterValue(self.INPUT)) dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
fields = vlayer.fields() fields = vlayer.fields()
fields.append(QgsField('AUTO', QVariant.Int)) fields.append(QgsField('AUTO', QVariant.Int))
writer = output.getVectorWriter(fields, vlayer.wkbType(), writer = output.getVectorWriter(fields, vlayer.wkbType(), vlayer.crs(), context)
vlayer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
features = QgsProcessingUtils.getFeatures(vlayer, context) features = QgsProcessingUtils.getFeatures(vlayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context) total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context)

View File

@ -78,10 +78,7 @@ class Boundary(GeoAlgorithm):
output_wkb = QgsWkbTypes.addM(output_wkb) output_wkb = QgsWkbTypes.addM(output_wkb)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields(), output_wkb, layer.crs(), context)
layer.fields(),
output_wkb,
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -67,10 +67,7 @@ class BoundingBox(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs(), context)
layer.fields().toList(),
QgsWkbTypes.Polygon,
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -69,10 +69,7 @@ class Centroids(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields(), QgsWkbTypes.Point, layer.crs(), context)
layer.fields(),
QgsWkbTypes.Point,
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -108,10 +108,7 @@ class CheckValidity(GeoAlgorithm):
valid_output = self.getOutputFromName(self.VALID_OUTPUT) valid_output = self.getOutputFromName(self.VALID_OUTPUT)
valid_fields = layer.fields() valid_fields = layer.fields()
valid_writer = valid_output.getVectorWriter( valid_writer = valid_output.getVectorWriter(valid_fields, layer.wkbType(), layer.crs(), context)
valid_fields,
layer.wkbType(),
layer.crs())
valid_count = 0 valid_count = 0
invalid_output = self.getOutputFromName(self.INVALID_OUTPUT) invalid_output = self.getOutputFromName(self.INVALID_OUTPUT)
@ -119,10 +116,7 @@ class CheckValidity(GeoAlgorithm):
QgsField(name='_errors', QgsField(name='_errors',
type=QVariant.String, type=QVariant.String,
len=255)] len=255)]
invalid_writer = invalid_output.getVectorWriter( invalid_writer = invalid_output.getVectorWriter(invalid_fields, layer.wkbType(), layer.crs(), context)
invalid_fields,
layer.wkbType(),
layer.crs())
invalid_count = 0 invalid_count = 0
error_output = self.getOutputFromName(self.ERROR_OUTPUT) error_output = self.getOutputFromName(self.ERROR_OUTPUT)
@ -130,10 +124,7 @@ class CheckValidity(GeoAlgorithm):
QgsField(name='message', QgsField(name='message',
type=QVariant.String, type=QVariant.String,
len=255)] len=255)]
error_writer = error_output.getVectorWriter( error_writer = error_output.getVectorWriter(error_fields, QgsWkbTypes.Point, layer.crs(), context)
error_fields,
QgsWkbTypes.Point,
layer.crs())
error_count = 0 error_count = 0
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -75,10 +75,9 @@ class Clip(GeoAlgorithm):
mask_layer = dataobjects.getLayerFromString( mask_layer = dataobjects.getLayerFromString(
self.getParameterValue(Clip.OVERLAY)) self.getParameterValue(Clip.OVERLAY))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(source_layer.fields(),
source_layer.fields(),
QgsWkbTypes.multiType(source_layer.wkbType()), QgsWkbTypes.multiType(source_layer.wkbType()),
source_layer.crs()) source_layer.crs(), context)
# first build up a list of clip geometries # first build up a list of clip geometries
clip_geoms = [] clip_geoms = []

View File

@ -133,8 +133,8 @@ class ConcaveHull(GeoAlgorithm):
feedback.setProgressText(self.tr('Saving data...')) feedback.setProgressText(self.tr('Saving data...'))
feat = QgsFeature() feat = QgsFeature()
dissolved_layer.getFeatures(QgsFeatureRequest().setFilterFid(0)).nextFeature(feat) dissolved_layer.getFeatures(QgsFeatureRequest().setFilterFid(0)).nextFeature(feat)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon,
layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs()) layer.crs(), context)
geom = feat.geometry() geom = feat.geometry()
if no_multigeom and geom.isMultipart(): if no_multigeom and geom.isMultipart():
# Only singlepart geometries are allowed # Only singlepart geometries are allowed

View File

@ -103,8 +103,7 @@ class ConvexHull(GeoAlgorithm):
QgsField('perim', QVariant.Double, '', 20, 6) QgsField('perim', QVariant.Double, '', 20, 6)
] ]
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Polygon, layer.crs(), context)
fields, QgsWkbTypes.Polygon, layer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
inGeom = QgsGeometry() inGeom = QgsGeometry()

View File

@ -77,8 +77,7 @@ class Delaunay(GeoAlgorithm):
QgsField('POINTB', QVariant.Double, '', 24, 15), QgsField('POINTB', QVariant.Double, '', 24, 15),
QgsField('POINTC', QVariant.Double, '', 24, 15)] QgsField('POINTC', QVariant.Double, '', 24, 15)]
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Polygon, layer.crs(), context)
QgsWkbTypes.Polygon, layer.crs())
pts = [] pts = []
ptDict = {} ptDict = {}

View File

@ -83,8 +83,7 @@ class DeleteColumn(GeoAlgorithm):
for index in field_indices: for index in field_indices:
fields.remove(index) fields.remove(index)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -65,8 +65,7 @@ class DeleteDuplicateGeometries(GeoAlgorithm):
fields = layer.fields() fields = layer.fields()
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -77,10 +77,8 @@ class DeleteHoles(GeoAlgorithm):
if min_area == 0.0: if min_area == 0.0:
min_area = -1.0 min_area = -1.0
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(),
layer.fields(), context)
layer.wkbType(),
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -85,8 +85,7 @@ class DensifyGeometries(GeoAlgorithm):
isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT).getVectorWriter(layer.fields().toList(), self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -79,8 +79,7 @@ class DensifyGeometriesInterval(GeoAlgorithm):
isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT).getVectorWriter(layer.fields().toList(), self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -77,9 +77,7 @@ class Difference(GeoAlgorithm):
geomType = QgsWkbTypes.multiType(layerA.wkbType()) geomType = QgsWkbTypes.multiType(layerA.wkbType())
writer = self.getOutputFromName( writer = self.getOutputFromName(
Difference.OUTPUT).getVectorWriter(layerA.fields(), Difference.OUTPUT).getVectorWriter(layerA.fields(), geomType, layerA.crs(), context)
geomType,
layerA.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
index = vector.spatialindex(layerB) index = vector.spatialindex(layerB)

View File

@ -82,10 +82,7 @@ class Dissolve(GeoAlgorithm):
self.getParameterValue(Dissolve.INPUT)) self.getParameterValue(Dissolve.INPUT))
writer = self.getOutputFromName( writer = self.getOutputFromName(
Dissolve.OUTPUT).getVectorWriter( Dissolve.OUTPUT).getVectorWriter(vlayerA.fields().toList(), vlayerA.wkbType(), vlayerA.crs(), context)
vlayerA.fields().toList(),
vlayerA.wkbType(),
vlayerA.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
features = QgsProcessingUtils.getFeatures(vlayerA, context) features = QgsProcessingUtils.getFeatures(vlayerA, context)

View File

@ -70,10 +70,8 @@ class DropGeometry(GeoAlgorithm):
layer = dataobjects.getLayerFromString( layer = dataobjects.getLayerFromString(
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_TABLE).getVectorWriter( self.OUTPUT_TABLE).getVectorWriter(layer.fields(), QgsWkbTypes.NoGeometry, QgsCoordinateReferenceSystem(),
layer.fields(), context)
QgsWkbTypes.NoGeometry,
QgsCoordinateReferenceSystem())
request = QgsFeatureRequest().setFlags(QgsFeatureRequest.NoGeometry) request = QgsFeatureRequest().setFlags(QgsFeatureRequest.NoGeometry)
features = QgsProcessingUtils.getFeatures(layer, context, request) features = QgsProcessingUtils.getFeatures(layer, context, request)

View File

@ -92,8 +92,7 @@ class EliminateSelection(GeoAlgorithm):
featToEliminate = [] featToEliminate = []
selFeatIds = inLayer.selectedFeatureIds() selFeatIds = inLayer.selectedFeatureIds()
output = self.getOutputFromName(self.OUTPUT) output = self.getOutputFromName(self.OUTPUT)
writer = output.getVectorWriter(inLayer.fields(), writer = output.getVectorWriter(inLayer.fields(), inLayer.wkbType(), inLayer.crs(), context)
inLayer.wkbType(), inLayer.crs())
for aFeat in inLayer.getFeatures(): for aFeat in inLayer.getFeatures():
if aFeat.id() in selFeatIds: if aFeat.id() in selFeatIds:

View File

@ -73,8 +73,7 @@ class EquivalentNumField(GeoAlgorithm):
fieldindex = vlayer.fields().lookupField(fieldname) fieldindex = vlayer.fields().lookupField(fieldname)
fields = vlayer.fields() fields = vlayer.fields()
fields.append(QgsField('NUM_FIELD', QVariant.Int)) fields.append(QgsField('NUM_FIELD', QVariant.Int))
writer = output.getVectorWriter(fields, vlayer.wkbType(), writer = output.getVectorWriter(fields, vlayer.wkbType(), vlayer.crs(), context)
vlayer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
classes = {} classes = {}

View File

@ -146,11 +146,9 @@ class ExecuteSQL(GeoAlgorithm):
if not vLayer.isValid(): if not vLayer.isValid():
raise GeoAlgorithmExecutionException(vLayer.dataProvider().error().message()) raise GeoAlgorithmExecutionException(vLayer.dataProvider().error().message())
writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter(vLayer.fields().toList(),
vLayer.fields().toList(),
# Create a point layer (without any points) if 'no geometry' is chosen
vLayer.wkbType() if geometry_type != 1 else 1, vLayer.wkbType() if geometry_type != 1 else 1,
vLayer.crs()) vLayer.crs(), context)
features = QgsProcessingUtils.getFeatures(vLayer, context) features = QgsProcessingUtils.getFeatures(vLayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vLayer, context) total = 100.0 / QgsProcessingUtils.featureCount(vLayer, context)

View File

@ -68,8 +68,7 @@ class Explode(GeoAlgorithm):
self.getParameterValue(self.INPUT)) self.getParameterValue(self.INPUT))
output = self.getOutputFromName(self.OUTPUT) output = self.getOutputFromName(self.OUTPUT)
fields = vlayer.fields() fields = vlayer.fields()
writer = output.getVectorWriter(fields, QgsWkbTypes.LineString, writer = output.getVectorWriter(fields, QgsWkbTypes.LineString, vlayer.crs(), context)
vlayer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
features = QgsProcessingUtils.getFeatures(vlayer, context) features = QgsProcessingUtils.getFeatures(vlayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context) total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context)

View File

@ -107,8 +107,8 @@ class ExportGeometryInfo(GeoAlgorithm):
zName = vector.createUniqueFieldName('mvalue', fields) zName = vector.createUniqueFieldName('mvalue', fields)
fields.append(QgsField(zName, QVariant.Double)) fields.append(QgsField(zName, QVariant.Double))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields.toList(), layer.wkbType(), layer.crs(),
fields.toList(), layer.wkbType(), layer.crs()) context)
ellips = None ellips = None
crs = None crs = None

View File

@ -71,10 +71,7 @@ class ExtendLines(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(), context)
layer.fields(),
layer.wkbType(),
layer.crs())
start_distance = self.getParameterValue(self.START_DISTANCE) start_distance = self.getParameterValue(self.START_DISTANCE)
end_distance = self.getParameterValue(self.END_DISTANCE) end_distance = self.getParameterValue(self.END_DISTANCE)

View File

@ -89,8 +89,7 @@ class ExtentFromLayer(GeoAlgorithm):
QgsField('WIDTH', QVariant.Double), QgsField('WIDTH', QVariant.Double),
] ]
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Polygon, layer.crs(), context)
QgsWkbTypes.Polygon, layer.crs())
if byFeature: if byFeature:
self.featureExtent(layer, context, writer, feedback) self.featureExtent(layer, context, writer, feedback)

View File

@ -111,8 +111,7 @@ class ExtractByAttribute(GeoAlgorithm):
value = self.getParameterValue(self.VALUE) value = self.getParameterValue(self.VALUE)
fields = layer.fields() fields = layer.fields()
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
idx = layer.fields().lookupField(fieldName) idx = layer.fields().lookupField(fieldName)
fieldType = fields[idx].type() fieldType = fields[idx].type()

View File

@ -70,7 +70,8 @@ class ExtractByExpression(GeoAlgorithm):
def processAlgorithm(self, context, feedback): def processAlgorithm(self, context, feedback):
layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT)) layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
expression_string = self.getParameterValue(self.EXPRESSION) expression_string = self.getParameterValue(self.EXPRESSION)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs()) writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(),
context)
expression = QgsExpression(expression_string) expression = QgsExpression(expression_string)
if not expression.hasParserError(): if not expression.hasParserError():

View File

@ -97,8 +97,7 @@ class ExtractByLocation(GeoAlgorithm):
index = vector.spatialindex(layer) index = vector.spatialindex(layer)
output = self.getOutputFromName(self.OUTPUT) output = self.getOutputFromName(self.OUTPUT)
writer = output.getVectorWriter(layer.fields(), writer = output.getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
if 'disjoint' in predicates: if 'disjoint' in predicates:
disjoinSet = [] disjoinSet = []

View File

@ -75,8 +75,7 @@ class ExtractNodes(GeoAlgorithm):
fields.append(QgsField('distance', QVariant.Double)) fields.append(QgsField('distance', QVariant.Double))
fields.append(QgsField('angle', QVariant.Double)) fields.append(QgsField('angle', QVariant.Double))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields, QgsWkbTypes.Point, layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -80,10 +80,7 @@ class ExtractSpecificNodes(GeoAlgorithm):
fields.append(QgsField('angle', QVariant.Double)) fields.append(QgsField('angle', QVariant.Double))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields,
QgsWkbTypes.Point,
layer.crs())
node_indices_string = self.getParameterValue(self.NODES) node_indices_string = self.getParameterValue(self.NODES)
indices = [] indices = []

View File

@ -107,8 +107,7 @@ class FieldsPyculator(GeoAlgorithm):
fields = layer.fields() fields = layer.fields()
fields.append(QgsField(fieldName, self.TYPES[fieldType], '', fields.append(QgsField(fieldName, self.TYPES[fieldType], '',
fieldLength, fieldPrecision)) fieldLength, fieldPrecision))
writer = output.getVectorWriter(fields, layer.wkbType(), writer = output.getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
new_ns = {} new_ns = {}

View File

@ -113,8 +113,7 @@ class FieldsCalculator(GeoAlgorithm):
if newField: if newField:
fields.append(QgsField(fieldName, fieldType, '', width, precision)) fields.append(QgsField(fieldName, fieldType, '', width, precision))
writer = output.getVectorWriter(fields, layer.wkbType(), writer = output.getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.crs())
exp = QgsExpression(formula) exp = QgsExpression(formula)

View File

@ -144,9 +144,7 @@ class FieldsMapper(GeoAlgorithm):
str(expression.parserErrorString()))) str(expression.parserErrorString())))
expressions.append(expression) expressions.append(expression)
writer = output.getVectorWriter(fields, writer = output.getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.wkbType(),
layer.crs())
# Create output vector layer with new attributes # Create output vector layer with new attributes
error_exp = None error_exp = None

View File

@ -73,10 +73,7 @@ class FixGeometry(GeoAlgorithm):
self.getParameterValue(self.INPUT)) self.getParameterValue(self.INPUT))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT).getVectorWriter( self.OUTPUT).getVectorWriter(layer.fields(), QgsWkbTypes.multiType(layer.wkbType()), layer.crs(), context)
layer.fields(),
QgsWkbTypes.multiType(layer.wkbType()),
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
if QgsProcessingUtils.featureCount(layer, context) == 0: if QgsProcessingUtils.featureCount(layer, context) == 0:

View File

@ -105,8 +105,7 @@ class FixedDistanceBuffer(GeoAlgorithm):
miter_limit = self.getParameterValue(self.MITRE_LIMIT) miter_limit = self.getParameterValue(self.MITRE_LIMIT)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT).getVectorWriter(layer.fields().toList(), self.OUTPUT).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs(), context)
QgsWkbTypes.Polygon, layer.crs())
buff.buffering(feedback, context, writer, distance, None, False, layer, dissolve, segments, end_cap_style, buff.buffering(feedback, context, writer, distance, None, False, layer, dissolve, segments, end_cap_style,
join_style, miter_limit) join_style, miter_limit)

View File

@ -103,10 +103,7 @@ class GeometryByExpression(GeoAlgorithm):
wkb_type = QgsWkbTypes.addM(wkb_type) wkb_type = QgsWkbTypes.addM(wkb_type)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields(), wkb_type, layer.crs(), context)
layer.fields(),
wkb_type,
layer.crs())
expression = QgsExpression(self.getParameterValue(self.EXPRESSION)) expression = QgsExpression(self.getParameterValue(self.EXPRESSION))
if expression.hasParserError(): if expression.hasParserError():

View File

@ -93,8 +93,7 @@ class GeometryConvert(GeoAlgorithm):
else: else:
newType = QgsWkbTypes.Point newType = QgsWkbTypes.Point
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields(), newType, layer.crs(), context)
layer.fields(), newType, layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -126,8 +126,7 @@ class GridLine(GeoAlgorithm):
QgsField('coord', QVariant.Double, '', 24, 15) QgsField('coord', QVariant.Double, '', 24, 15)
] ]
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.LineString, crs, context)
QgsWkbTypes.LineString, crs)
if hOverlay > 0: if hOverlay > 0:
hSpace = [hSpacing - hOverlay, hOverlay] hSpace = [hSpacing - hOverlay, hOverlay]

View File

@ -130,8 +130,7 @@ class GridPolygon(GeoAlgorithm):
QgsField('id', QVariant.Int, '', 10, 0) QgsField('id', QVariant.Int, '', 10, 0)
] ]
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Polygon, crs, context)
QgsWkbTypes.Polygon, crs)
if idx == 0: if idx == 0:
self._rectangleGrid( self._rectangleGrid(

View File

@ -81,8 +81,8 @@ class Gridify(GeoAlgorithm):
raise GeoAlgorithmExecutionException( raise GeoAlgorithmExecutionException(
self.tr('Invalid grid spacing: {0}/{1}').format(hSpacing, vSpacing)) self.tr('Invalid grid spacing: {0}/{1}').format(hSpacing, vSpacing))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(),
layer.fields(), layer.wkbType(), layer.crs()) context)
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -112,8 +112,8 @@ class HubDistanceLines(GeoAlgorithm):
fields.append(QgsField('HubName', QVariant.String)) fields.append(QgsField('HubName', QVariant.String))
fields.append(QgsField('HubDist', QVariant.Double)) fields.append(QgsField('HubDist', QVariant.Double))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.LineString, layerPoints.crs(),
fields, QgsWkbTypes.LineString, layerPoints.crs()) context)
index = vector.spatialindex(layerHubs) index = vector.spatialindex(layerHubs)

View File

@ -112,8 +112,8 @@ class HubDistancePoints(GeoAlgorithm):
fields.append(QgsField('HubName', QVariant.String)) fields.append(QgsField('HubName', QVariant.String))
fields.append(QgsField('HubDist', QVariant.Double)) fields.append(QgsField('HubDist', QVariant.Double))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, layerPoints.crs(),
fields, QgsWkbTypes.Point, layerPoints.crs()) context)
index = vector.spatialindex(layerHubs) index = vector.spatialindex(layerHubs)

View File

@ -88,8 +88,8 @@ class HubLines(GeoAlgorithm):
raise GeoAlgorithmExecutionException( raise GeoAlgorithmExecutionException(
self.tr('Same layer given for both hubs and spokes')) self.tr('Same layer given for both hubs and spokes'))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layerSpoke.fields(), QgsWkbTypes.LineString,
layerSpoke.fields(), QgsWkbTypes.LineString, layerSpoke.crs()) layerSpoke.crs(), context)
spokes = QgsProcessingUtils.getFeatures(layerSpoke, context) spokes = QgsProcessingUtils.getFeatures(layerSpoke, context)
hubs = QgsProcessingUtils.getFeatures(layerHub, context) hubs = QgsProcessingUtils.getFeatures(layerHub, context)

View File

@ -86,8 +86,7 @@ class Intersection(GeoAlgorithm):
geomType = QgsWkbTypes.multiType(vlayerA.wkbType()) geomType = QgsWkbTypes.multiType(vlayerA.wkbType())
fields = vector.combineVectorFields(vlayerA, vlayerB) fields = vector.combineVectorFields(vlayerA, vlayerB)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, geomType, vlayerA.crs(), context)
geomType, vlayerA.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
index = vector.spatialindex(vlayerB) index = vector.spatialindex(vlayerB)
selectionA = QgsProcessingUtils.getFeatures(vlayerA, context) selectionA = QgsProcessingUtils.getFeatures(vlayerA, context)

View File

@ -91,8 +91,7 @@ class JoinAttributes(GeoAlgorithm):
joinField2Index = layer2.fields().lookupField(field2) joinField2Index = layer2.fields().lookupField(field2)
outFields = vector.combineVectorFields(layer, layer2) outFields = vector.combineVectorFields(layer, layer2)
writer = output.getVectorWriter(outFields, layer.wkbType(), writer = output.getVectorWriter(outFields, layer.wkbType(), layer.crs(), context)
layer.crs())
# Cache attributes of Layer 2 # Cache attributes of Layer 2
cache = {} cache = {}

View File

@ -105,8 +105,8 @@ class LinesIntersection(GeoAlgorithm):
fieldListB = vector.testForUniqueness(fieldListA, fieldListB) fieldListB = vector.testForUniqueness(fieldListA, fieldListB)
fieldListA.extend(fieldListB) fieldListA.extend(fieldListB)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldListA, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldListA, QgsWkbTypes.Point, layerA.crs(),
QgsWkbTypes.Point, layerA.crs()) context)
spatialIndex = vector.spatialindex(layerB) spatialIndex = vector.spatialindex(layerB)

View File

@ -68,9 +68,8 @@ class LinesToPolygons(GeoAlgorithm):
def processAlgorithm(self, context, feedback): def processAlgorithm(self, context, feedback):
layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT)) layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon,
layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs() layer.crs(), context)
)
outFeat = QgsFeature() outFeat = QgsFeature()
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -97,9 +97,7 @@ class MeanCoords(GeoAlgorithm):
QgsField('MEAN_Y', QVariant.Double, '', 24, 15), QgsField('MEAN_Y', QVariant.Double, '', 24, 15),
QgsField('UID', QVariant.String, '', 255)] QgsField('UID', QVariant.String, '', 255)]
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, QgsWkbTypes.Point, layer.crs(), context)
fieldList, QgsWkbTypes.Point, layer.crs()
)
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -94,9 +94,8 @@ class Merge(GeoAlgorithm):
fields.append(sfield) fields.append(sfield)
total = 100.0 / totalFeatureCount total = 100.0 / totalFeatureCount
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields.toList(), layers[0].wkbType(),
fields.toList(), layers[0].wkbType(), layers[0].crs(), context)
layers[0].crs())
featureCount = 0 featureCount = 0
for layer in layers: for layer in layers:

View File

@ -70,10 +70,7 @@ class MergeLines(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), layer.wkbType(), layer.crs(), context)
layer.fields().toList(),
layer.wkbType(),
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -64,8 +64,8 @@ class MultipartToSingleparts(GeoAlgorithm):
layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT)) layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
geomType = QgsWkbTypes.singleType(layer.wkbType()) geomType = QgsWkbTypes.singleType(layer.wkbType())
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), geomType, layer.crs(),
layer.fields().toList(), geomType, layer.crs()) context)
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -88,10 +88,7 @@ class OffsetLine(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), QgsWkbTypes.LineString, layer.crs(), context)
layer.fields().toList(),
QgsWkbTypes.LineString,
layer.crs())
distance = self.getParameterValue(self.DISTANCE) distance = self.getParameterValue(self.DISTANCE)
segments = int(self.getParameterValue(self.SEGMENTS)) segments = int(self.getParameterValue(self.SEGMENTS))

View File

@ -90,8 +90,7 @@ class OrientedMinimumBoundingBox(GeoAlgorithm):
fields.append(QgsField('width', QVariant.Double)) fields.append(QgsField('width', QVariant.Double))
fields.append(QgsField('height', QVariant.Double)) fields.append(QgsField('height', QVariant.Double))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Polygon, layer.crs(), context)
QgsWkbTypes.Polygon, layer.crs())
if byFeature: if byFeature:
self.featureOmbb(layer, context, writer, feedback) self.featureOmbb(layer, context, writer, feedback)

View File

@ -82,10 +82,7 @@ class Orthogonalize(GeoAlgorithm):
max_iterations = self.getParameterValue(self.MAX_ITERATIONS) max_iterations = self.getParameterValue(self.MAX_ITERATIONS)
angle_tolerance = self.getParameterValue(self.ANGLE_TOLERANCE) angle_tolerance = self.getParameterValue(self.ANGLE_TOLERANCE)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(), context)
layer.fields(),
layer.wkbType(),
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -67,10 +67,7 @@ class PointOnSurface(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Point, layer.crs(), context)
layer.fields().toList(),
QgsWkbTypes.Point,
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -87,8 +87,7 @@ class PointsAlongGeometry(GeoAlgorithm):
fields.append(QgsField('distance', QVariant.Double)) fields.append(QgsField('distance', QVariant.Double))
fields.append(QgsField('angle', QVariant.Double)) fields.append(QgsField('angle', QVariant.Double))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields, QgsWkbTypes.Point, layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -80,8 +80,7 @@ class PointsDisplacement(GeoAlgorithm):
layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT_LAYER)) layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT_LAYER))
writer = output.getVectorWriter(layer.fields(), writer = output.getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -87,8 +87,8 @@ class PointsFromLines(GeoAlgorithm):
fields.append(QgsField('line_id', QVariant.Int, '', 10, 0)) fields.append(QgsField('line_id', QVariant.Int, '', 10, 0))
fields.append(QgsField('point_id', QVariant.Int, '', 10, 0)) fields.append(QgsField('point_id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter(fields.toList(), QgsWkbTypes.Point,
fields.toList(), QgsWkbTypes.Point, layer.crs()) layer.crs(), context)
outFeature = QgsFeature() outFeature = QgsFeature()
outFeature.setFields(fields) outFeature.setFields(fields)

View File

@ -87,8 +87,8 @@ class PointsFromPolygons(GeoAlgorithm):
fields.append(QgsField('poly_id', QVariant.Int, '', 10, 0)) fields.append(QgsField('poly_id', QVariant.Int, '', 10, 0))
fields.append(QgsField('point_id', QVariant.Int, '', 10, 0)) fields.append(QgsField('point_id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT_LAYER).getVectorWriter(fields.toList(), QgsWkbTypes.Point,
fields.toList(), QgsWkbTypes.Point, layer.crs()) layer.crs(), context)
outFeature = QgsFeature() outFeature = QgsFeature()
outFeature.setFields(fields) outFeature.setFields(fields)

View File

@ -80,8 +80,8 @@ class PointsInPolygon(GeoAlgorithm):
(idxCount, fieldList) = vector.findOrCreateField(polyLayer, (idxCount, fieldList) = vector.findOrCreateField(polyLayer,
polyLayer.fields(), fieldName) polyLayer.fields(), fieldName)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields.toList(), polyLayer.wkbType(),
fields.toList(), polyLayer.wkbType(), polyLayer.crs()) polyLayer.crs(), context)
spatialIndex = vector.spatialindex(pointLayer) spatialIndex = vector.spatialindex(pointLayer)

View File

@ -87,8 +87,8 @@ class PointsInPolygonUnique(GeoAlgorithm):
(idxCount, fieldList) = vector.findOrCreateField(polyLayer, (idxCount, fieldList) = vector.findOrCreateField(polyLayer,
polyLayer.fields(), fieldName) polyLayer.fields(), fieldName)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields.toList(), polyLayer.wkbType(),
fields.toList(), polyLayer.wkbType(), polyLayer.crs()) polyLayer.crs(), context)
spatialIndex = vector.spatialindex(pointLayer) spatialIndex = vector.spatialindex(pointLayer)

View File

@ -93,8 +93,8 @@ class PointsInPolygonWeighted(GeoAlgorithm):
(idxCount, fieldList) = vector.findOrCreateField(polyLayer, (idxCount, fieldList) = vector.findOrCreateField(polyLayer,
polyLayer.fields(), fieldName) polyLayer.fields(), fieldName)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields.toList(), polyLayer.wkbType(),
fields.toList(), polyLayer.wkbType(), polyLayer.crs()) polyLayer.crs(), context)
spatialIndex = vector.spatialindex(pointLayer) spatialIndex = vector.spatialindex(pointLayer)

View File

@ -107,7 +107,7 @@ class PointsLayerFromTable(GeoAlgorithm):
target_crs = QgsCoordinateReferenceSystem() target_crs = QgsCoordinateReferenceSystem()
target_crs.createFromUserInput(crsId) target_crs.createFromUserInput(crsId)
writer = output.getVectorWriter(fields, wkb_type, target_crs) writer = output.getVectorWriter(fields, wkb_type, target_crs, context)
features = QgsProcessingUtils.getFeatures(vlayer, context) features = QgsProcessingUtils.getFeatures(vlayer, context)
total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context) total = 100.0 / QgsProcessingUtils.featureCount(vlayer, context)

View File

@ -101,8 +101,8 @@ class PointsToPaths(GeoAlgorithm):
fields.append(QgsField('group', QVariant.String, '', 254, 0)) fields.append(QgsField('group', QVariant.String, '', 254, 0))
fields.append(QgsField('begin', QVariant.String, '', 254, 0)) fields.append(QgsField('begin', QVariant.String, '', 254, 0))
fields.append(QgsField('end', QVariant.String, '', 254, 0)) fields.append(QgsField('end', QVariant.String, '', 254, 0))
writer = self.getOutputFromName(self.OUTPUT_LINES).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT_LINES).getVectorWriter(fields, QgsWkbTypes.LineString, layer.crs(),
fields, QgsWkbTypes.LineString, layer.crs()) context)
points = dict() points = dict()
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -79,10 +79,7 @@ class PoleOfInaccessibility(GeoAlgorithm):
fields.append(QgsField('dist_pole', QVariant.Double)) fields.append(QgsField('dist_pole', QVariant.Double))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields,
QgsWkbTypes.Point,
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -76,10 +76,7 @@ class PolygonCentroids(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields(), QgsWkbTypes.Point, layer.crs(), context)
layer.fields(),
QgsWkbTypes.Point,
layer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()

View File

@ -110,7 +110,7 @@ class Polygonize(GeoAlgorithm):
feedback.setProgress(50) feedback.setProgress(50)
feedback.pushInfo('Saving polygons...') feedback.pushInfo('Saving polygons...')
writer = output.getVectorWriter(fields, QgsWkbTypes.Polygon, vlayer.crs()) writer = output.getVectorWriter(fields, QgsWkbTypes.Polygon, vlayer.crs(), context)
total = 50.0 / polygons.geometry().numGeometries() total = 50.0 / polygons.geometry().numGeometries()
for i in range(polygons.geometry().numGeometries()): for i in range(polygons.geometry().numGeometries()):
outFeat = QgsFeature() outFeat = QgsFeature()

View File

@ -68,8 +68,8 @@ class PolygonsToLines(GeoAlgorithm):
def processAlgorithm(self, context, feedback): def processAlgorithm(self, context, feedback):
layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT)) layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), QgsWkbTypes.LineString,
layer.fields().toList(), QgsWkbTypes.LineString, layer.crs()) layer.crs(), context)
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -97,8 +97,8 @@ class RandomExtract(GeoAlgorithm):
selran = random.sample(list(range(featureCount)), value) selran = random.sample(list(range(featureCount)), value)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(),
layer.fields().toList(), layer.wkbType(), layer.crs()) layer.crs(), context)
total = 100.0 / featureCount total = 100.0 / featureCount
for i, feat in enumerate(features): for i, feat in enumerate(features):

View File

@ -104,8 +104,8 @@ class RandomExtractWithinSubsets(GeoAlgorithm):
"correct value and try again.")) "correct value and try again."))
value = value / 100.0 value = value / 100.0
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(),
layer.fields().toList(), layer.wkbType(), layer.crs()) layer.crs(), context)
selran = [] selran = []
total = 100.0 / (featureCount * len(unique)) total = 100.0 / (featureCount * len(unique))

View File

@ -88,8 +88,7 @@ class RandomPointsAlongLines(GeoAlgorithm):
fields = QgsFields() fields = QgsFields()
fields.append(QgsField('id', QVariant.Int, '', 10, 0)) fields.append(QgsField('id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields, QgsWkbTypes.Point, layer.crs())
nPoints = 0 nPoints = 0
nIterations = 0 nIterations = 0

View File

@ -97,8 +97,7 @@ class RandomPointsExtent(GeoAlgorithm):
fields = QgsFields() fields = QgsFields()
fields.append(QgsField('id', QVariant.Int, '', 10, 0)) fields.append(QgsField('id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, crs, context)
fields, QgsWkbTypes.Point, crs)
nPoints = 0 nPoints = 0
nIterations = 0 nIterations = 0

View File

@ -83,8 +83,7 @@ class RandomPointsLayer(GeoAlgorithm):
fields = QgsFields() fields = QgsFields()
fields.append(QgsField('id', QVariant.Int, '', 10, 0)) fields.append(QgsField('id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields, QgsWkbTypes.Point, layer.crs())
nPoints = 0 nPoints = 0
nIterations = 0 nIterations = 0

View File

@ -89,8 +89,7 @@ class RandomPointsPolygonsFixed(GeoAlgorithm):
fields = QgsFields() fields = QgsFields()
fields.append(QgsField('id', QVariant.Int, '', 10, 0)) fields.append(QgsField('id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields, QgsWkbTypes.Point, layer.crs())
da = QgsDistanceArea() da = QgsDistanceArea()

View File

@ -90,8 +90,7 @@ class RandomPointsPolygonsVariable(GeoAlgorithm):
fields = QgsFields() fields = QgsFields()
fields.append(QgsField('id', QVariant.Int, '', 10, 0)) fields.append(QgsField('id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, layer.crs(), context)
fields, QgsWkbTypes.Point, layer.crs())
da = QgsDistanceArea() da = QgsDistanceArea()

View File

@ -102,10 +102,7 @@ class RectanglesOvalsDiamondsFixed(GeoAlgorithm):
segments = self.getParameterValue(self.SEGMENTS) segments = self.getParameterValue(self.SEGMENTS)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs(), context)
layer.fields().toList(),
QgsWkbTypes.Polygon,
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -111,10 +111,7 @@ class RectanglesOvalsDiamondsVariable(GeoAlgorithm):
segments = self.getParameterValue(self.SEGMENTS) segments = self.getParameterValue(self.SEGMENTS)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs(), context)
layer.fields().toList(),
QgsWkbTypes.Polygon,
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -101,8 +101,7 @@ class RegularPoints(GeoAlgorithm):
fields = QgsFields() fields = QgsFields()
fields.append(QgsField('id', QVariant.Int, '', 10, 0)) fields.append(QgsField('id', QVariant.Int, '', 10, 0))
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, QgsWkbTypes.Point, crs, context)
fields, QgsWkbTypes.Point, crs)
if randomize: if randomize:
seed() seed()

View File

@ -65,10 +65,7 @@ class RemoveNullGeometry(GeoAlgorithm):
layer = dataobjects.getLayerFromString( layer = dataobjects.getLayerFromString(
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(), context)
layer.fields(),
layer.wkbType(),
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -73,8 +73,8 @@ class ReprojectLayer(GeoAlgorithm):
targetCrs = QgsCoordinateReferenceSystem() targetCrs = QgsCoordinateReferenceSystem()
targetCrs.createFromUserInput(crsId) targetCrs.createFromUserInput(crsId)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(),
layer.fields().toList(), layer.wkbType(), targetCrs) targetCrs, context)
layerCrs = layer.crs() layerCrs = layer.crs()
crsTransform = QgsCoordinateTransform(layerCrs, targetCrs) crsTransform = QgsCoordinateTransform(layerCrs, targetCrs)

View File

@ -66,10 +66,7 @@ class ReverseLineDirection(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), layer.wkbType(), layer.crs(), context)
layer.fields().toList(),
layer.wkbType(),
layer.crs())
outFeat = QgsFeature() outFeat = QgsFeature()

View File

@ -65,8 +65,7 @@ class SaveSelectedFeatures(GeoAlgorithm):
vectorLayer = dataobjects.getLayerFromString(inputFilename) vectorLayer = dataobjects.getLayerFromString(inputFilename)
writer = output.getVectorWriter(vectorLayer.fields(), writer = output.getVectorWriter(vectorLayer.fields(), vectorLayer.wkbType(), vectorLayer.crs(), context)
vectorLayer.wkbType(), vectorLayer.crs())
features = vectorLayer.selectedFeaturesIterator() features = vectorLayer.selectedFeaturesIterator()
total = 100.0 / int(vectorLayer.selectedFeatureCount()) total = 100.0 / int(vectorLayer.selectedFeatureCount())

View File

@ -176,16 +176,10 @@ class ServiceAreaFromLayer(GeoAlgorithm):
feat.setFields(fields) feat.setFields(fields)
writerPoints = self.getOutputFromName( writerPoints = self.getOutputFromName(
self.OUTPUT_POINTS).getVectorWriter( self.OUTPUT_POINTS).getVectorWriter(fields, QgsWkbTypes.MultiPoint, layer.crs(), context)
fields,
QgsWkbTypes.MultiPoint,
layer.crs())
writerPolygons = self.getOutputFromName( writerPolygons = self.getOutputFromName(
self.OUTPUT_POLYGON).getVectorWriter( self.OUTPUT_POLYGON).getVectorWriter(fields, QgsWkbTypes.Polygon, layer.crs(), context)
fields,
QgsWkbTypes.Polygon,
layer.crs())
directionField = -1 directionField = -1
if directionFieldName is not None: if directionFieldName is not None:

View File

@ -231,10 +231,7 @@ class ServiceAreaFromPoint(GeoAlgorithm):
geomLower = QgsGeometry.fromMultiPoint(lowerBoundary) geomLower = QgsGeometry.fromMultiPoint(lowerBoundary)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_POINTS).getVectorWriter( self.OUTPUT_POINTS).getVectorWriter(fields, QgsWkbTypes.MultiPoint, layer.crs(), context)
fields,
QgsWkbTypes.MultiPoint,
layer.crs())
feat.setGeometry(geomUpper) feat.setGeometry(geomUpper)
feat['type'] = 'upper' feat['type'] = 'upper'
@ -254,10 +251,7 @@ class ServiceAreaFromPoint(GeoAlgorithm):
geomLower = QgsGeometry.fromMultiPoint(lowerBoundary) geomLower = QgsGeometry.fromMultiPoint(lowerBoundary)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_POLYGON).getVectorWriter( self.OUTPUT_POLYGON).getVectorWriter(fields, QgsWkbTypes.Polygon, layer.crs(), context)
fields,
QgsWkbTypes.Polygon,
layer.crs())
geom = geomUpper.convexHull() geom = geomUpper.convexHull()
feat.setGeometry(geom) feat.setGeometry(geom)

View File

@ -182,10 +182,7 @@ class ShortestPathLayerToPoint(GeoAlgorithm):
feat.setFields(fields) feat.setFields(fields)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(fields.toList(), QgsWkbTypes.LineString, layer.crs(), context)
fields.toList(),
QgsWkbTypes.LineString,
layer.crs())
tmp = endPoint.split(',') tmp = endPoint.split(',')
endPoint = QgsPoint(float(tmp[0]), float(tmp[1])) endPoint = QgsPoint(float(tmp[0]), float(tmp[1]))

View File

@ -175,10 +175,7 @@ class ShortestPathPointToLayer(GeoAlgorithm):
feat.setFields(fields) feat.setFields(fields)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(fields.toList(), QgsWkbTypes.LineString, layer.crs(), context)
fields.toList(),
QgsWkbTypes.LineString,
layer.crs())
tmp = startPoint.split(',') tmp = startPoint.split(',')
startPoint = QgsPoint(float(tmp[0]), float(tmp[1])) startPoint = QgsPoint(float(tmp[0]), float(tmp[1]))

View File

@ -174,10 +174,7 @@ class ShortestPathPointToPoint(GeoAlgorithm):
fields.append(QgsField('cost', QVariant.Double, '', 20, 7)) fields.append(QgsField('cost', QVariant.Double, '', 20, 7))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(fields.toList(), QgsWkbTypes.LineString, layer.crs(), context)
fields.toList(),
QgsWkbTypes.LineString,
layer.crs())
tmp = startPoint.split(',') tmp = startPoint.split(',')
startPoint = QgsPoint(float(tmp[0]), float(tmp[1])) startPoint = QgsPoint(float(tmp[0]), float(tmp[1]))

View File

@ -86,8 +86,8 @@ class SimplifyGeometries(GeoAlgorithm):
pointsBefore = 0 pointsBefore = 0
pointsAfter = 0 pointsAfter = 0
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), layer.wkbType(),
layer.fields().toList(), layer.wkbType(), layer.crs()) layer.crs(), context)
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -72,8 +72,8 @@ class SinglePartsToMultiparts(GeoAlgorithm):
geomType = QgsWkbTypes.multiType(layer.wkbType()) geomType = QgsWkbTypes.multiType(layer.wkbType())
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields().toList(), geomType, layer.crs(),
layer.fields().toList(), geomType, layer.crs()) context)
outFeat = QgsFeature() outFeat = QgsFeature()
inGeom = QgsGeometry() inGeom = QgsGeometry()

View File

@ -98,10 +98,7 @@ class SingleSidedBuffer(GeoAlgorithm):
self.getParameterValue(self.INPUT_LAYER)) self.getParameterValue(self.INPUT_LAYER))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs(), context)
layer.fields().toList(),
QgsWkbTypes.Polygon,
layer.crs())
distance = self.getParameterValue(self.DISTANCE) distance = self.getParameterValue(self.DISTANCE)
segments = int(self.getParameterValue(self.SEGMENTS)) segments = int(self.getParameterValue(self.SEGMENTS))

View File

@ -76,10 +76,7 @@ class Smooth(GeoAlgorithm):
max_angle = self.getParameterValue(self.MAX_ANGLE) max_angle = self.getParameterValue(self.MAX_ANGLE)
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), layer.wkbType(), layer.crs(), context)
layer.fields().toList(),
layer.wkbType(),
layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)
total = 100.0 / QgsProcessingUtils.featureCount(layer, context) total = 100.0 / QgsProcessingUtils.featureCount(layer, context)

View File

@ -82,8 +82,8 @@ class SnapGeometriesToLayer(GeoAlgorithm):
tolerance = self.getParameterValue(self.TOLERANCE) tolerance = self.getParameterValue(self.TOLERANCE)
mode = self.getParameterValue(self.BEHAVIOR) mode = self.getParameterValue(self.BEHAVIOR)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(layer.fields(), layer.wkbType(), layer.crs(),
layer.fields(), layer.wkbType(), layer.crs()) context)
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -150,8 +150,7 @@ class SpatialJoin(GeoAlgorithm):
for f in list(targetFields.values()): for f in list(targetFields.values()):
fields.append(f) fields.append(f)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, target.wkbType(), target.crs(), context)
fields, target.wkbType(), target.crs())
outFeat = QgsFeature() outFeat = QgsFeature()
inFeatB = QgsFeature() inFeatB = QgsFeature()

View File

@ -82,8 +82,8 @@ class SplitLinesWithLines(GeoAlgorithm):
sameLayer = self.getParameterValue(self.INPUT_A) == self.getParameterValue(self.INPUT_B) sameLayer = self.getParameterValue(self.INPUT_A) == self.getParameterValue(self.INPUT_B)
fieldList = layerA.fields() fieldList = layerA.fields()
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, QgsWkbTypes.LineString, layerA.crs(),
QgsWkbTypes.LineString, layerA.crs()) context)
spatialIndex = vector.spatialindex(layerB) spatialIndex = vector.spatialindex(layerB)

View File

@ -78,8 +78,8 @@ class SplitWithLines(GeoAlgorithm):
sameLayer = self.getParameterValue(self.INPUT_A) == self.getParameterValue(self.INPUT_B) sameLayer = self.getParameterValue(self.INPUT_A) == self.getParameterValue(self.INPUT_B)
fieldList = layerA.fields() fieldList = layerA.fields()
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList, QgsWkbTypes.multiType(layerA.wkbType()),
QgsWkbTypes.multiType(layerA.wkbType()), layerA.crs()) layerA.crs(), context)
spatialIndex = QgsSpatialIndex() spatialIndex = QgsSpatialIndex()
splitGeoms = {} splitGeoms = {}

View File

@ -83,8 +83,8 @@ class SumLines(GeoAlgorithm):
(idxCount, fieldList) = vector.findOrCreateField(polyLayer, fieldList, (idxCount, fieldList) = vector.findOrCreateField(polyLayer, fieldList,
countFieldName) countFieldName)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList.toList(), polyLayer.wkbType(),
fieldList.toList(), polyLayer.wkbType(), polyLayer.crs()) polyLayer.crs(), context)
spatialIndex = vector.spatialindex(lineLayer) spatialIndex = vector.spatialindex(lineLayer)

View File

@ -78,8 +78,7 @@ class SymmetricalDifference(GeoAlgorithm):
geomType = QgsWkbTypes.multiType(layerA.wkbType()) geomType = QgsWkbTypes.multiType(layerA.wkbType())
fields = vector.combineVectorFields(layerA, layerB) fields = vector.combineVectorFields(layerA, layerB)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter( writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, geomType, layerA.crs(), context)
fields, geomType, layerA.crs())
featB = QgsFeature() featB = QgsFeature()
outFeat = QgsFeature() outFeat = QgsFeature()

View File

@ -72,8 +72,7 @@ class TextToFloat(GeoAlgorithm):
fields = layer.fields() fields = layer.fields()
fields[idx] = QgsField(fieldName, QVariant.Double, '', 24, 15) fields[idx] = QgsField(fieldName, QVariant.Double, '', 24, 15)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
layer.wkbType(), layer.crs())
features = QgsProcessingUtils.getFeatures(layer, context) features = QgsProcessingUtils.getFeatures(layer, context)

View File

@ -104,10 +104,7 @@ class TopoColor(GeoAlgorithm):
fields.append(QgsField('color_id', QVariant.Int)) fields.append(QgsField('color_id', QVariant.Int))
writer = self.getOutputFromName( writer = self.getOutputFromName(
self.OUTPUT_LAYER).getVectorWriter( self.OUTPUT_LAYER).getVectorWriter(fields, layer.wkbType(), layer.crs(), context)
fields,
layer.wkbType(),
layer.crs())
features = {f.id(): f for f in QgsProcessingUtils.getFeatures(layer, context)} features = {f.id(): f for f in QgsProcessingUtils.getFeatures(layer, context)}

Some files were not shown because too many files have changed in this diff Show More