概要
Python スクリプトを使用して、マップに表示しているレイヤー名をレイアウト ビューに追加する方法をご紹介します。レイアウト ビューでは、マップ エレメント(タイトル、方位記号、縮尺記号など)をデータ フレームとともに操作することができます。 ここでは、マップに追加してあるテキスト エレメントを取得して、表示しているレイヤー名のみをテキスト エレメントに入力します。
サンプル コード
※以下のサンプル コードを実行する場合は、ArcMap の [Python] ウィンドウをご利用ください。
# 現在開いているマップ ドキュメントを取得します。
mxd = arcpy.mapping.MapDocument("current")
# データ ビューの場合はレイアウト ビューに切り替えます。
if not mxd.activeView == "PAGE_LAYOUT":
mxd.activeView = "PAGE_LAYOUT"
# マップに表示されているレイヤーをリスト化します。
layreList = arcpy.mapping.ListLayers(mxd)
nameList = []
for layre in layreList:
if layre.visible == True:
nameList.append(arcpy.Describe(layre).name)
# レイアウトビューに追加されているテキスト エレメントを取得します。
textElement = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT")[0]
# テキスト エレメントの文字サイズを変更します。
textElement.fontSize= 30
# テキスト エレメントにレイヤー名を設定します。
textElement.text = "n".join(nameList)
# マップを再描画します。
arcpy.RefreshActiveView()
免責事項
こちらのサンプルはあくまでもコーディングの見本であり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。なお、コードを実行して生じたいかなる損害についても弊社では責任を負いかねます。
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!