QGISでレイアウトを作りすぎて管理しきれなくなり、地図帳にまとめるときに作ったPythonスクリプトです。 いろいろ応用が効くので、今後QGISのPythonコンソールを使うときのために上げておきます。
Copilotに大分助けられました。
from qgis.core import QgsProject from qgis.gui import QgsLayoutItemMap # QGISのプロジェクトを取得 project = QgsProject.instance() # プロジェクト内のすべての印刷レイアウトを取得 layouts = project.layoutManager().layouts() # 出力ファイルを開く(書き込みモード) with open('map_items_info.txt', 'w') as file: # 各レイアウトをループ for layout in layouts: # レイアウト内のすべてのアイテムを取得 items = layout.items() # 各アイテムをループ for item in items: # アイテムがマップアイテムかどうかを確認 if isinstance(item, QgsLayoutItemMap): # マップアイテムの回転角度と中心座標を取得 rotation = item.mapRotation() center = item.extent().center() # ファイルに書き込む file.write(f"Layout: {layout.name()}, Map Rotation: {rotation}, Map Center: {center}\n") # コンソールに出力 print(f"Layout: {layout.name()}, Map Rotation: {rotation}, Map Center: {center}")