InList (Image Analyst)

Available with Spatial Analyst license.

Available with Image Analyst license.

Summary

Determines which values from the first input are contained in a set of other inputs, on a cell-by-cell basis.

For each cell, if the value of the first input raster is found in any of the list of other inputs, that value will be assigned to the output raster. If it is not found, the output cell will be NoData.

Illustration

InList illustration
OutRas = InList(InRas1,[0, 2, 3, 7])

Usage

  • If all of the inputs are integer, the output raster will be integer. If any of the inputs are floating point, the output will be floating point.

  • In the list of input rasters, the order is not relevant to the outcome of this tool.

  • If the Process as multiband parameter is unchecked (process_as_multiband is set to SINGLE_BAND in Python), only the first band of a multiband Input raster or constant value (input_raster_or_constant in Python) will be used. Each band from a multiband Input rasters or constant values (in_rasters_or_constants in Python) will be processed separately as a single band raster.

  • If the Process as multiband parameter is checked (process_as_multiband is set to MULTI_BAND in Python), each multiband raster input will be processed as a multiband raster.

    The number of bands in the output depends on the Input raster or constant value parameter. If the input raster is a single band or a constant, the number of bands in the output raster will be the same as the maximum number of bands of all multiband rasters from the Input rasters or constant values. If the input raster is a multiband, the output raster will have the same number of bands as the input raster.

    If any of the Input rasters or constant values is a raster with a smaller number of bands than the output raster, the missing bands will be interpreted as a band filled with NoData. If any of the entries in the input list is a constant, it will be interpreted as a multiband raster in which the cell values of all bands are the same as the constant and have the same number of bands as the output raster.

Parameters

LabelExplanationData Type
Input raster or constant value

The input that defines the value that will be looked for in a list of rasters on a cell-by-cell basis.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
Input raster or constant values

A list of input rasters that the first input will be evaluated against. For each location, if the cell value from the first input exists in any of the other rasters, that value will be assigned to the output raster. If the value does not exist in any of the other rasters, the output value at that location will be NoData.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
Process as multiband
(Optional)

Specifies how the input multiband raster bands will be processed.

  • Unchecked—Each band from a multiband raster input will be processed separately as a single band raster. This is the default.
  • Checked—Each multiband raster input will be processed as a multiband raster. The operation will be performed for each band from one input using the corresponding band number from the other inputs.
Boolean

Return Value

LabelExplanationData Type
Output raster

The output raster.

Raster

InList(in_raster_or_constant, in_raster_or_constants, {process_as_multiband})
NameExplanationData Type
in_raster_or_constant

The input that defines the value that will be looked for in a list of rasters on a cell-by-cell basis.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
in_raster_or_constants
[in_raster_or_constant,...]

A list of input rasters that the first input will be evaluated against. For each location, if the cell value from the first input exists in any of the other rasters, that value will be assigned to the output raster. If the value does not exist in any of the other rasters, the output value at that location will be NoData.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
process_as_multiband
(Optional)

Specifies how the input multiband raster bands will be processed.

  • SINGLE_BANDEach band from a multiband raster input will be processed separately as a single band raster. This is the default.
  • MULTI_BANDEach multiband raster input will be processed as a multiband raster. The operation will be performed for each band from one input using the corresponding band number from the other inputs.
Boolean

Return Value

NameExplanationData Type
out_raster

The output raster.

Raster

Code sample

InList example 1 (Python window)

This example determines which cell values in the first input are found in the set of other input rasters.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outInList = InList("redlandsc1", ["redlandsc2", "redlandsc3"])
outInList.save("C:/iapyexamples/output/outinlist.tif")
InList example 2 (stand-alone script)

This example determines which cell values in the first input are found in the set of other input rasters.

# Name: InList_Ex_02.py
# Description: Determines which values from the first input are
#              contained in the other inputs
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster1 = "redlandsc1"
inRaster2 = "redlandsc2"
inRaster3 = "redlandsc3"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute InList
outInList = InList(inRaster1, [inRaster2, inRaster3])

# Save the output 
outInList.save("C:/iapyexamples/output/outinlist")

Related topics