Skip to main content

NoData (环境设置)

支持 NoData 环境的工具将仅处理其中 NoData 值有效的栅格。

当必须将来自输入的 NoData 值传递到输出栅格时,可使用此环境。 可以通过该设置指定在输出中用作 NoData 值的值。

用法说明

  • 使用 ArcGIS Spatial Analyst 扩展模块时,首选的映射方法是。 这产生的行为与 ArcGIS 之前的版本相同。

  • 提升选项是最安全的映射方法,因为 NoData 值永远不会丢失。 然而,提升栅格的像素深度会创建两倍大小的输出。

对话框语法

使用以下 NoData 映射选项:

  • —将不存在任何 NoData 值规则。 如果输入和输出具有相同的值范围,则将传输 NoData 值且不进行任何更改。 但是,如果值范围有所改变,则 NoData 在输出中将没有值。 这是默认方法。

  • 最大值—输出数据范围中的最大值将用作 NoData 值。

  • 最小值—输出数据范围中的最小值将用作 NoData 值。

  • 向上映射值—提升范围中的最低值,且最低值将变为 NoData。 如果数据无符号,零值将变为一,NoData 值将为零,其余值保持不变。 如果数据有符号,会提升范围中的最低值,且最低值将变为 NoData。 例如,对于 8 位有符号的整数数据,-127 会变为 -126 且 NoData 值将为 -127。

  • 向下映射值—NoData 值将为数据范围中的最大值,数据范围中的最高值将减 1,而其余的值保持不变。 例如,对于 8 位无符号的整型数据,NoData 值将为 255,值 255 会变为 254,其余值保持不变。

  • 提升—如果 NoData 值超出输入的数据范围,则像素深度会提升到下一个可用级别,且 NoData 值将为已指定的值。 例如,需要 256 作为 NoData 的 8 位无符号整型数据集会提升为 16 位数据集,且 256 会变为 NoData 值。 如果指定的 NoData 值位于输入数据范围内,则不会提升输出的像素深度。

Python 语法

arcpy.env.nodata = mapping_method

名称 说明

mapping_method

指定将使用的 NoData 映射选项。

  • NONE将不会设置任何 NoData 值规则。 如果输入和输出具有相同的值范围,则将传输 NoData 值且不进行任何更改。 但是,如果值范围有所改变,则 NoData 在输出中将没有值。 这是默认方法。

  • MAXIMUM输出数据范围中的最大值可用作 NoData 值。

  • MINIMUM输出数据范围中的最小值可用作 NoData 值。

  • MAP_UP提升范围中的最低值,且最低值将成为 NoData。 如果数据无符号,零值会变为一、NoData 值将为零,其余值保持不变。 如果数据有符号,会提升范围中的最低值,且最低值将变为 NoData。 例如,对于 8 位有符号的整数数据,-127 会变为 -126 且 NoData 值将为 -127。

  • MAP_DOWNNoData 值将为数据范围中的最大值,数据范围中的最高值将减 1,而其余的值保持不变。 例如,对于 8 位无符号的整型数据,NoData 值将为 255,值 255 会变为 254,其余值保持不变。

  • PROMOTION如果 NoData 值超出输入的数据范围,则像素深度会提升到下一个可用级别,且 NoData 值将为已指定的值。 例如,需要 256 作为 NoData 的 8 位无符号整型数据集会提升为 16 位数据集,且 256 会变为 NoData 值。 如果指定的 NoData 值位于输入数据范围内,则不会提升输出的像素深度。

脚本语法

import arcpy

# Set the nodata mapping method environment to promote the value
arcpy.env.nodata = "PROMOTION"