dayjournal memo

Total 992 articles!!

QGIS #036 - プロジェクトのレイヤを取得するスクリプト

Yasunori Kirimoto's avatar

QGISで、プロジェクトのレイヤを取得するスクリプトは下記のように記述します。



# QGIS2ではQgsMapLayerRegistry()
layers = QgsMapLayerRegistry.instance().mapLayers()
print "layers: " + str(layers)

for k,v in layers.items():
    print "object: " + str(v)
    print "name: " + str(v.name())
    
# QGIS3ではQgsProject()
# QGIS3ではprint文にはカッコを付ける(Python3)
layers = QgsProject.instance().mapLayers()
print ("layers: " + str(layers))

for k,v in layers.items():
    print ("object: " + str(v))
    print ("name: " + str(v.name()))
    

実行するとプロジェクト内に読み込まれているレイヤリストを表示します。 QGIS_036_02


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


# QGIS2ではQgsMapLayerRegistry()
layer = QgsMapLayerRegistry.instance().mapLayers()
print "layers: " + str(layers)

# QGIS3ではQgsProject()
layers = QgsProject.instance().mapLayers()
print ("layers: " + str(layers))

.items()と.name()でレイヤ名を取得:


for k,v in layers.items():
    print "object: " + str(v)
    print "name: " + str(v.name())

# QGIS3ではprint文にはカッコを付ける(Python3)
for k,v in layers.items():
    print ("object: " + str(v))
    print ("name: " + str(v.name()))
    

プロジェクト内に含まれているレイヤを調べる事ができます。



book

Q&A