Foreach

Доступно с лицензией Image Analyst.

Доступно с лицензией Spatial Analyst.

Краткая информация

Создает растровый объект путем применения растровой функции или настроенного шаблона функции к каждому срезу входного многомерного растра.

Обсуждение

Воспользуйтесь функцией Foreach, применяющей растровую функцию к каждому срезу многомерного набора растровых данных. Для применения растровой функции к одному срезу используйте функцию Subset перед использованием Foreach.

Эта функция создает растровый объект, содержащий переменные и измерения входного многомерного растра, обработанные растровой функцией. Указанный набор растровых данных является временным для растрового объекта. Чтобы сделать его постоянным, вы можете вызвать метод растрового объекта save.

Синтаксис

Foreach (in_raster, raster_function, {raster_function_arguments})
ПараметрОписаниеТип данных
in_raster

The input multidimensional raster dataset.

Raster
raster_function

The name of a raster function or the path to a custom raster function (.rft.xml file) to apply to every slice in the input multidimensional raster.

String
raster_function_arguments

The parameters and values associated with the raster function or function chain. If not specified, default values will be used.

For example, the Tasseled Cap raster function does not require any arguments; the input is a single raster, so there is no need to specify arguments.

The Arithmetic raster function, however, requires 5 input parameters: Raster, Raster2, Operation, Cellsize Type and Extent Type. To use Arithmetic with the Apply function, Raster and Raster2 are defined in the in_raster parameter, and the remaining parameters have default values, so if nothing is specified for those parameters, the default values will be used.

For information about the function arguments for each raster function, see Raster function objects.

Dictionary
Возвращаемое значение
Тип данныхОписание
Raster

Выходной многомерный растр.

Пример кода

Foreach, пример

Вычисляет индекс NDVI для каждого среза временных рядов сцен Landsat 7.

import arcpy
from arcpy import env
from arcpy.sa import *

arcpy.CheckOutExtension("Spatial")

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

# Create multidimensional raster object from 
# Landsat7 time series data in a mosaic dataset
in_raster = Raster("Landsat7", True)

# Calculate NDVI for each scene in the time series
out_NDVI_raster = Foreach(
	in_raster, "NDVI", {'VisibleBandID':3,'InfraredBandID':4})