方法

Python を使用して ArcGIS Pro プロジェクトのレイアウトで参照されているすべてのマップをリストする

Last Published: February 24, 2023

サマリー

ArcGIS Pro プロジェクトでは、1 つのレイアウトに、それぞれが異なるマップを参照する複数のマップ フレームを含めることができます。 レイアウトを開いたときにマップを識別するには、ArcGIS Pro のコンテンツ ウィンドウで目視検査します。

レイアウトで参照されているマップを識別する代わりに、特に複数のマップが関係している場合に、ArcPy を使用する方法があります。 以下の手順は、Python を使用して、ArcGIS Pro プロジェクトのレイアウトで参照されているすべてのマップをプログラムでリストする方法を説明しています。

手順

  1. ArcGIS Pro で Python ウィンドウを開きます。 詳細については、「ArcGIS Pro: Python ウィンドウ」をご参照ください。
  2. 必要なモジュールをインポートします。
import arcpy
mapDict= {}
  1. 現在開いているプロジェクトを指定します。
aprx = arcpy.mp.ArcGISProject("CURRENT")
  1. プロジェクトのすべてのレイアウト内にあるすべてのマップ フレームを検索するループを作成し、それらをディクショナリ パラメーターに挿入します。
for lyt in aprx.listLayouts():
    for m in lyt.listElements("MAPFRAME_ELEMENT"):
        if lyt.name in mapDict:            
            mapDict[lyt.name].append(m.map.name)
        else:
            mapDict[lyt.name]=[m.map.name]
  1. print 関数を使用して結果を表示します。
print(mapDict)

以下のコード ブロックに、完全なスクリプトを示します。

import arcpy
mapDict= {}

aprx = arcpy.mp.ArcGISProject("CURRENT")

for lyt in aprx.listLayouts():    
    for m in lyt.listElements("MAPFRAME_ELEMENT"):
        if lyt.name in mapDict:            
            mapDict[lyt.name].append(m.map.name)
        else:
            mapDict[lyt.name]=[m.map.name]

print(mapDict)

記事 ID: 000029323

新しい問題や一般的な問題に対する通知とソリューションの受け取り

新しい AI チャットボットから、要約された回答とビデオソリューションを入手してください。

Esri Support アプリのダウンロード

関連情報

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動