Edytujesz styl warstw shp jednocześnie w QGIS?

9

Mam kilka wielokątów w pliku shp, które muszę zmienić ich szerokość linii. Dołączyłem do nich w jednej grupie

wprowadź opis zdjęcia tutaj

Czy istnieje sposób, aby zmienić linię dla wszystkich warstw w grupie jednocześnie, a nie jedna po drugiej?

Nitzan Matan
źródło

Odpowiedzi:

14

Przy niewielkiej pomocy Pythona możemy ustawić szerokość obramowania dla wszystkich warstw w grupie „Stan” na określoną wartość (np. 0.16Jak pokazano na obrazku).

Spróbuj przetestować następujące elementy w konsoli Python :

root = QgsProject.instance().layerTreeRoot()
state_group = root.findGroup("State")
border_width = 0.16

for layers in state_group.children():
    layer = layers.layer()
    symbols = layer.rendererV2().symbols()
    symbols[0].symbolLayer(0).setBorderWidth(border_width)
    layer.triggerRepaint()
    iface.legendInterface().refreshLayerSymbology(layer)
Joseph
źródło