ArcGIS 10 で スクリプト言語であるPython の機能が拡張され、マッピング操作(mapping モジュール)をサポートするようになりました。ArcGIS 10 の Pythonコードを使用すれば、お手持ちのマップを PDF にエクスポートし、それに任意の表紙をつけることが可能です。ArcMapで作成した地図をPDFに出力できることは、みなさんご存知の機能かもしれませんが、それに表紙をつけることができるようになりました。これでマップを他のユーザと共有したり、プレゼンテーション ツールとして使用したり、もっとArcMapを活用することができます。
事前準備:表紙として使用するPDFファイル(Title.pdf)
※ PDFファイルはセキュリティ制限がないものをご利用ください。
以下のマップを表紙つきPDFに出力します。
Pythonウィンドウでの記述
現在のマップをPDFにエクスポートした後、表紙とマージして1枚のPDFを作成する例
import arcpy,os mxd = arcpy.mapping.MapDocument("CURRENT") arcpy.mapping.ExportToPDF(mxd,r"C:Projectdist.pdf") pdfPath = r"C:ProjectOutMapBook.pdf" pdfDoc = arcpy.mapping.PDFDocumentCreate(pdfPath) pdfDoc.appendPages(r"C:ProjectTitle.pdf") pdfDoc.appendPages(r"C:Projectdist.pdf") pdfDoc.saveAndClose() del pdfDoc del mxd
Pythonスクリプトでの記述
# -*- coding: cp932 -*- import arcpy,os #ファイル名の設定とすでに存在する場合は PDF を削除 pdfPath = r"C:ProjectOutMapBook.pdf" if os.path.exists(pdfPath): os.remove(pdfPath) #マップ ドキュメントから PDF を作成 mxd = arcpy.mapping.MapDocument(r"C:ProjectMap.mxd") arcpy.mapping.ExportToPDF(mxd,r"C:Projectdist.pdf") #ファイルの作成とページの適用 pdfDoc = arcpy.mapping.PDFDocumentCreate(pdfPath) pdfDoc.appendPages(r"C:ProjectTitle.pdf") pdfDoc.appendPages(r"C:Projectdist.pdf") #保存と変数の削除 pdfDoc.saveAndClose() del pdfDoc del mxd
上記コードを使用して以下のような表紙つきPDFが簡単に作成できます。ぜひ皆さんご活用ください。
参考ヘルプ:※一部英語のままですのでご了承ください。
・MapDocument(mapping モジュール)
・PDFDocument(mapping モジュール)
・ExportToPDF(mapping モジュール)
[注意事項]
本Python コードは、サンプルとして提供しておりますのでサポート対象外となります。従って、サンプルプログラムに関するご質問はお受けできません。
また、本サンプルを使用して生じたいかなる障害についても、弊社では責任を負いかねますことを予めご了承願います。
■関連リンク
・Python コード例(その2):時系列マップをPDF に出力する方法
・Python コード例(その3):フィールド演算を使用して昇順で ID を割り当てる方法
・Python コード例(その4):ArcPy で Geometry オブジェクトを使用する方法
・Python コード例(その5):ModelBuilder で Python の “If 文” を使用する