简单符号系统
读取某一要素,为简单符号;改变其颜色、轮廓和尺寸
import arcpy.mp as map
try:
aprx = map.ArcGISProject("CURRENT")
for m in aprx.listMaps("Map"):
for lyr in m.listLayers("Parcels"):
if lyr.isFeatureLayer:
sym = lyr.symbology
#按名称设置
sym.renderer.symbol.applySymbolFromGallery("机场跑道")
#改变颜色
sym.renderer.symbol.color ={'RGB': [255, 255, 190, 25]}
#轮廓颜色
sym.renderer.symbol.outlineColor ={'CMYK': [25, 50, 75, 25, 100]}
#尺寸
sym.renderer.symbol.size = 1.0
lyr.symbology = sym
except Exception as e:
print("Error: " + e.args[0])
渐变符号系统
1,列出工程已有的色带
aprx = arcpy.mp.ArcGISProject('CURRENT')
#列出色带名称
for cr in aprx.listColorRamps():
print(cr.name)
2,设置分级色彩
import arcpy.mp as map
try:
aprx=map.ArcGISProject("CURRENT")
for m in aprx.listMaps("Map"):
for lyr in m.listLayers("Parcels"):
if lyr.isFeatureLayer:
sym=lyr.symbology
#设置渲染器
sym.updateRenderer("GraduatedColorsRenderer")
#渲染字段
sym.renderer.classificationField = 'ACRES'
#分类方法
sym.renderer.classificationMethod ='NaturalBreaks'
#类数
sym.renderer.breakCount = 5
sym.renderer.colorRamp =aprx.listColorRamps("热点图:深品红-黄")[0]
lyr.symbology = sym
except Exception as e:
print("ERROE:"+e.arg[0])
唯一值符号系统
import arcpy.mp as map
try:
aprx=map.ArcGISProject("CURRENT")
for m in aprx.listMaps("Streets and Railroads"):
for lyr in m.listLayers("Street_Centerlines"):
if lyr.isFeatureLayer:
sym=lyr.symbology
#设置渲染器
sym.updateRenderer("UniqueValueRenderer")
#渲染字段
sym.renderer.fields = ['Condition']
#读取每个字段,赋予不同的颜色
for grp in sym.renderer.groups:
for itm in grp.items:
if itm.label == "Poor":
itm.symbol.color = {"RGB":[255, 0, 0, 100]}
elif itm.label == "Fair":
itm.symbol.color = {"RGB":[0, 92, 230, 100]}
elif itm.label == "Good":
itm.symbol.color = {"RGB":[38, 115, 0, 100]}
lyr.symbology = sym
except Exception as e:
print("ERROE:"+e.arg[0])
版权声明:本文为xza13155原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。