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()))
実行するとプロジェクト内に読み込まれているレイヤリストを表示します。
全てのレイヤを辞書オブジェクトで取得:
# 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()))
プロジェクト内に含まれているレイヤを調べる事ができます。
- 参考文献
QGIS