Доступно с лицензией Image Analyst.
Доступно с лицензией Spatial Analyst.
Краткая информация
Создает растровый объект, применяя растровую функцию или пользовательский шаблон функции для каждого среза многомерного набора растровых данных.
Обсуждение
Используйте функцию Foreach для применения растровой функции для каждого среза многомерного набора растровых данных. Для применения растровой функции одному срезу используйте функцию Subset перед использованием Foreach.
Эта функция создает растровый объект, содержащий переменные и измерения входного многомерного растра, обработанные растровой функцией. Набор растровых данных, на который ссылается растровый объект, является временным. Чтобы сделать его постоянным, можно вызвать метод растрового объекта save.
Синтаксис
Foreach (in_raster, raster_function, {raster_function_arguments})
Параметр | Описание | Тип данных |
in_raster | Входной многомерный набор растровых данных. | Raster |
raster_function | Имя растровой функции или путь к пользовательской растровой функции (файл .rft.xml), применяемой для каждого среза многомерного набора растровых данны. | String |
raster_function_arguments | Параметры и значения, связанные с растровой функцией или цепочкой функций. Если не заданы, будут применены значения по умолчанию. Например, растровая функция Tasseled Cap не требует аргументов; входными данными является один растр и нет необходимости задавать аргументы. А растровая функция Arithmetic требует ввода 5 параметров: Raster, Raster2, Operation, Cellsize Type и Extent Type. Для использования функции Arithmetic с Apply Raster и Raster2 задаются для параметра in_raster, а остальные параметры имеют значения по умолчанию, поэтому, если для этих параметров ничего не указано, будут использоваться значения по умолчанию. Дополнительные сведения об аргументах каждой растровой функции см. в разделе Объекты растровых функций. | Dictionary |
Тип данных | Описание |
Raster | Выходной многомерный растр. |
Пример кода
Вычисление 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})