@@ -302,54 +302,6 @@ def combineVectorFields(layerA, layerB):
302
302
return fields
303
303
304
304
305
- def duplicateInMemory (layer , newName = '' , addToRegistry = False ):
306
- """Return a memory copy of a layer
307
-
308
- layer: QgsVectorLayer that shall be copied to memory.
309
- new_name: The name of the copied layer.
310
- add_to_registry: if True, the new layer will be added to the QgsMapRegistry
311
-
312
- Returns an in-memory copy of a layer.
313
- """
314
- if newName is '' :
315
- newName = layer .name () + ' (Memory)'
316
-
317
- if layer .type () == QgsMapLayer .VectorLayer :
318
- geomType = layer .geometryType ()
319
- if geomType == QgsWkbTypes .PointGeometry :
320
- strType = 'Point'
321
- elif geomType == QgsWkbTypes .LineGeometry :
322
- strType = 'Line'
323
- elif geomType == QgsWkbTypes .PolygonGeometry :
324
- strType = 'Polygon'
325
- else :
326
- raise RuntimeError ('Layer is whether Point nor Line nor Polygon' )
327
- else :
328
- raise RuntimeError ('Layer is not a VectorLayer' )
329
-
330
- crs = layer .crs ().authid ().lower ()
331
- myUuid = str (uuid .uuid4 ())
332
- uri = '%s?crs=%s&index=yes&uuid=%s' % (strType , crs , myUuid )
333
- memLayer = QgsVectorLayer (uri , newName , 'memory' )
334
- memProvider = memLayer .dataProvider ()
335
-
336
- provider = layer .dataProvider ()
337
- fields = layer .fields ().toList ()
338
- memProvider .addAttributes (fields )
339
- memLayer .updateFields ()
340
-
341
- for ft in provider .getFeatures ():
342
- memProvider .addFeatures ([ft ])
343
-
344
- if addToRegistry :
345
- if memLayer .isValid ():
346
- QgsProject .instance ().addMapLayer (memLayer )
347
- else :
348
- raise RuntimeError ('Layer invalid' )
349
-
350
- return memLayer
351
-
352
-
353
305
def checkMinDistance (point , index , distance , points ):
354
306
"""Check if distance from given point to all other points is greater
355
307
than given value.
0 commit comments