NoData(环境设置)

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

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

用法说明

  • 使用 ArcGIS Spatial Analyst extension 时,是使用的首选映射方法。 这将产生与 ArcGIS 先前版本相同的行为。
  • 提升选项是最安全的映射方法,因为 NoData 值永远不会丢失。 然而,提升栅格的像素深度会创建两倍大小的输出。

对话框语法

使用以下 NoData 映射选项:

  • - 将不存在任何 NoData 值规则。 如果输入和输出具有相同的值范围,则将传输 NoData 且不进行任何更改。 但是,如果值范围有所改变,则 NoData 在输出中将没有值。 这是默认方法。
  • 最大值 - 输出数据范围中的最大值可用作 NoData 值。
  • 最小值 - 输出数据范围中的最小值可用作 NoData 值。
  • 向上映射值 - 提升范围中的最低值,且最低值将变为 NoData。 如果数据无符号,零值会变为一、NoData 值将为零,其余值保持不变。 如果数据有符号,则会提升范围中的最低值,且最低值将变为 NoData。 例如,对于 8 位有符号的整型数据,-127 会变为 -126 且 NoData 值将为 -127。
  • 向下映射值 - NoData 值将为数据范围中的最大值,数据范围中的最高值会变为一个较低的值,而其余的值保持不变。 例如,对于 8 位无符号的整型数据,NoData 值将为 255,值 255 会变为 254,其余值保持不变。
  • 提升 - 如果 NoData 值超出了输入的数据范围,输出的像素深度可能会提升到下一个可用级别,NoData 会采用新数据范围内的最大值。 例如,需要将值 256 作为 NoData 的 8 位无符号的整数数据集,将提升到 16 位数据集,并且最大值将变为 NoData。 如果要写入到输出的 NoData 值位于输入的数据范围内,或没有任何 NoData,则不会提升像素深度。

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

脚本语法

arcpy.env.nodata = "mapping_method"

参数说明

nodata

使用以下 NoData 映射选项:

  • NONE - 将不存在任何 NoData 值规则。 如果输入和输出具有相同的值范围,则将传输 NoData 且不进行任何更改。 但是,如果值范围有所改变,则 NoData 在输出中将没有值。 这是默认方法。
  • MAXIMUM - 输出数据范围中的最大值可用作 NoData 值。
  • MINIMUM - 输出数据范围中的最小值可用作 NoData 值。
  • MAP_UP - 提升范围中的最低值,且最低值将成为 NoData。 如果数据无符号,零值会变为一、NoData 值将为零,其余值保持不变。 如果数据有符号,则会提升范围中的最低值,且最低值将变为 NoData。 例如,对于 8 位有符号的整型数据,-127 会变为 -126 且 NoData 值将为 -127。
  • MAP_DOWN - NoData 值是数据范围中的最大值,数据范围中的最高值会变为一个较低的值,而其余的值保持不变。 例如,对于 8 位无符号的整型数据,NoData 值将为 255,值 255 会变为 254,其余值保持不变。
  • PROMOTION - 如果 NoData 值超出了输入的数据范围,输出的像素深度可能会提升到下一个可用级别,NoData 会采用新数据范围内的最大值。 例如,需要将值 256 作为 NoData 的 8 位无符号的整数数据集,将提升到 16 位数据集,并且最大值将变为 NoData。 如果要写入到输出的 NoData 值位于输入的数据范围内,或没有任何 NoData,则不会提升像素深度。

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

nodata 语法

脚本示例

import arcpy

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