2014-01-06 16 views
0

我目前正在嘗試使用ArcPy映射,目的是自動創建20-30個地圖,而不是逐個手動創建它們。問題是沒有任何反應,並且在我實現代碼時沒有錯誤。我試圖完成以下任務:ArcPy映射:批量符號化圖層並將每個圖層導出爲JPEG(ArcGIS 10.2)

  • 將每個圖層的符號系統設置爲「GRADUATED_COLORS」,並且與我已經可視化的圖層具有相同的符號系統。
  • 讓每個圖層的類別中斷值基於自然間斷。
  • 再後來每次保存爲JPEG

下面是我在ArcMap的10.2 Python窗口這樣的代碼。任何幫助都會很棒。

mxd = arcpy.mapping.MapDocument("CURRENT") 
df = arcpy.ListDataFrames(mxd) [0] 
lyrs = arcpy.mapping.ListLayers(mxd, df) 
lyrFile = arcpy.mapping.Layer("C://Users/Me/Desktop/Fires_Global_ALL/sep03_12_Grid10min_asia.shp") 

lyr文件是我在ArcMap中用我想要的符號系統可視化的文件。

for lyr in lyrs: 
    arcpy.mapping.UpdateLayer(df, lyr, lyrFile) 
arcpy.RefreshActiveView() 
arcpy.RefreshTOC() 

回答

0

兩個問題,我可以看到。\

首先,DF = arcpy.ListDataFrames(MXD)[0]必須arcpy.mapping.ListDataFrames(MXD)[0]

其次也可能是主要問題,arcpy.mapping.ListLayers(MXD,DF)目前正在通過DF作爲通配符,請參閱下面的語法:

ListLayers (map_document_or_layer, {wildcard}, {data_frame}) 

你需要投入額外的空白通配符ARG即arcpy.mappi ng.ListLayers(mxd,「」,df)按預期方式返回數據框中的所有圖層。

請參閱http://resources.arcgis.com/en/help/main/10.2/index.html#//00s30000002n000000

相關問題