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)
レイヤの表示順を変更することができます。
- 参考文献
QGIS