Skip to content

Commit f84d703

Browse files
committed
Add method QgsProcessingUtils::mapLayerFromString
Algorithms and other processing code should use this method (instead of dataobjects.getLayerFromString) to retrieve layers from a string, as it considers the processing context and allows resolving strings to temporarily stored layers. This permits processing models to function correctly when intermediate results are stored as memory layers. Subsequent model algorithms can then access these temporary layers as inputs. All temporary layers will be removed when the context object is destroyed after the model algorithm is run.
1 parent 1711a41 commit f84d703

File tree

160 files changed

+271
-320
lines changed

Some content is hidden

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

160 files changed

+271
-320
lines changed

python/core/processing/qgsprocessingutils.sip

+5
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ class QgsProcessingUtils
9090
:rtype: QgsMapLayer
9191
%End
9292

93+
static QgsMapLayer *mapLayerFromString( const QString &string, QgsProcessingContext &context, bool allowLoadingNewLayers = true );
94+
%Docstring
95+
:rtype: QgsMapLayer
96+
%End
97+
9398
static QString normalizeLayerSource( const QString &source );
9499
%Docstring
95100
Normalizes a layer ``source`` string for safe comparison across different

python/plugins/processing/algs/exampleprovider/ExampleAlgorithm.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ def processAlgorithm(self, context, feedback):
9292
# Input layers vales are always a string with its location.
9393
# That string can be converted into a QGIS layer (a
9494
# QgsVectorLayer in this case) using the
95-
# dataobjects.getLayerFromString() method.
96-
vectorLayer = dataobjects.getLayerFromString(inputFilename)
95+
# dataobjects.QgsProcessingUtils.mapLayerFromString() method.
96+
vectorLayer = dataobjects.QgsProcessingUtils.mapLayerFromString(inputFilename, context)
9797

9898
# And now we can process
9999

python/plugins/processing/algs/gdal/ClipByMask.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ def defineCharacteristics(self):
103103
def getConsoleCommands(self):
104104
out = self.getOutputValue(self.OUTPUT)
105105
mask = self.getParameterValue(self.MASK)
106-
maskLayer = dataobjects.getLayerFromString(
107-
self.getParameterValue(self.MASK))
106+
context = dataobjects.createContext()
107+
maskLayer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.MASK), context)
108108
ogrMask = ogrConnectionString(mask)[1:-1]
109109
noData = self.getParameterValue(self.NO_DATA)
110110
opts = self.getParameterValue(self.OPTIONS)

python/plugins/processing/algs/gdal/rasterize_over.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,9 @@ def defineCharacteristics(self):
6969
self.tr('Existing raster layer'), False))
7070

7171
def getConsoleCommands(self):
72-
inLayer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
73-
inRasterLayer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT_RASTER))
72+
context = dataobjects.createContext()
73+
inLayer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
74+
inRasterLayer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_RASTER), context)
7475

7576
ogrLayer = ogrConnectionString(inLayer)[1:-1]
7677
ogrRasterLayer = ogrConnectionString(inRasterLayer)[1:-1]

python/plugins/processing/algs/grass7/Grass7Algorithm.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -219,22 +219,23 @@ def defineCharacteristicsFromFile(self):
219219
self.addParameter(param)
220220

221221
def getDefaultCellsize(self):
222+
context = dataobjects.createContext()
222223
cellsize = 0
223224
for param in self.parameters:
224225
if param.value:
225226
if isinstance(param, ParameterRaster):
226227
if isinstance(param.value, QgsRasterLayer):
227228
layer = param.value
228229
else:
229-
layer = dataobjects.getLayerFromString(param.value)
230+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(param.value, context)
230231
cellsize = max(cellsize, (layer.extent().xMaximum() -
231232
layer.extent().xMinimum()) /
232233
layer.width())
233234
elif isinstance(param, ParameterMultipleInput):
234235

235236
layers = param.value.split(';')
236237
for layername in layers:
237-
layer = dataobjects.getLayerFromString(layername)
238+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(layername, context)
238239
if isinstance(layer, QgsRasterLayer):
239240
cellsize = max(cellsize, (
240241
layer.extent().xMaximum() -
@@ -507,16 +508,17 @@ def processOutputs(self):
507508
self.outputCommands.append(command)
508509

509510
def exportVectorLayer(self, orgFilename):
511+
context = dataobjects.createContext()
510512

511513
# TODO: improve this. We are now exporting if it is not a shapefile,
512514
# but the functionality of v.in.ogr could be used for this.
513515
# We also export if there is a selection
514516
if not os.path.exists(orgFilename) or not orgFilename.endswith('shp'):
515-
layer = dataobjects.getLayerFromString(orgFilename, False)
517+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(orgFilename, context, False)
516518
if layer:
517519
filename = dataobjects.exportVectorLayer(layer)
518520
else:
519-
layer = dataobjects.getLayerFromString(orgFilename, False)
521+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(orgFilename, context, False)
520522
if layer:
521523
useSelection = \
522524
ProcessingConfig.getSetting(ProcessingConfig.USE_SELECTED)
@@ -549,8 +551,9 @@ def setSessionProjectionFromProject(self, commands):
549551
Grass7Utils.projectionSet = True
550552

551553
def setSessionProjectionFromLayer(self, layer, commands):
554+
context = dataobjects.createContext()
552555
if not Grass7Utils.projectionSet:
553-
qGisLayer = dataobjects.getLayerFromString(layer)
556+
qGisLayer = dataobjects.QgsProcessingUtils.mapLayerFromString(layer, context)
554557
if qGisLayer:
555558
proj4 = str(qGisLayer.crs().toProj4())
556559
command = 'g.proj'

python/plugins/processing/algs/grass7/nviz7.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -167,21 +167,22 @@ def exportRasterLayer(self, layer):
167167

168168
def getDefaultCellsize(self):
169169
cellsize = 0
170+
context = dataobjects.createContext()
170171
for param in self.parameters:
171172
if param.value:
172173
if isinstance(param, ParameterRaster):
173174
if isinstance(param.value, QgsRasterLayer):
174175
layer = param.value
175176
else:
176-
layer = dataobjects.getLayerFromString(param.value)
177+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(param.value, context)
177178
cellsize = max(cellsize, (layer.extent().xMaximum() -
178179
layer.extent().xMinimum()) /
179180
layer.width())
180181
elif isinstance(param, ParameterMultipleInput):
181182

182183
layers = param.value.split(';')
183184
for layername in layers:
184-
layer = dataobjects.getLayerFromString(layername)
185+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(layername, context)
185186
if isinstance(layer, QgsRasterLayer):
186187
cellsize = max(cellsize, (
187188
layer.extent().xMaximum() -

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,7 @@ def processAlgorithm(self, context, feedback):
9191
fieldPrecision = self.getParameterValue(self.FIELD_PRECISION)
9292
output = self.getOutputFromName(self.OUTPUT_LAYER)
9393

94-
layer = dataobjects.getLayerFromString(
95-
self.getParameterValue(self.INPUT_LAYER))
94+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
9695

9796
fields = layer.fields()
9897
fields.append(QgsField(fieldName, self.TYPES[fieldType], '',

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def defineCharacteristics(self):
6464
def processAlgorithm(self, context, feedback):
6565
output = self.getOutputFromName(self.OUTPUT)
6666
vlayer = \
67-
dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
67+
dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
6868
fields = vlayer.fields()
6969
fields.append(QgsField('AUTO', QVariant.Int))
7070
writer = output.getVectorWriter(fields, vlayer.wkbType(), vlayer.crs(), context)

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ def defineCharacteristics(self):
7474
self.addOutput(OutputHTML(self.OUTPUT, self.tr('Bar plot')))
7575

7676
def processAlgorithm(self, context, feedback):
77-
layer = dataobjects.getLayerFromString(
78-
self.getParameterValue(self.INPUT))
77+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
7978
namefieldname = self.getParameterValue(self.NAME_FIELD)
8079
valuefieldname = self.getParameterValue(self.VALUE_FIELD)
8180

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,7 @@ def defineCharacteristics(self):
122122
self.addOutput(OutputNumber(self.IQR, self.tr('Interquartile Range (IQR)')))
123123

124124
def processAlgorithm(self, context, feedback):
125-
layer = dataobjects.getLayerFromString(
126-
self.getParameterValue(self.INPUT_LAYER))
125+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
127126
field_name = self.getParameterValue(self.FIELD_NAME)
128127
field = layer.fields().at(layer.fields().lookupField(field_name))
129128

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@ def defineCharacteristics(self):
116116
self.addOutput(OutputNumber(self.IQR, self.tr('Interquartile Range (IQR)')))
117117

118118
def processAlgorithm(self, context, feedback):
119-
layer = dataobjects.getLayerFromString(
120-
self.getParameterValue(self.INPUT_LAYER))
119+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
121120
fieldName = self.getParameterValue(self.FIELD_NAME)
122121

123122
outputFile = self.getOutputValue(self.OUTPUT_HTML_FILE)

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@ def defineCharacteristics(self):
102102
self.addOutput(OutputNumber(self.MAX_VALUE, self.tr('Maximum string value')))
103103

104104
def processAlgorithm(self, context, feedback):
105-
layer = dataobjects.getLayerFromString(
106-
self.getParameterValue(self.INPUT_LAYER))
105+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
107106
fieldName = self.getParameterValue(self.FIELD_NAME)
108107

109108
outputFile = self.getOutputValue(self.OUTPUT_HTML_FILE)

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,7 @@ def defineCharacteristics(self):
6464
self.addOutput(OutputVector(self.OUTPUT_LAYER, self.tr('Boundary')))
6565

6666
def processAlgorithm(self, context, feedback):
67-
layer = dataobjects.getLayerFromString(
68-
self.getParameterValue(self.INPUT_LAYER))
67+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
6968

7069
input_wkb = layer.wkbType()
7170
if QgsWkbTypes.geometryType(input_wkb) == QgsWkbTypes.LineGeometry:

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ def defineCharacteristics(self):
6363
self.addOutput(OutputVector(self.OUTPUT_LAYER, self.tr('Bounds'), datatype=[dataobjects.TYPE_VECTOR_POLYGON]))
6464

6565
def processAlgorithm(self, context, feedback):
66-
layer = dataobjects.getLayerFromString(
67-
self.getParameterValue(self.INPUT_LAYER))
66+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
6867

6968
writer = self.getOutputFromName(
7069
self.OUTPUT_LAYER).getVectorWriter(layer.fields().toList(), QgsWkbTypes.Polygon, layer.crs(), context)

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ def defineCharacteristics(self):
8383
self.addOutput(OutputHTML(self.OUTPUT, self.tr('Box plot')))
8484

8585
def processAlgorithm(self, context, feedback):
86-
layer = dataobjects.getLayerFromString(
87-
self.getParameterValue(self.INPUT))
86+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
8887
namefieldname = self.getParameterValue(self.NAME_FIELD)
8988
valuefieldname = self.getParameterValue(self.VALUE_FIELD)
9089

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@ def defineCharacteristics(self):
6565
self.addOutput(OutputVector(self.OUTPUT_LAYER, self.tr('Centroids'), datatype=[dataobjects.TYPE_VECTOR_POINT]))
6666

6767
def processAlgorithm(self, context, feedback):
68-
layer = dataobjects.getLayerFromString(
69-
self.getParameterValue(self.INPUT_LAYER))
68+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
7069

7170
writer = self.getOutputFromName(
7271
self.OUTPUT_LAYER).getVectorWriter(layer.fields(), QgsWkbTypes.Point, layer.crs(), context)

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,7 @@ def processAlgorithm(self, context, feedback):
100100
settings.setValue(settings_method_key, initial_method_setting)
101101

102102
def doCheck(self, context, feedback):
103-
layer = dataobjects.getLayerFromString(
104-
self.getParameterValue(self.INPUT_LAYER))
103+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT_LAYER), context)
105104

106105
settings = QgsSettings()
107106
method = int(settings.value(settings_method_key, 1))

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

+2-4
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,8 @@ def defineCharacteristics(self):
7070
self.addOutput(OutputVector(Clip.OUTPUT, self.tr('Clipped')))
7171

7272
def processAlgorithm(self, context, feedback):
73-
source_layer = dataobjects.getLayerFromString(
74-
self.getParameterValue(Clip.INPUT))
75-
mask_layer = dataobjects.getLayerFromString(
76-
self.getParameterValue(Clip.OVERLAY))
73+
source_layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(Clip.INPUT), context)
74+
mask_layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(Clip.OVERLAY), context)
7775

7876
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(source_layer.fields(),
7977
QgsWkbTypes.multiType(source_layer.wkbType()),

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ def defineCharacteristics(self):
7979
OutputVector(ConcaveHull.OUTPUT, self.tr('Concave hull'), datatype=[dataobjects.TYPE_VECTOR_POLYGON]))
8080

8181
def processAlgorithm(self, context, feedback):
82-
layer = dataobjects.getLayerFromString(self.getParameterValue(ConcaveHull.INPUT))
82+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(ConcaveHull.INPUT), context)
8383
alpha = self.getParameterValue(self.ALPHA)
8484
holes = self.getParameterValue(self.HOLES)
8585
no_multigeom = self.getParameterValue(self.NO_MULTIGEOMETRY)
8686

8787
# Delaunay triangulation from input point layer
8888
feedback.setProgressText(self.tr('Creating Delaunay triangles...'))
8989
delone_triangles = processing.run("qgis:delaunaytriangulation", layer, None)['OUTPUT']
90-
delaunay_layer = dataobjects.getLayerFromString(delone_triangles)
90+
delaunay_layer = dataobjects.QgsProcessingUtils.mapLayerFromString(delone_triangles, context)
9191

9292
# Get max edge length from Delaunay triangles
9393
feedback.setProgressText(self.tr('Computing edges max length...'))
@@ -127,7 +127,7 @@ def processAlgorithm(self, context, feedback):
127127
feedback.setProgressText(self.tr('Dissolving Delaunay triangles...'))
128128
dissolved = processing.run("qgis:dissolve", delaunay_layer,
129129
True, None, None)['OUTPUT']
130-
dissolved_layer = dataobjects.getLayerFromString(dissolved)
130+
dissolved_layer = dataobjects.QgsProcessingUtils.mapLayerFromString(dissolved, context)
131131

132132
# Save result
133133
feedback.setProgressText(self.tr('Saving data...'))

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ def defineCharacteristics(self):
7777
self.addOutput(OutputVector(self.OUTPUT, self.tr('Convex hull'), datatype=[dataobjects.TYPE_VECTOR_POLYGON]))
7878

7979
def processAlgorithm(self, context, feedback):
80-
layer = dataobjects.getLayerFromString(
81-
self.getParameterValue(self.INPUT))
80+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
8281
useField = self.getParameterValue(self.METHOD) == 1
8382
fieldName = self.getParameterValue(self.FIELD)
8483

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def defineCharacteristics(self):
6868

6969
def processAlgorithm(self, context, feedback):
7070
file_name = self.getParameterValue(self.INPUT)
71-
layer = dataobjects.getLayerFromString(file_name)
71+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(file_name, context)
7272
field = self.getParameterValue(self.FIELD)
7373
provider = layer.dataProvider()
7474

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ def defineCharacteristics(self):
6868
self.tr('Constant')))
6969

7070
def processAlgorithm(self, context, feedback):
71-
layer = dataobjects.getLayerFromString(
72-
self.getParameterValue(self.INPUT))
71+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
7372
value = self.getParameterValue(self.NUMBER)
7473

7574
output = self.getOutputFromName(self.OUTPUT)

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def defineCharacteristics(self):
7575

7676
def processAlgorithm(self, context, feedback):
7777
fileName = self.getParameterValue(self.INPUT)
78-
layer = dataobjects.getLayerFromString(fileName)
78+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(fileName, context)
7979
crs = QgsCoordinateReferenceSystem(self.getParameterValue(self.CRS))
8080

8181
provider = layer.dataProvider()

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,7 @@ def defineCharacteristics(self):
7070
datatype=[dataobjects.TYPE_VECTOR_POLYGON]))
7171

7272
def processAlgorithm(self, context, feedback):
73-
layer = dataobjects.getLayerFromString(
74-
self.getParameterValue(self.INPUT))
73+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
7574

7675
fields = [QgsField('POINTA', QVariant.Double, '', 24, 15),
7776
QgsField('POINTB', QVariant.Double, '', 24, 15),

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def defineCharacteristics(self):
6666
self.addOutput(OutputVector(self.OUTPUT, self.tr('Output layer')))
6767

6868
def processAlgorithm(self, context, feedback):
69-
layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
69+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
7070

7171
fields_to_delete = self.getParameterValue(self.COLUMNS).split(';')
7272
fields = layer.fields()

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ def defineCharacteristics(self):
6060
self.addOutput(OutputVector(self.OUTPUT, self.tr('Cleaned')))
6161

6262
def processAlgorithm(self, context, feedback):
63-
layer = dataobjects.getLayerFromString(
64-
self.getParameterValue(self.INPUT))
63+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
6564

6665
fields = layer.fields()
6766

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,7 @@ def defineCharacteristics(self):
6666
self.addOutput(OutputVector(self.OUTPUT, self.tr('Cleaned'), datatype=[dataobjects.TYPE_VECTOR_POLYGON]))
6767

6868
def processAlgorithm(self, context, feedback):
69-
layer = dataobjects.getLayerFromString(
70-
self.getParameterValue(self.INPUT))
69+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
7170
min_area = self.getParameterValue(self.MIN_AREA)
7271
if min_area is not None:
7372
try:

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,7 @@ def defineCharacteristics(self):
7878
self.tr('Densified')))
7979

8080
def processAlgorithm(self, context, feedback):
81-
layer = dataobjects.getLayerFromString(
82-
self.getParameterValue(self.INPUT))
81+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
8382
vertices = self.getParameterValue(self.VERTICES)
8483

8584
isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def defineCharacteristics(self):
7373
self.addOutput(OutputVector(self.OUTPUT, self.tr('Densified')))
7474

7575
def processAlgorithm(self, context, feedback):
76-
layer = dataobjects.getLayerFromString(self.getParameterValue(self.INPUT))
76+
layer = dataobjects.QgsProcessingUtils.mapLayerFromString(self.getParameterValue(self.INPUT), context)
7777
interval = self.getParameterValue(self.INTERVAL)
7878

7979
isPolygon = layer.geometryType() == QgsWkbTypes.PolygonGeometry

0 commit comments

Comments
 (0)