Краткая информация
Вычисляет градиент по x, y, x,y или заданному измерению.
Обсуждение
Функция Gradient работает на одноканальных входных данных. Если входные данные – многоканальное изображение, будет использоваться первый канал. Используйте функцию ExtractBand, чтобы задать требуемый канал.
Для многомерных входных данных, содержащих несколько переменных, будут обработаны все переменные. Если переменная не содержит указанного параметра gradient_dimension, она будет игнорироваться. Используйте функцию Многомерный фильтр, чтобы выбрать необходимые переменные.
Функцию Многомерный фильтр также можно использовать для определения диапазона измерений, к которому применяется функция.
В следующей таблице приведены уравнения для различных расчетов градиента:
Тип градиента | Уравнение |
---|---|
Градиент Х |
|
Градиент Y |
|
Градиент для измерения |
|
Синтаксис
Gradient (raster, {gradient_dimension}, {denominator_unit})
Параметр | Описание | Тип данных |
raster [raster,...] | The input raster or list of rasters. | Raster |
gradient_dimension | The available dimensions for which the gradient will be calculated. For nonmultidimensional input, available dimension options are X, Y, and XY. For multidimensional input, available dimension options are X, Y, XY, and all dimensions available in the data, including time (StdTime). If there are two or more dimensions, the gradient will be calculated on the gradient dimension for all slices in the available dimensions. The XY option outputs a 2-band raster in which band 1 represents the gradient along the x-dimension, and band 2 represents the gradient along the y-dimension. (Значение по умолчанию — X) | String |
denominator_unit | The unit of the gradient denominator. The unit depends on the gradient_dimension argument value. The following options are available for X, Y, and XY:
The following options are available for StdTime:
The following options are available for dimensions other than time dimensions:
(Значение по умолчанию — DEFAULT) | String |
Тип данных | Описание |
Raster | Выходной растр. |
Пример кода
Вычислите градиент по измерениям x и y на изображении Landsat.
# Import system modules
import arcpy
from arcpy.ia import *
arcpy.ia.Gradient (raster, gradient_dimension, denominator_unit)
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variables
input_raster = in_multidimensional_raster = "C:/data/landsat.crf"
gradient_dimension = “XY”
denominator_unit = “Cellsize”
# Apply Gradient function
gradient_raster = arcpy.ia.Gradient (raster, gradient_dimension, denominator_unit)
# Save the output
gradient _raster.save("C:/output/landsat_xy_gradient.crf")
В этом примере вычисляется градиент вдоль StdTime временных рядов NDVI.
# Import system modules
import arcpy
from arcpy.ia import *
arcpy.ia.Gradient (raster, gradient_dimension, denominator_unit)
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variables
input_raster = in_multidimensional_raster = "C:/data/ndvi_time_series.crf"
gradient_dimension = “StdTime”
denominator_unit = “Per Year”
# Apply Gradient function
gradient_raster = arcpy.ia.Gradient (raster, gradient_dimension, denominator_unit)
# Save the output
gradient _raster.save("C:/output/ndvi_stdtime_gradient.crf")