NoData (Environment setting)

Tools that honor the NoData environment will only process rasters in which the NoData value is valid.

Use this environment when the NoData value from the input must be transferred to the output raster. This setting allows you to specify the value you use as the NoData value in the output.

Usage notes

  • When using the ArcGIS Spatial Analyst extension, None is the preferred mapping method to use. This produces the same behavior as previous versions of ArcGIS.
  • The Promotion option is the safest mapping method, since the NoData value will never be lost. However, promoting the pixel depth of a raster will create an output that is twice as large in size.

Dialog syntax

The following NoData mapping options are used:

  • None—There will be no NoData value rules in place. If the input and the output have the same value range, the NoData value will be transferred over with no changes. However, if the value range changes, NoData will have no value in the output. This is the default method.
  • Maximum—The maximum value in the output data range will be used as the NoData value.
  • Minimum—The minimum value in the output data range will be used as the NoData value.
  • Map values up—The lowest value in the range will be promoted and the lowest will become NoData. If the data is unsigned, the value of zero will become one, the NoData value will be zero, and the other values remain the same. If the data is signed, the lowest value in the range will be promoted and the lowest will become NoData. For example, with 8-bit signed integer data, -127 will become -126, and the NoData value will be -127.
  • Map values down—The NoData value will be the maximum value in the data range, the highest value of the data range will become one value less, and the other values remain the same. For example, with 8-bit unsigned integer data, the NoData value will be 255, the value of 255 will become 254, and the other values will remain the same.
  • Promotion—If there is a NoData value outside the input's data range, the pixel depth of the output will be promoted to the next available level, and NoData will take the maximum value in the new data range. For example, an 8-bit unsigned integer dataset that requires the 256 value to be NoData will be promoted to a 16-bit dataset and the maximum value will become NoData. If there is a NoData value within the input's data range to be written to the output or if there isn't any NoData, the pixel depth will not be promoted.

    If there is a NoData value outside the input's data range, the pixel depth will be promoted to the next available level, and the NoData value will be the one specified. For example, an 8-bit unsigned integer dataset that requires 256 as NoData will be promoted to a 16-bit dataset and 256 becomes the NoData value. If the NoData value specified is within the input's data range, the pixel depth will not be promoted for the output.

Scripting syntax

arcpy.env.nodata = "mapping_method"

ParametersExplanation

nodata

The following NoData mapping options are used:

  • NONE—There will be no NoData value rules in place. If the input and the output have the same value range, the NoData value will be transferred over with no changes. However, if the value range changes, NoData will have no value in the output. This is the default method.
  • MAXIMUM—The maximum value in the output data range will be used as the NoData value.
  • MINIMUM—The minimum value in the output data range will be used as the NoData value.
  • MAP_UP—The lowest value in the range will be promoted and the lowest will become NoData. If the data is unsigned, the value of zero will become one, the NoData value will be zero, and the other values remain the same. If the data is signed, the lowest value in the range will be promoted and the lowest will become NoData. For example, with 8-bit signed integer data, -127 will become -126, and the NoData value will be -127.
  • MAP_DOWN—The NoData value will be the maximum value in the data range, the highest value of the data range will become one value less, and the other values remain the same. For example, with 8-bit unsigned integer data, the NoData value will be 255, the value of 255 will become 254, and the other values will remain the same.
  • PROMOTION—If there is a NoData value outside the input's data range, the pixel depth of the output will be promoted to the next available level, and NoData will take the maximum value in the new data range. For example, an 8-bit unsigned integer dataset that requires the 256 value to be NoData will be promoted to a 16-bit dataset and the maximum value will become NoData. If there is a NoData value within the input's data range to be written to the output or if there isn't any NoData, the pixel depth will not be promoted.

    If there is a NoData value outside the input's data range, the pixel depth will be promoted to the next available level, and the NoData value will be the one specified. For example, an 8-bit unsigned integer dataset that requires 256 as NoData will be promoted to a 16-bit dataset and 256 becomes the NoData value. If the NoData value specified is within the input's data range, the pixel depth will not be promoted for the output.

nodata syntax

Script example

import arcpy

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

Related topics