dayjournal memo

Total 963 articles!!

QGIS #047 - レイヤの表示順を変更するスクリプト

Yasunori Kirimoto's avatar

QGISで、レイヤの表示順を変更するスクリプトは下記のように記述します。



# QGIS2,QGIS3変更なし。
layer = iface.activeLayer()
layertree = QgsProject.instance().layerTreeRoot()

lt = layertree.findLayer(layer.id())
lt_clone = lt.clone()

layertree.insertChildNode(0, lt_clone)
layertree.removeChildNode(lt)

実行すると指定位置にレイヤが移動します。


レイヤツリーを取得:


layertree = QgsProject.instance().layerTreeRoot()

対象レイヤのクローンを作成:


lt = layertree.findLayer(layer.id())
lt_clone = lt.clone()

クローンを一番上に追加:


layertree.insertChildNode(0, lt_clone)

元のレイヤを削除:


layertree.removeChildNode(lt)

レイヤの表示順を変更することができます。



book

Q&A