Render

此 ArcGIS 2.6 文档已 存档,并且不再对其进行更新。 其中的内容和链接可能已过期。 请参阅最新文档

获得 Image Analyst 许可后可用。

描述

通过将符号系统应用于引用的栅格数据集来创建渲染的栅格对象。在 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 Blue")

rendered_raster