Tworzenie warstwy tymczasowej z zaznaczenia w QGIS


11

Chcę utworzyć warstwę tymczasową z istniejącej warstwy i uzyskać tylko te funkcje z istniejącej warstwy, które są wybrane. Wiem, że ArcGIS ma tę funkcję, że możesz tworzyć warstwę z wybranych funkcji.

W QGIS nie mogłem jednak znaleźć żadnego działającego rozwiązania. Mam świadomość tego pytania, które opisuje, jak zapisać zaznaczenie w nowym pliku, co nie jest moim celem tutaj.

Sprawdzanie w menu kontekstowym opcji „Zapisz jako ...” nie przyniosło żadnych rezultatów. W sekcji wtyczek ze słowem „selekcja” również nie dało żadnych znaczących wyników.

Próbując dookoła, wymyśliłem rozwiązanie z pyqgis, ale wolałbym takie, które nie wymaga żadnego kodowania, ponieważ muszę to pokazać koledze.

* sposób 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)

Odpowiedzi:


16

Myślę, że istnieją co najmniej dwie metody:

  • Wybierz funkcje i uruchom narzędzie Zapisz wybrane funkcje z Przybornika przetwarzania .

  • Jak opisano w tej odpowiedzi na powiązane pytanie :

    1. Wybierz swoje funkcje
    2. Skopiuj je za pomocą Ctrl+ Club z paska menu ( Edit > Copy Features)
    3. Wklej funkcje jako tymczasową warstwę rysującą ( Edit > Paste Features as > Temporary Scratch Layer).

@LaughU - Serdecznie witamy! Cieszę się, że pomogło :)
Joseph
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.