ホーム » QGIS » QGIS3 python レイヤ

QGIS3 python レイヤ

レイヤの一覧を照会

[code]
for layer in QgsProject.instance().mapLayers().values():
QgsMessageLog.logMessage(layer.name(), ‘test plugin’, Qgis.Info)
[/code]

レイヤIDからレイヤを求める

[code]
layerTreeLayer=QgsProject.instance().layerTreeRoot().findLayer(layers[0].id())
layer = layerTreeLayer.layer()
[/code]

レイヤ名からレイヤのリスト(List[QgsMapLayer])を照会

[code]
layers=layerTreeLayer=QgsProject.instance().mapLayersByName(レイヤ名)
[/code]

レイヤの表示、非表示を切り替え

[code]
QgsProject.instance().layerTreeRoot().findLayer(レイヤID).setItemVisibilityChecked(False)
[/code]

setItemVisibilityCheckedはQgsMapLayerのメンバーではなくQgsLayerTreeNodeのメンバー。
QgsLayerTreeNodeはQgsLayerTreeLayerの基底クラスであり、QgsLayerTreeNodeはQgsLayerTreeGroupのfindLayerで照会