データドリブンページ(DDP)を使用して、範囲が同じでレイヤーが異なるマップのセットを作成しますか?


9

ArcMapまたはArcPyのデータドリブンページ(DDP)ツールを使用して、範囲が同じでレイヤーが異なるマップのセットを作成することはできますか?

明確にするために、プロジェクトのマップの大規模なセットを定期的にすべて同じ場所に同じベースレイヤーで作成しますが、場所の監視、土地利用、主要な機能など、レポートの関連セクションのさまざまな側面に焦点を合わせるように変更しました。別個の.mxdsを作成して維持する必要があります。

DDPタイプシステムを使用すると、ダイナミックテキストを利用して標準のテンプレート/出力を全体にわたって確保できます。また、レポートが複数の.mxdではなく1つの.mxdで記述されるため、一般的な図の番号やコメントを更新するときにも非常に簡単になります。クライアント。

私はArcMap 10.1を使用していますが、ArcGIS DDPオンラインヘルプを読んでいるので、ArcMap内での実行方法を理解できなかったため、ArcPyでこれを行う必要があると思います。私はQGISにAtlasプラグインがあることを知っていますが、その機能についてはあまり詳しくありませんが、代替として喜んで使用します。


1
あなたが探しているのは、arcpy.mappingツールセットを使用して、Pythonでマップドキュメントの変更をスクリプト化することだと思います。完全なマップブックの作成に関するリファレンスを参照してください。具体的には、ドキュメント内の「シンプルリファレンスシリーズマップブック」を参照してください。
RyanKDalton 2013

回答:


4

擬似コードでの私の考えは次のとおりです。MapDocument、ListDataFrames、ListLayersの順に取得します。次に、レイヤーを反復処理し、レイヤーのVisibilityプロパティをオン、ExportToPDF(またはその他)に切り替えてから、Visibilityを再度オフに切り替えて、次のレイヤーに移動する必要があります。特定のレイヤーをベースレイヤーとして残したい場合は、マップごとに変更するレイヤーをグループ化し、IsGroupLayer = True?多分誰かが実際のコード例を持っています...


私はこれに対する組み込みのArcソリューションを見つけたことがありませんでしたが、同僚はあなたが提案する基本的な構造に従うプロセスのためのpythonスクリプトを開発しました。スクリプトはグループを使用してPDFに新しいページを作成し、DDPと組み合わせて複数のサイトの一連のマップを含むマップブックを作成できます。
MAJ742 2014年

5

コードフリーの方法

データドリブンページをオンにすると、ページ番号に依存する定義クエリを指定できます。単にそのクエリを使用して、表示したくないレイヤーからすべてのフィーチャを非表示にします。

  1. マップフレームを同じ場所に設定しますが、ページ番号のフィールドを使用します。名前フィールドとしてページ番号を使用して、データ駆動型ページをセットアップします。
  2. 特定のページでレイヤーをオンにする場合は、そのページに「ページ」属性を追加し、関連するページ番号を設定します。
  3. 新しく作成したフィールドを使用して、ページ定義クエリを特定のレイヤーに追加します。

ページが選択されると、ページ定義クエリに基づいて目的のレイヤーが表示されます。


2
ページ定義クエリはいくつかのケースでうまくいくと思いますが、問題は、データテーブルの各属性に関連するページ番号を追加する必要があり、1つしか参照できないため、同じ機能を複数のページに表示できないことです一度に1ページ
MAJ742 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.