<\/HEAD>
ArcMap 内からのフィーチャの PDF エクスポートと、スタンドアロンの python プログラムを使った場合で違いが出ています。基本的には、レイヤーからフィーチャを選択し、選択範囲にズームし、データフレームのスケールを変更し、PAGE_LAYOUT ビューから画像を PDF にエクスポートするという非常にシンプルな操作です。<\/P>
<\/P>
問題は ArcMap 内ではすべて正常に動作していることです。ページレイアウトビューではすべて期待通りに見え、エクスポート後も問題ありません。<\/P>
<\/P>
これを自動化しようとしてスタンドアロンの python プログラムを作成したところ、エクスポートは想定通りに行われるものの、スケールが約 200.0 ずれてしまいます。<\/P>
<\/P>
以下は私のコードの一部です:<\/P>
<\/P>
mxd = arcpy.mapping.MapDocument("C:\\Path\\To\\MxdFile.mxd")
dataFrames = arcpy.mapping.ListDataFrames(mxd)
df = dataFrames[0]
layers = arcpy.mapping.ListLayers(mxd, "*", df)
for layer in layers:
if layer.name == "LayerIWantToUse":
break
if layer.name != "LayerIWantToUse":
raise Exception("レイヤーが見つかりません。")
arcpy.SelectLayerByAttribute_management(layer, "CLEAR_SELECTION")
query = "OBJECTID = 1"
layer.definitionQuery = query
arcpy.SelectLayerByAttribute_management(layer,"NEW_SELECTION", query)
df.zoomToSelectedFeatures();
df.scale = 2400.0
fileName = r"Python_2400.pdf")
arcpy.mapping.ExportToPDF(mxd, fileName, "PAGE_LAYOUT", 1056, 1632)
<\/SPAN><\/PRE><\/P>実際にエクスポートされるスケールは、想定されている 1:2400 ではなく 1:2200 のように見えます。違いを示すために両方の画像を添付しました。<\/P><\/P>MXD を異なるスケール(例えば 1:100000)で保存し、ArcMap を「Data View」にしているとスケールの問題が発生することに気づきました。「Layout View」を選択し、スケールを 1:2400 に変更して MXD を保存すると、スケールの問題は発生しません。<\/P><\/P>この件については多くのフォーラム投稿を見ましたが、中には 10.1 で修正されるべきバグだと言う人もいますが、なぜスケールの問題が起こるのかについて明確な説明はありません。<\/P>同じような経験をされた方はいらっしゃいますか?<\/P><\/BODY><\/HTML>