ArcPy Mapping:批量符号化图层并将每个图层导出为JPEG(ArcGIS 10.2)

时间:2014-01-06 16:43:36

标签: python mapping arcgis arcpy arcmap

我目前正在尝试使用ArcPy映射,意图自动创建20 - 30个地图,而不是逐个手动创建。问题是没有任何反应,并且在实现代码时不会产生任何错误。我正在努力完成以下任务:

  • 将每个图层的符号系统设置为“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()

1 个答案:

答案 0 :(得分: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.mapping.ListLayers(mxd,“”,df),以按预期返回数据帧中的所有图层。

请参阅http://resources.arcgis.com/en/help/main/10.2/index.html#//00s30000002n000000