mxd使用分级渲染,
lyr.symbologyType =‘’
#coding=utf-8 import arcpy mxd = arcpy.mapping.MapDocument(ur"xxx10.2.mxd") copied_mxd = ur"E:xxxx0.2b.mxd" # for lyr in arcpy.mapping.ListLayers(mxd): # print lyr.name,lyr.longName print "Loading mxd file default dataframes..." df = "" try: frames = arcpy.mapping.ListDataFrames(mxd, "图层") if len(frames) == 0: frames = arcpy.mapping.ListDataFrames(mxd, "Layers") df = frames[0] except Exception, e: print "load mxd file default dataframes failed:", e # lyr = arcpy.mapping.ListLayers(mxd, "到最近xxx距离", df)[0] # print lyr.symbologyType # for lyr in arcpy.mapping.ListLayers(mxd, "", df): # print lyr.symbologyType,lyr.symbology.valueField breaks=[] labels=[] for lyr in arcpy.mapping.ListLayers(mxd, "", df): # print lyr.symbology.classBreakValues if 0.0 == lyr.symbology.classBreakValues[0] and 0.0 == lyr.symbology.classBreakValues[1]: #print lyr.symbology.classBreakValues #print lyr breaks=lyr.symbology.classBreakValues breaks.remove(breaks[1]) lyr.symbology.classBreakValues = breaks labels=lyr.symbology.classBreakLabels for i in range(len(labels)): if '.000000 - ' in labels[i] or '0.000000 - ' in labels[i]: #print labels[i] labels[i]=labels[i].replace('0.000000','0').replace('.000000','0') lyr.symbology.classBreakLabels=labels mxd.saveACopy(copied_mxd) del mxd