大赵传奇

GIS解决方案,webgis , 桌面、数据、服务--QQ276605216

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

 

 

posted on 2020-12-29 11:01  赵长青  阅读(440)  评论(0)    收藏  举报