描述
RasterClassBreak 类表示可用于 RasterClassifyColorizer 类的栅格类间断点。
讨论
它提供对各个类间断点属性(例如 label 和 color)的访问权限。
color 属性将返回一个 Python 字典。字典拥有与颜色模型名称匹配的单个键,且其值为颜色属性列表。例如,{'RGB' : [255, 0, 0, 100]} 为红色的 RGB 制图表达。属性根据颜色模型变化。所有颜色模型的最后一个参数是 alpha 或不透明度值。alpha 或不透明度值的行为与应用程序用户界面中的透明度值的行为相反。如果在字典中将该值设为 100,则其会在功能区的透明度控件中或在符号系统窗格中显示为 0%。
您可以读取所有受支持颜色模型的值,但只能修改一个子集。以下是受支持的颜色模型列表:
- {'CMYK' : [Cyan, Magenta, Yellow, Black, Alpha]} - 读/写
- {'HSL' : [Hue, Saturation, Lightness, Alpha]} - 读/写
- {'HSV' : [Hue, Saturation, Value, Alpha]} - 读/写
- {'RGB' : [Red, Green, Blue, Alpha]} - 读/写
- {'Lab' : [Lightness, a, b, Alpha]} - 只读
- {'Grayscale' : [Gray, Alpha]} - 只读
属性
属性 | 说明 | 数据类型 |
color (可读写) | 使用 Python 字典获取并设置类间断点的颜色。 | Dictionary |
description (可读写) | 获取并设置分类间隔的描述。 | String |
label (可读写) | 获取并设置分类间隔的标注。 | String |
upperBound (可读写) | 获取并设置分类间隔的最大值。 | Double |
代码示例
以下脚本用于对使用栅格分类着色器的栅格图层的符号系统进行修改。它设置 classificationField、breakCount 和 noDataColor。接下来,它遍历每个栅格类间断点,并修改 upperBound、label、description 和 color 属性。每个间断点的标签都被格式化为包含小于或等于符号和千位分隔符。每个栅格类间断点的 HSV 颜色均以均匀间隔递增。
# -*- coding: utf-8 -*-
import arcpy
import os
import sys
import locale
relpath = os.path.dirname(sys.argv[0])
p = arcpy.mp.ArcGISProject(relpath + r'\\RasterClassify.aprx')
m = p.listMaps('Map')[0]
l = m.listLayers('Raster1')[0]
sym = l.symbology
sym.colorizer.classificationField = "Value"
sym.colorizer.breakCount = 5
sym.colorizer.noDataColor = {'RGB': [255, 255, 255, 100]}
breakVal = 50
cv = 0
for brk in sym.colorizer.classBreaks:
brk.upperBound = breakVal
brk.label = "\u2264" + str(locale.format("%d", breakVal, grouping=True))
brk.description = "Description " + str(cv)
brk.color = {'HSV' : [cv, cv, cv, 100]}
breakVal +=50
cv += 40
l.symbology = sym
p.saveACopy(relpath + r'\\SavedOutput.aprx')