dayjournal memo

Total 975 articles!!

QGIS #037 - レイヤパネルのレイヤを取得するスクリプト

Yasunori Kirimoto's avatar

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()))
    

実行するとレイヤパネル内に表示されているレイヤリストを表示します。 QGIS_037_01


全てのレイヤをリストオブジェクトで取得:


# 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()))
    

レイヤパネル内に表示されているレイヤを調べる事ができます。



book

Q&A