Создание временного слоя из выделения в QGIS

11

Я хочу создать временный слой из существующего слоя и получить только те объекты из существующего слоя, которые выбраны. Я знаю, что у ArcGIS есть эта функциональность, благодаря которой вы можете создать слой из выбранных объектов.

Однако я не смог найти никакого рабочего решения для этого в QGIS. Мне известен этот вопрос, который описывает, как сохранить выделение в новый файл, который здесь не является моей целью.

Проверка контекстного меню на «сохранить как ...» не дала никаких результатов. В разделе плагинов с поиском слово «выделение» также не дало никаких значимых результатов.

Пробуясь вокруг, я придумал решение с pyqgis, но я бы предпочел такое, которое не включает никакого кодирования, потому что мне нужно показать это коллеге.

* 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)
LaughU
источник

Ответы:

16

Я думаю, что есть как минимум два метода:

  • Выберите ваши функции и запустите инструмент Сохранить выбранные функции из панели инструментов обработки .

  • Как описано в этом ответе на связанный вопрос :

    1. Выберите ваши функции
    2. Скопируйте их с помощью Ctrl+ Cили из меню ( Edit > Copy Features)
    3. Вставьте объекты в качестве временного слоя с царапинами ( Edit > Paste Features as > Temporary Scratch Layer).
Джозеф
источник
@LaughU - Добро пожаловать! Рад, что это помогло :)
Джозеф