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



我目前正在尝试使用 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()

我能看到的两个问题。

首先,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 ie arcpy.mapping.ListLayers(mxd, ", df),以按预期返回数据帧中的所有图层。

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

最新更新