QGISで、レイヤパネルのレイヤを取得するスクリプトは下記のように記述します。
# QGIS2ではlegendInterface()
layers = iface.legendInterface().layers()
print "layers: " + str(layers)
for v in layers:
print "object: " + str(v)
print "name: " + str(v.name())
# QGIS3ではlegendInterface()廃止
# QGIS3ではprint文にはカッコを付ける(Python3)
layers = QgsProject.instance().layerTreeRoot().findLayers()
print ("layers: " + str(layers))
for v in layers:
print ("object: " + str(v))
print ("name: " + str(v.name()))
実行するとレイヤパネル内に表示されているレイヤリストを表示します。
全てのレイヤをリストオブジェクトで取得:
# QGIS2ではlegendInterface()
layer = iface.legendInterface().layers()
print "layer: " + str(layer)
# QGIS3ではlegendInterface()廃止
# QGIS3ではprint文にはカッコを付ける(Python3)
layers = QgsProject.instance().layerTreeRoot().findLayers()
print ("layers: " + str(layers))
.name()でレイヤ名を取得:
for v in layer:
print "object: " + str(v)
print "name: " + str(v.name())
# QGIS3ではprint文にはカッコを付ける(Python3)
for v in layers:
print ("object: " + str(v))
print ("name: " + str(v.name()))
レイヤパネル内に表示されているレイヤを調べる事ができます。
- 参考文献
QGIS