Краткая информация
Создает растровый объект путем применения растровой функции или цепочки функций к одному или нескольким растрам.
Обсуждение
Воспользуйтесь функцией Apply для обработки одного или нескольких растровых наборов растровой функцией или цепочкой функций. Эта функция создаст растровый объект, представляющий собой входной растр или растры, к которым была применена растровая функция.
Базовый набор растровых данных для выходного растрового объекта является временным. Чтобы сделать его постоянным, вы можете вызвать метод растрового объекта save.
Синтаксис
Apply (in_raster, raster_function, {raster_function_arguments})
Параметр | Описание | Тип данных |
in_raster [in_raster,...] | The input raster dataset or datasets. The input can include the following:
| Raster |
raster_function | The name of a raster function or the path to a custom raster function (.rft.xml file) to apply to the input. | String |
raster_function_arguments | The parameters and values associated with the raster function or function chain. If not specified, and if applicable, 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 | Выходной набор растровых данных с примененной функцией. |
Пример кода
Применение функций NDVI, Arithmetic и Composite Bands к одному или нескольким растровым наборам.
# Apply NDVI, Arithmetic, and Composite Bands functions to one or more raster datasets.
# Import system modules
import arcpy
from arcpy.sa import *
from arcpy import env
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set input raster for NDVI
Landsat = Raster("Landsat")
# Apply NDVI raster function to a single raster
out_NDVI_raster = Apply(Landsat, "NDVI", {'VisibleBandID':4,'InfraredBandID':5})
# Set input rasters for Arithmetic
DEM = Raster("DEM.tif")
Buildings = Raster("BuildingHeights.tif")
# Apply Arithmetic raster function to add building height to ground elevation
out_Arithmetic_raster = Apply((DEM, Buildings),'Arithmetic',{'operation':1})
# Set input rasters for Composite Bands
Band1 = Raster("blue.tif")
Band2 = Raster("green.tif")
Band3 = Raster("red.tif")
# Apply Composite Bands function to combine three bands into a single raster
out_composite_rasters = Apply([Band1, Band2, Band3], 'CompositeBand')
Применение функции Heat Index к двум многомерным растровым наборам.
# Apply Heat Index function to multidimensional raster objects
# Import system modules
import arcpy
from arcpy.sa import *
# Set input multidimensional raster dataset
in_raster = Raster("C:/sapyexamples/data/ClimateData.nc", True)
# Select the relative humidity variable
RH = Subset(in_raster, variables = 'rh')
# Select the temperature variable
Temp = Subset(in_raster, variables = 't')
# Apply the Heat Index function to the two multidimensional raster subsets
# The output is a multidimensional raster where each slice is the heat index for the slice's time
heat_index_raster = Apply({'temperature': Temp, 'rh': RH}, 'HeatIndex', {'units':'Kelvin', 'outUnits':'Fahrenheit'})
# Save the output as crf
heat_index_raster = ("C:/sapyexamples/output/HeatIndexRaster.crf")