获得 Image Analyst 许可后可用。
需要 Spatial Analyst 许可。
摘要
通过将栅格函数或自定义函数模板应用于输入多维栅格中的每个剖切来创建栅格对象。
说明
使用 Foreach 函数将栅格函数应用于多维栅格数据集中的每个剖切。 要将栅格函数应用于单个剖切,请在使用 Foreach 之前使用 Subset 函数。
此函数将创建一个栅格对象,其中包含使用栅格函数处理的输入多维栅格的变量和尺寸。 栅格对象所引用的栅格数据集是临时性的。 要将其设置为永久,可以调用栅格对象的 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 | 输出多维栅格。 |
代码示例
计算 Landsat 7 场景时间序列中每个剖切的 NDVI。
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})