方法

複数のデータ フレームがあるマップ ドキュメントでデータ ドリブン ページを使用してエクスポート

Last Published: July 11, 2020

サマリー

データ ドリブン ページでは、インデックス レイヤーを使用して各ページのデータ フレームの範囲を決定する必要があります。 フィーチャ レイヤーに応じて、範囲の定義に使用するマップのどのレイヤーでもインデックス レイヤーにすることができます。 データ ドリブン ページの機能をさらに強化して、arcpy.mapping モジュールを使ったエクスポートや、複数のデータ フレームを含むマップ ドキュメントでの使用を可能にすることができます。

この記事では、複数のデータ フレームがあるデータ ドリブン ページを使用してエクスポートする手順を説明します。

手順

  1. 必要なモジュールをインポートします。
import os import arcpy from arcpy import mapping
  1. レイヤーとデータ フレームを含むマップ ドキュメントを指定します。
mxd = arcpy.mapping.MapDocument("CURRENT") masterFrame = arcpy.mapping.ListDataFrames(mxd)[0] Frame2 = arcpy.mapping.ListDataFrames(mxd)[1] Frame3 = arcpy.mapping.ListDataFrames(mxd)[2]
  1. ページ数を表示します。
print mxd.dataDrivenPages.pageCount
  1. 利用できるすべてのフレームを移動するループを作成して、ページを目的の場所にエクスポートします。 また、このコード セグメントはフレームの範囲をマスターフレームの範囲に設定します。
for pageNum in range(1, mxd.dataDrivenPages.pageCount): mxd.dataDrivenPages.currentPageID = pageNum + 1 Frame2.extent = masterFrame.extent Frame3.extent = masterFrame.extent mxd.dataDrivenPages.currentPageID = pageNum print pageNum OutF = os.path.join("<folder_location>" ,str(pageNum) + ".pdf" ) arcpy.mapping.ExportToPDF(mxd, OutF)
注意: フレームの範囲はマスターの範囲をコピーするように設定されているため、表示するデータ フレームのマップと同じ範囲でデータが利用できるようにする必要があります。

以下に、完全なコードを示します。

import os import arcpy from arcpy import mapping mxd = arcpy.mapping.MapDocument("CURRENT") masterFrame = arcpy.mapping.ListDataFrames(mxd)[0] Frame2 = arcpy.mapping.ListDataFrames(mxd)[1] Frame3 = arcpy.mapping.ListDataFrames(mxd)[2] print mxd.dataDrivenPages.pageCount for pageNum in range(1, mxd.dataDrivenPages.pageCount): mxd.dataDrivenPages.currentPageID = pageNum + 1 Frame2.extent = masterFrame.extent Frame3.extent = masterFrame.extent mxd.dataDrivenPages.currentPageID = pageNum print pageNum OutF = os.path.join("C:/temp" ,str(pageNum) + ".pdf" ) arcpy.mapping.ExportToPDF(mxd, OutF)

記事 ID: 000022852

AI によるサポートを受ける

Esri サポート AI チャットボットを使用して問題を迅速に解決します。

今すぐチャットを開始

関連情報

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

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

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

今すぐチャットを開始

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