Création d'une couche temporelle à partir d'une sélection dans QGIS

11

Je veux créer un calque temporaire à partir d'un calque existant et n'obtenir que les fonctionnalités du calque existant, qui sont sélectionnées. Je sais qu'ArcGIS possède cette fonctionnalité que vous pouvez créer une couche à partir d'entités sélectionnées.

Cependant, je n'ai trouvé aucune solution de travail pour cela dans QGIS. Je suis conscient de cette question qui décrit comment enregistrer une sélection dans un nouveau fichier qui n'est pas mon objectif ici.

La vérification du menu contextuel pour "enregistrer sous ..." n'a donné aucun résultat. Dans la section plugin avec le mot de recherche "sélection" n'a pas donné de résultats significatifs non plus.

En essayant, j'ai trouvé une solution avec pyqgis mais je préférerais une solution qui n'implique aucun codage car je dois la montrer à un collègue.

* façon pyqgis :

layer = iface.activeLayer() # layer which has a selection 
feat = layer.selectedFeatures()
fields = layer.fields()

selection = QgsVectorLayer('Point', 'temp', 'memory')

dp = selection.dataProvider()
dp.addAttributes(fields)
dp.addFeatures(feat)

selection.commitChanges()
selection.updateExtents()

QgsMapLayerRegistry.instance().addMapLayer(selection)
Rire
la source

Réponses:

16

Je pense qu'il y a au moins deux méthodes:

  • Sélectionnez vos fonctionnalités et exécutez l' outil Enregistrer les fonctionnalités sélectionnées dans la boîte à outils de traitement .

  • Comme décrit dans cette réponse à une question connexe :

    1. Sélectionnez vos fonctionnalités
    2. Copiez-les avec Ctrl+ Cou depuis la barre de menus ( Edit > Copy Features)
    3. Collez les entités en tant que calque de travail temporaire ( Edit > Paste Features as > Temporary Scratch Layer).
Joseph
la source
@LaughU - Bienvenue! Heureux que cela ait aidé :)
Joseph