Skip to main content

RasterStretchColorizer

汇总

表示栅格拉伸着色器。

讨论

栅格拉伸着色器沿色带拉伸值。这些属性的行为类似于应用程序中显示的选项。例如,更改 StretchType 将控制可以修改的附加参数子集。

属性

名称 说明 数据类型

band

(读取和写入)

一个整数,表示与波段在 符号系统 窗格中显示顺序相符的从零开始的索引。最顶部的波段为索引 0,最底部的波段为索引 n-1。

Integer

colorRamp

(读取和写入)

提供对 ColorRamp 对象的访问权限。

ColorRamp

gamma

(读取和写入)

一个双精度值,表示 gamma 值。

Double

invertColorRamp

(读取和写入)

一个布尔值,用于反转色带的外观。

Boolean

maxLabel

(读取和写入)

一个字符串,表示显示在 内容 窗格或图例中的栅格拉伸最大标注。

String

maxPercent

(读取和写入)

一个双精度值,表示要从源数据中剪切的最高百分比值。仅当将 StretchType 设置为 MinimumMaximum 时才会应用此参数。

Double

minLabel

(读取和写入)

一个字符串,表示显示在 内容 窗格或图例中的栅格拉伸最小标注。

String

minPercent

(读取和写入)

一个双精度值,表示要从源数据中剪切的最低百分比值。仅当将 StretchType 设置为 MinimumMaximum 时才会应用此参数。

Double

standardDeviation

(读取和写入)

一个双精度值,表示标准差值。仅当将 StretchType 设置为 StandardDeviation 时才会应用此参数。

Double

stretchType

(读取和写入)

一个字符串,表示有效的拉伸算法。有效值如下:

  • Custom—使用自定义直方图显示值。

  • Esri—将极高值和极低值的影响降至最低时,突出显示中等值的对比。

  • HistogramEqualize—使用直方图均衡化显示值。

  • HistogramSpecification—使用直方图规定化显示值。

  • MinimumMaximum—显示实际最小值和最大值之间的值。

  • None—显示潜在最小值和最大值之间的值。

  • PercentClip—去掉最高值和最低值的百分比。

  • StandardDeviation—显示指定数量标准差之间的值。

String

type

(只读)

返回表示着色器类型的字符串。

String

代码示例

RasterStretchColorizer 示例

以下脚本首先测试图层的符号系统是否支持 colorizer 属性,然后确认渲染器是否为 RasterStretchColorizer 。接下来,该脚本会将 stretchType 更改为 PercentClip 并设置适当的最小/最大百分比。最后,将 ColorRamp 更改为名为 Bathymetry #2 的色带。

p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('RasterStretch')[0]

for l in m.listLayers():
  if l.isRasterLayer:
    sym = l.symbology
    if hasattr(sym, 'colorizer'):
      if sym.colorizer.type == 'RasterStretchColorizer':

        #Set StretchType = PercentClip
        if l.name == "Photo_SE":
          sym.colorizer.stretchType = "PercentClip"
          sym.colorizer.minPercent = 1.0
          sym.colorizer.maxPercent = 1.0
          cr = p.listColorRamps('Bathymetry #2')[0]
          sym.colorizer.colorRamp = cr
          sym.colorizer.invertColorRamp = True
          sym.colorizer.gamma = 2
          sym.colorizer.minLabel = "Min: " + sym.colorizer.minLabel
          sym.colorizer.maxLabel = "Max: " + sym.colorizer.maxLabel

          l.symbology = sym