Render

描述

通过将符号系统应用于引用的栅格数据集来创建渲染的栅格对象。在 Jupyter Notebook 中显示数据时,此函数很有用。

讨论

使用 Render 函数修改栅格对象的显示以改进符号系统。在使用 Jupyter Notebook 工作时,此函数很有用,因为数据显示对 Notebook 环境至关重要。

该函数可创建应用了渲染规则或色彩映射表的栅格对象。必须至少指定一个渲染规则或色彩映射表。

栅格对象的引用栅格数据集是临时的。要将其设置为永久,可以调用栅格对象的 save 方法。

生成的栅格数据集将包含已应用该函数的渲染规则。

语法

Render (in_raster, {rendering_rule}, {colormap})
参数说明数据类型
in_raster

输入栅格数据集。

Raster
rendering_rule

应用于输入栅格的渲染规则。如果未指定色彩映射表,则必须指定渲染规则。

渲染规则可使用以下一种或多种格式:

  • bands - 要映射到 RGB 显示的波段指数列表。

    例如,要为 Landsat 8 影像创建自然色合成图,其中波段 4 显示为红色,波段 3 显示为绿色,波段 2 显示为蓝色,请使用 {'bands': [4, 3, 2]}

  • minmax - 用于对栅格执行线性拉伸的值的范围。最小值和最大值将用作直方图拉伸的端点,且这些值可以是单个输入或值列表(每波段一对)。

    例如,要对单波段栅格执行从像素值 0 到 100 的线性拉伸,请使用 {'min': 0, 'max': 100}。要对三波段影像执行线性拉伸,并将每个影像从像素值 0 拉伸到不同的最大像素值,请使用 {'min': 0, 'max': [220,210,180]}

  • numberOfStandardDeviations - 描述将用于线性拉伸的标准差数的单个值。拉伸将应用在最小像素值和最大像素值之间,这些值将由与平均值的标准差数进行定义。

    例如,要执行线性拉伸以移除与平均值的标准差超过两个的任何像素值,请使用 {'numberOfStandardDeviations': 2}

  • gamma - 定义应用于控制栅格显示整体亮度的 Gamma 校正量的单个值或值列表(每波段一个)。此外,Gamma 还会影响显示中红色、绿色和蓝色的比率。

    例如,要执行 0.5 的 Gamma 拉伸,请使用 {'gamma': 0.5}。要对三波段栅格执行多种 Gamma 拉伸,请使用 {'gamma': [0.5, 2, 1.5]}

  • rft - 栅格函数模板 (.rft.xml) 的路径,其中拉伸由栅格函数链进行定义;例如 {'rft': r"C:\StretchFunctions\Remap_and_Stretch.rft.xml"}

Dictionary
colormap

定义用于渲染的颜色。如果未指定渲染规则,则必须指定色彩映射表。

该参数必须使用以下格式之一:

  • ArcGIS Pro 中受支持的色彩映射表或配色方案的名称;例如 colormap="Red to Green"。有关受支持配色方案的完整列表,请下载 ArcGIS_Pro_ColorSchemes.pdf PDF 文档。
  • 十六进制颜色代码和/或已命名颜色的列表。共有 16 种受支持的已命名颜色:
    • aqua
    • black
    • blue
    • fuchsia
    • gray
    • green
    • lime
    • maroon
    • navy
    • olive
    • purple
    • red
    • silver
    • teal
    • white
    • yellow

    例如,["#B0C4DE", "blue", "navy"]

  • 含以下键值对的字典:
    • "values": [<pixel_value1>, <pixel_value2>, ... ]
    • "colors": ["<color1>", "<color2", ... ]
    • "labels": ["<label1>", "<label2>", ... ]

    例如,{"values": [11, 21, 30], "colors": ["#B0C4DE", "green", "gray"], "labels": ["water", "vegetation", "urban"]}

String
返回值
数据类型说明
Raster

输出已渲染栅格对象。

代码示例

Render 示例 1

使用线性拉伸和 NDVI 配色方案渲染单波段 NDVI 栅格。

import arcpy
from arcpy.ia import *

arcpy.CheckOutExtension("ImageAnalyst")

# Set input raster
in_Raster = arcpy.Raster(r"C:\Data\NDVI_Raster.tif")

# Render the raster with a linear stretch and the NDVI color scheme
rendered_raster = arcpy.ia.Render(inRaster, rendering_rule=
	{'min': 0, 'max': 0.8}, colormap='NDVI')
rendered_raster
Render 示例 2

使用已应用的拉伸以及每个波段的 Gamma 拉伸来渲染多波段 Landsat 7 影像伪彩色。

import arcpy
from arcpy.ia import *

arcpy.CheckOutExtension("ImageAnalyst")

# Set input raster
in_Raster = arcpy.Raster(r"C:\Data\Landsat7.tif")

# Render the Landsat 7 image in false color composite
# Include a linear standard deviation stretch, and a gamma stretch for each band
rendered_raster = arcpy.ia.Render(inRaster, rendering_rule=
	{'bands': [4,3,2], 'numberOfStandardDeviations': 2, 'gamma': [1,1.7,1.2]})
rendered_raster
Render 示例 3

使用自定义色彩映射表来渲染分类土地覆被栅格。

import arcpy
from arcpy.ia import *

arcpy.CheckOutExtension("ImageAnalyst")

# Set input raster
in_Raster = arcpy.Raster(r"C:\Data\Landcover.tif")

# Render the landcover dataset with a custom color map
rendered_raster = arcpy.ia.Render(inRaster, colormap=
	{"values": [11,21,31], "colors": ["#486DA2",  "gray",  "green"],
	"labels":["water", "urban", "forest"]})

rendered_raster
Render 示例 4

使用栅格函数模板和色彩映射表来渲染多维栅格。

import arcpy
from arcpy.ia import *

arcpy.CheckOutExtension("ImageAnalyst")

# Set input multidimensional raster
in_Raster = arcpy.Raster(r"C:\Data\Landsat8_Time_Series.crf", True)

# Render each slice in the imagery time series data with a stretched 
# Normalized Difference Water Index described in a raster function template
rendered_raster = arcpy.ia.Render(inRaster, rendering_rule=
	{'rft': r"C:\Data\NDWI.rft.xml"}, colormap="Red to Green")

rendered_raster