Aggregate

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

Сводка

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

Описание

Используйте функцию Aggregate для агрегирования значений переменной многомерного растра по заданной переменной. Например, если у вас есть данные о ежедневных осадках, вы можете определить среднемесячное количество осадков.

Эта функция создает растровый объект, который является агрегацией входного многомерного растра. По умолчанию агрегация вычисляется для всех переменных, связанных с данным измерением. Например, в случае, когда осадки, температура и скорость ветра имеют измерение времени, все три переменные будут агрегированы отдельно, если dimension_name задано как измерение времени. Если вы хотите агрегировать только одну переменную, используйте функцию Subset перед использованием Aggregate.

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

Синтаксис

Aggregate (in_raster, dimension_name, raster_function, {raster_function_arguments}, {aggregation_definition})
ParameterОбъяснениеТип данных
in_raster

Входной многомерный растр, который будет агрегирован.

Raster
dimension_name

Измерение агрегации. Это измерение, по которому переменные будут агрегированы.

String
raster_function

Имя функции растра в виде строки или путь к пользовательской функции растра (файлу .rft.xml), используемой для вычисления агрегированных значений пикселов.

Поддерживаемые функции растра в виде строк включают следующее:

  • "Majority" – Значение пиксела, которое встречается чаще всего, будет вычисляться для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Max" – Максимальное значение пиксела будет вычислено для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Mean" – Среднее значение пиксела будет вычислено для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Med" – Медианное значение пиксела будет вычислено для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Min" – Минимальное значение пиксела будет вычислено для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Minority" – Значение пиксела, которое встречается реже всего, будет вычисляться для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Range" – Диапазон значений для пиксела будет вычисляться для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Std" – Стандартное отклонение пиксела будет вычислено для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Sum" – Сумма значений пикселов будет вычисляться по всем срезам в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "Variety" – Число уникальных значений пикселов будет вычислено для всех срезов в интервале, и NoData будет возвращено, если есть какие-либо пикселы NoData по измерению.
  • "MajorityContinueOnNoData" – Наиболее часто встречающееся значение пиксела будет вычислено для всех срезов в интервале, а пикселы NoData будут проигнорированы.
  • "MaxContinueOnNoData" – Максимальное значение пиксела будет вычислено для всех срезов в интервале, а пикселы NoData будут проигнорированы.
  • "MeanContinueOnNoData" – Среднее значение пиксела будет вычислено для всех срезов в интервале, а пикселы NoData будут проигнорированы.
  • "MedContinueOnNoData – Медианное значение пиксела будет рассчитано для всех срезов в интервале, а пикселы NoData будут проигнорированы.
  • "MinContinueOnNoData" – Минимальное значение пиксела будет вычислено для всех срезов в интервале, а пикселы NoData будут проигнорированы.
  • "MinorityContinueOnNoData" – Значение пиксела, которое встречается реже всего, будет вычисляться для всех срезов в интервале, а пикселы NoData будут игнорироваться.
  • "RangeContinueOnNoData" – Диапазон значений пиксела будет вычисляться для всех срезов в интервале, а пикселы NoData будут игнорироваться.
  • "StdContinueOnNoData" – Стандартное отклонение пиксела будет вычисляться для всех срезов в интервале, а пикселы NoData будут игнорироваться.
  • "SumContinueOnNoData" – Сумма значений пиксела будет вычисляться для всех срезов в интервале, а пикселы NoData будут игнорироваться.
  • "VarietyContinueOnNoData" – Число уникальных значений пикселов будет вычисляться для всех срезов в интервале, а пикселы NoData будут игнорироваться.

String
raster_function_arguments

Параметры и значения, связанные с растровой функцией или цепочкой функций. Если не заданы, будут применены значения по умолчанию.

Dictionary
aggregation_definition

Интервал измерения, по которому данные будут агрегированы. Пары ключ-значение должны иметь один из следующих форматов:

  • 'interval':<interval_keyword>

    Используйте ключевое слово интервала только, если dimension_name является измерением времени. Ключевые слова интервала включают HOURLY, DAILY, WEEKLY, MONTHLY, QUARTERLY и YEARLY. Например, используйте эту опцию для агрегирования дневных данных о температуре в ежемесячных данных о температуре для каждого года. На выходе будет не более 12 срезов на каждый год.

  • 'recurrent_interval':<recurrent_interval_keyword>

    Используйте ключевое слово повторяющегося интервала только тогда, когда dimension_name измерение времени. Ключевые слова повторяющегося интервала включают DAILY, WEEKLY, MONTHLY и QUARTERLY. Например, используйте эту опцию для вычисления среднего значения температуры для каждого месяца за все годы в наборе данных. Результат будет включать не более 12 срезов (по одному срезу на каждый месяц года).

  • 'interval_value':<value>, 'interval_unit':<unit>

    Используйте значение интервала для определения повторяющихся интервалов. Единица интервала требуется, когда dimension_name измерение времени. Ключевые слова единицы интервала включают HOUR, DAY, WEEK, MONTH, QUARTER и YEAR. Например, используйте эту опцию для объединения значений суточных температур в значения температуры за каждые 10 дней.

  • 'interval_ranges':[(min, max),(min, max), ...]

    Используйте параметр интервальные диапазоны для определения пользовательских интервалов агрегации. Например, используйте эту опцию для агрегирования дневных температур в значения температуры за определенные сезонные периоды.

Если не указано, будут агрегированы все срезы измерения.

Dictionary
Значение отраженного сигнала
Тип данныхОбъяснение
Raster

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

Пример кода

Пример агрегирования

Агрегируйте данные об осадках, вычисляя общее среднее, среднемесячное, минимальное значение за 10 дней и максимум за 2 диапазона.

import arcpy
from arcpy.ia import *

arcpy.CheckOutExtension("ImageAnalyst")

in_raster = Raster('ClimateData_Daily.nc', True)

# Choose the precipitation variable
prcp_raster = Subset(in_raster, variables = 'prcp')

# Calculate the average precipitation across the whole time period
avg_prcp = Aggregate(prcp_raster, 'StdTime', 'Mean')

# Calculate the monthly mean precipitation 
monthly_avg_prcp = Aggregate(prcp_raster, 'StdTime', 
	'Mean', {'interval': 'monthly'})

# Calculate the minimum precipitation every 10 days
min_precip_10day = Aggregate(prcp_raster, 'StdTime', 'Min', 
	{'interval_value' : 10, 'interval_unit': 'day'})

# Calculate the maximum precipitation in two separate time ranges
max_prcp_range = Aggregate(prcp_raster, 'StdTime', 'Max', 
	{'interval_ranges':  [('2001-01-01T00:00:00', '2001-02-01T00:00:00'), 
	('2001-12-01T00:00:00', '2001-12-24T00:00:00')]})