Chciałbym wyświetlić te same dane wektorowe na różne sposoby jak różne warstwy. Chociaż bardzo przydatne jest kopiowanie i wklejanie stylu warstwy w wersji 1.8+, dobrze byłoby wybrać warstwę i kliknąć prawym przyciskiem myszy, aby skopiować lub powielić ją bezpośrednio.
Jakikolwiek prosty sposób, jak na przykład polecenie Python?
Aktualizacja: sugestia @ dakcarto działa idealnie. Ponieważ musiałem dodać wiele zduplikowanych warstw, dostosowałem go do zapętlania tyle razy, ile potrzeba:
for n in range(1,5):
iface = qgis.utils.iface; vl = iface.activeLayer(); iface.addVectorLayer(vl.source(), vl.name() + "_clone" + str(n), vl.providerType())
Jedynym problemem jest to, że nowa warstwa staje się activeLayer, więc dodaje „_clone” i numer do poprzedniej nazwy, kończąc na example_clone1, example_clone1_clone2, aż do niewygodnego example_clone1_clone2_clone3_clone4_clone5. Musisz teraz dowiedzieć się, jak powielić z pierwotnie wybranej warstwy.
Odpowiedzi:
Istnieją dwa żądania funkcji dotyczące tego ( # 5899 i # 1483 ). Jest to z pewnością możliwa do wykonania funkcja i prawdopodobnie mogłaby zostać uwzględniona w wersji 2.0, gdyby deweloper był zainteresowany jej dodaniem; lub deweloper wtyczek Python zastanowił się nad tym.
Numer # 5899 zawiera także kod Pythona do duplikowania warstwy (przesłany przez programistę Giuseppe Sucameli):
Pojawia się po uruchomieniu kodu powielania, będziesz musiał skopiować / wkleić styl oryginalnej warstwy.
źródło
iface.setActiveLayer( my_layer );iface.actionDuplicateLayer().trigger()
gdzie my_layer jest QgsMapLayer ustawionym na aktywną, wybraną warstwę w legendzie; następnie actionDuplicateLayer () jest uruchamiany do pracy na wybranych warstwach w legendzie (domyślnie).Najnowsze wersje QGIS mają teraz opcję „Duplikuj warstwę”. Kliknij warstwę prawym przyciskiem myszy, a nowa kopia zostanie wstawiona tuż poniżej.
Uwaga dodatkowa: Wydaje się, że musisz naciskać
View --> Refresh
zmiany wprowadzone w jednej warstwie, aby przejść do następnej.źródło