Агрегировать многомерный растр (Spatial Analyst)

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

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

Краткая информация

Генерирует набор многомерных растровых данных путем комбинирования существующих переменных многомерного растра вдоль измерения.

Использование

  • Используйте параметр Определение агрегации для выбора интервала с использованием ключевого слова, значения или диапазона значений. Например, если у вас есть данные за 30 лет о температуре морской поверхности, собираемые ежедневно на глубинах от 5 метров до 100 метров, вы можете использовать различные варианты интервалов для следующих сценариев:

    • Агрегировать ежедневные данные о температуре в среднемесячные данные, результатом чего получится многомерный растр с 12 временными срезами, и каждый срез будет представлять собой агрегированные данные для каждого месяца за все годы. Выберите Ключевое слово интервала и установите его на Повторяется ежемесячно.
    • Агрегировать данные о суточной температуре в среднемесячные данные, результатом чего получится многомерный растр с 360 временными срезами или с 12 временными срезами за каждый год (30 лет x 12 месяцев = 360 срезов). Выбрать Ключевое слово интервала и установить его на Ежемесячно.
    • Агрегировать месячные температуры в 4х-месячные интервалы. Выбрать Значение интервала, установить Значение интервала на 4 и установить Единицы на Месяцы.
    • Агрегировать температурные данные на глубинах от 0 до 25 метров, затем от 25 до 50 метров, затем от 50 до 100 метров. Выбрать Интервальные диапазоны и указать минимальные и максимальные глубины как 0 25; 25 50; 50 100.
  • Поддерживаемые многомерные наборы растровых данных включают Cloud Raster Format (CRF), многомерные наборы данных мозаики или многомерные растровые слои, созданные с помощью файлов формата netCDF, GRIB или HDF.

  • Этот инструмент создает многомерный набор растровых данных в формате Cloud Raster Format (CRF). В настоящее время другие форматы выхода не поддерживаются.

  • По умолчанию выходной многомерный растр будет сжиматься с использованием типа сжатия LZ77. Однако рекомендуется изменить тип сжатия на LERC и настроить максимальное значение ошибки на основе данных. Например, если вы ожидаете, что результаты анализа будут иметь точность до трех десятичных знаков, используйте 0,001 для максимального значения ошибки. Избейте излишних требований к точности, поскольку они увеличивают время обработки и размер хранилища.

    Чтобы изменить тип сжатия, измените параметр среды Сжатие.

Параметры

ПодписьОписаниеТип данных
Входной многомерный растр

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

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
Измерение

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

String
Метод агрегирования
(Дополнительный)

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

Если метод установлен на Пользовательский, становится активным параметр Функция агрегирования.

  • СреднееСреднее значение пиксела будет вычислено по всем срезам в интервале. Это значение по умолчанию
  • МаксимумМаксимальное значение пиксела будет вычислено по всем срезам в интервале.
  • БольшинствоЗначение пиксела, которое встречается чаще всего, будет вычислено по всем срезам в интервале.
  • МинимумМинимальное значение пиксела будет вычислено по всем срезам в интервале.
  • МеньшинствоЗначение пиксела, которое встречается реже всего, будет вычислено по всем срезам в интервале.
  • МедианаМедианное значение пиксела будет вычислено по всем срезам в интервале.
  • ПроцентильПроцент значений пикселов будет вычислен по всем срезам в интервале. Девяностый процентиль вычисляется по умолчанию. Вы можете указать другие значения (от 0 до 100), используя параметр Значение процентиля.
  • ДиапазонДиапазон значений пикселов будет вычислено по всем срезам в интервале.
  • Стандартное отклонениеСр. кв. отклонение значений пикселов будет вычислено по всем срезам в интервале.
  • СуммаСумма значений пикселов будет вычислена по всем срезам в интервале.
  • РазнообразиеЧисло уникальных значений пикселов будет вычислено по всем срезам в интервале.
  • ПользовательскиеВычисляет значение пиксела на основе пользовательской растровой функции.
String
Переменные [Dimension Info] (Описание)
(Дополнительный)

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

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

String
Определение агрегации
(Дополнительный)

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

  • ВсеЗначения данных будут агрегированы по всем срезам. Это значение по умолчанию
  • Ключевое слово интервалаДанные переменных будут агрегированы с использованием общеизвестного интервала.
  • Значение интервалаДанные переменных будут агрегированы с использованием заданного пользователем интервала и единиц.
  • Интервальные диапазоныДанные переменных будут агрегированы в пределах указанных пар значений или дат.
String
Ключевое слово интервала
(Дополнительный)

Указывает ключевое слово интервала, которое будет использовано при агрегировании по измерению. Это обязательный параметр, если для параметра Определение агрегации выбрано Ключевое слово интервала и агрегация выполняется по времени.

  • Каждый часЗначения данных будут агрегированы в почасовые временные шаги, и результат будет включать каждый час временного ряда.
  • ЕжедневноЗначения данных будут агрегированы в недельные временные шаги, и результат будет включать каждую неделю временного ряда.
  • ЕженедельноЗначения данных будут агрегированы в недельные временные шаги, и результат будет включать каждую неделю временного ряда.
  • По декадамЗначения данных будут объединены в 3 периода по 10 дней каждый. Последний период может содержать больше или меньше 10 дней. Выходные данные будут включать 3 среза для каждого месяца.
  • По пятилеткамЗначения данных будут объединены в 6 периода по 5 дней каждый. Последний период может содержать более или менее 5 дней. Выходные данные будут включать в себя 6 срезов для каждого месяца.
  • ЕжемесячноЗначения данных будут агрегированы в ежемесячные временные шаги, и результат будет включать каждый месяц временного ряда.
  • ЕжеквартальноЗначения данных будут агрегированы в ежеквартальные временные шаги, и результат будет включать каждый квартал временного ряда.
  • ЕжегодноЗначения данных будут агрегированы в ежегодные временные шаги, и результат будет включать каждый год временного ряда.
  • Повторяется ежедневноЗначения данных будут агрегированы в ежедневные временные шаги, и результат будет включать одно агрегированное значение для каждого дня. Выходные данные будут включать максимум 366 ежедневных временных срезов.
  • Повторяется еженедельноЗначения данных будут агрегированы в еженедельные временные шаги, и результат будет включать одно агрегированное значение для каждой недели. Выходные данные будут включать максимум 53 еженедельных временных среза.
  • Повторяется ежемесячноЗначения данных будут агрегированы в ежемесячные временные шаги, и результат будет включать одно агрегированное значение для каждого месяца года. Выходные данные будут включать максимум 12 ежемесячных временных среза.
  • Повторяется ежеквартальноЗначения данных будут агрегированы в ежеквартальные временные шаги, и результат будет включать одно агрегированное значение для каждого квартала. Выходные данные будут включать максимум 4 ежеквартальных временных среза.
String
Значение интервала
(Дополнительный)

Размер интервала, который будет использован для агрегации. Этот параметр необходим, если параметр Определение агрегации установлен на Значение интервала.

Например, чтоб агрегировать данные ежемесячных температур за 30 лет с инкрементом в 5 лет, введите 5 в качестве Значения интервала и укажите для ЕдиницГоды.

Double
Единицы измерения
(Дополнительный)

Единицы измерения, которые будут применены к Значению интервала. Этот параметр необходим, если параметр Измерение является полем времени, а для параметра Определение агрегации выбрано Значение интервала.

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

  • ЧасыЗначения данных будут агрегированы по часовым временным срезам с заданным интервалом.
  • ДниЗначения данных будут агрегированы по суточным временным срезам с заданным интервалом.
  • НеделиЗначения данных будут агрегированы еженедельным временным срезам с заданным интервалом.
  • МесяцыЗначения данных будут агрегированы по ежемесячным временным срезам с заданным интервалом.
  • ГодыЗначения данных будут агрегированы по ежегодным временным срезам с заданным интервалом.
String
Диапазон
(Дополнительный)

Интервальные диапазоны, указанные в таблице значений, будут использованы для агрегации групп значений. Таблица значений состоит из пар минимальных и максимальных значений с типом поля Double или Date.

Этот параметр необходим, если параметр Определение агрегации установлен на Интервальные диапазоны.

Value Table
Функция агрегации
(Дополнительный)

Пользовательская растровая функция, которая будет использована для вычислений значений пикселов агрегированных растров. Входная растровая функция может быть объектом JSON или файлом .rft.xml, созданным из последовательности функций, или пользовательская растровая функция Python.

Этот параметр необходим, если параметр Определение агрегации установлен на Пользовательский.

File; String
Игнорировать NoData
(Дополнительный)

Указывает, будут ли игнорироваться значения NoData при анализе.

  • Отмечено – анализ будет включать все действительные пикселы по данному измерению и игнорировать пикселы NoData. Используется по умолчанию.
  • Не отмечено – результатом анализа будет значение NoData, если для этого пиксела по данному измерению есть хотя бы одно значение NoData.
Boolean
Безразмерный
(Дополнительный)

Устанавливает, будут ли в слое содержаться значения измерения. Этот параметр активен только в том случае, если для создания слоя выбран один срез.

  • Отмечено - в слое не будут содержаться значения измерения.
  • Не отмечено - в слое будут содержаться значения измерения. Это значение по умолчанию

Boolean
Значение процентиля
(Дополнительный)

Вычисляемый процентиль. Значение по умолчанию – 90, для 90-го процентиля.

Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен Минимума в статистике, а 100-й процентиль эквивалентен Максимуму. Значение 50 даст по существу тот же результат, что и Медиана в статистике.

Этот параметр доступен, только если для параметра Тип статистики задано значение Процентиль.

Double
Тип интерполяции процентиля
(Дополнительный)

Задает метод интерполяции Процентиль, который будет использоваться, когда число вычисляемых значений входного растра - четное.

  • БлижайшаяБудет использоваться ближайшее доступное значение к заданному процентилю. В этом случае тип выходных пикселов будет таким же, как и во входном растре значений.
  • ЛинейнаяБудет использоваться взвешенное среднее от двух соседних значений от заданного процентиля. В этом случае тип выходного пиксела будет с плавающей точкой.
String

Возвращаемое значение

ПодписьОписаниеТип данных
Выходной многомерный растр

Выходной многомерный набор растровых данных Cloud Raster Format (CRF).

Raster

AggregateMultidimensionalRaster(in_multidimensional_raster, dimension, {aggregation_method}, {variables}, {aggregation_def}, {interval_keyword}, {interval_value}, {interval_unit}, {interval_ranges}, {aggregation_function}, {ignore_nodata}, {dimensionless}, {percentile_value}, {percentile_interpolation_type})
ИмяОписаниеТип данных
in_multidimensional_raster

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

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
dimension

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

String
aggregation_method
(Дополнительный)

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

  • MEANСреднее значение пиксела будет вычислено по всем срезам в интервале. Это значение по умолчанию
  • MAXIMUMМаксимальное значение пиксела будет вычислено по всем срезам в интервале.
  • MAJORITYЗначение пиксела, которое встречается чаще всего, будет вычислено по всем срезам в интервале.
  • MINIMUMМинимальное значение пиксела будет вычислено по всем срезам в интервале.
  • MINORITYЗначение пиксела, которое встречается реже всего, будет вычислено по всем срезам в интервале.
  • MEDIANМедианное значение пиксела будет вычислено по всем срезам в интервале.
  • PERCENTILEПроцент значений пикселов будет вычислен по всем срезам в интервале. Девяностый процентиль вычисляется по умолчанию. Вы можете указать другие значения (от 0 до 100), используя параметр Значение процентиля.
  • RANGEДиапазон значений пикселов будет вычислено по всем срезам в интервале.
  • STDСр. кв. отклонение значений пикселов будет вычислено по всем срезам в интервале.
  • SUMСумма значений пикселов будет вычислена по всем срезам в интервале.
  • VARIETYЧисло уникальных значений пикселов будет вычислено по всем срезам в интервале.
  • CUSTOMВычисляет значение пиксела на основе пользовательской растровой функции.

Если aggregation_method установлен на CUSTOM, параметр aggregation_function становится доступным.

String
variables
[variables,...]
(Дополнительный)

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

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

String
aggregation_def
(Дополнительный)

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

  • ALLЗначения данных будут агрегированы по всем срезам. Это значение по умолчанию
  • INTERVAL_KEYWORDДанные переменных будут агрегированы с использованием общеизвестного интервала.
  • INTERVAL_VALUEДанные переменных будут агрегированы с использованием заданного пользователем интервала и единиц.
  • INTERVAL_RANGESДанные переменных будут агрегированы в пределах указанных пар значений или дат.
String
interval_keyword
(Дополнительный)

Указывает ключевое слово интервала, которое будет использовано при агрегировании по измерению. Это обязательный параметр, если для aggregation_def выбрано INTERVAL_KEYWORD и агрегация выполняется по времени.

  • HOURLYЗначения данных будут агрегированы в почасовые временные шаги, и результат будет включать каждый час временного ряда.
  • DAILYЗначения данных будут агрегированы в недельные временные шаги, и результат будет включать каждую неделю временного ряда.
  • WEEKLYЗначения данных будут агрегированы в недельные временные шаги, и результат будет включать каждую неделю временного ряда.
  • DEKADLYЗначения данных будут объединены в 3 периода по 10 дней каждый. Последний период может содержать больше или меньше 10 дней. Выходные данные будут включать 3 среза для каждого месяца.
  • PENTADLYЗначения данных будут объединены в 6 периода по 5 дней каждый. Последний период может содержать более или менее 5 дней. Выходные данные будут включать в себя 6 срезов для каждого месяца.
  • MONTHLYЗначения данных будут агрегированы в ежемесячные временные шаги, и результат будет включать каждый месяц временного ряда.
  • QUARTERLYЗначения данных будут агрегированы в ежеквартальные временные шаги, и результат будет включать каждый квартал временного ряда.
  • YEARLYЗначения данных будут агрегированы в ежегодные временные шаги, и результат будет включать каждый год временного ряда.
  • RECURRING_DAILYЗначения данных будут агрегированы в ежедневные временные шаги, и результат будет включать одно агрегированное значение для каждого дня. Выходные данные будут включать максимум 366 ежедневных временных срезов.
  • RECURRING_WEEKLYЗначения данных будут агрегированы в еженедельные временные шаги, и результат будет включать одно агрегированное значение для каждой недели. Выходные данные будут включать максимум 53 еженедельных временных среза.
  • RECURRING_MONTHLYЗначения данных будут агрегированы в ежемесячные временные шаги, и результат будет включать одно агрегированное значение для каждого месяца года. Выходные данные будут включать максимум 12 ежемесячных временных среза.
  • RECURRING_QUARTERLYЗначения данных будут агрегированы в ежеквартальные временные шаги, и результат будет включать одно агрегированное значение для каждого квартала. Выходные данные будут включать максимум 4 ежеквартальных временных среза.
String
interval_value
(Дополнительный)

Размер интервала, который будет использован для агрегации. Этот параметр необходим, если для параметра aggregation_def задано INTERVAL_VALUE.

Например, чтоб агрегировать данные ежемесячных температур за 30 лет с интервалом в 5 лет, введите 5 в качестве interval_value и укажите для interval_unit значение YEARS.

Double
interval_unit
(Дополнительный)

Единицы измерения, которые будут применены к параметру interval_value. Этот параметр необходим, если параметр dimension является полем времени, а параметр aggregation_def установлен на INTERVAL_VALUE.

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

  • HOURSЗначения данных будут агрегированы по часовым временным срезам с заданным интервалом.
  • DAYSЗначения данных будут агрегированы по суточным временным срезам с заданным интервалом.
  • WEEKSЗначения данных будут агрегированы еженедельным временным срезам с заданным интервалом.
  • MONTHSЗначения данных будут агрегированы по ежемесячным временным срезам с заданным интервалом.
  • YEARSЗначения данных будут агрегированы по ежегодным временным срезам с заданным интервалом.
String
interval_ranges
[interval_ranges,...]
(Дополнительный)

Интервальные диапазоны, указанные в таблице значений, будут использованы для агрегации групп значений. Таблица значений состоит из пар минимальных и максимальных значений с типом поля Double или Date.

Этот параметр необходим, если параметр aggregation_def установлен на INTERVAL_RANGE.

Value Table
aggregation_function
(Дополнительный)

Пользовательская растровая функция, которая будет использована для вычислений значений пикселов агрегированных растров. Входная растровая функция может быть объектом JSON или файлом .rft.xml, созданным из последовательности функций, или пользовательская растровая функция Python.

Этот параметр необходим, если для параметра aggregation_method задано CUSTOM.

File; String
ignore_nodata
(Дополнительный)

Указывает, будут ли игнорироваться значения NoData при анализе.

  • DATAАнализ будет включать все действительные пикселы вдоль данного измерения и игнорировать пикселы NoData. Используется по умолчанию.
  • NODATAРезультатом анализа будет значение NoData, если для этого пиксела по данному измерению есть значение NoData.
Boolean
dimensionless
(Дополнительный)

Устанавливает, будут ли в слое содержаться значения измерения. Этот параметр доступен только в том случае, если для создания слоя выбран один срез.

  • NO_DIMENSIONSВ слое не будут содержаться значения измерения.
  • DIMENSIONSВ слое будут содержаться значения измерения. Это значение по умолчанию
Boolean
percentile_value
(Дополнительный)

Вычисляемый процентиль. Значение по умолчанию – 90, для 90-го процентиля.

Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен Минимума в статистике, а 100-й процентиль эквивалентен Максимуму. Значение 50 даст по существу тот же результат, что и Медиана в статистике.

Этот параметр поддерживается, если параметр statistics_type задан как PERCENTILE.

Double
percentile_interpolation_type
(Дополнительный)

Задает метод интерполяции Процентиль, который будет использоваться, когда число вычисляемых значений входного растра - четное.

  • NEARESTБудет использоваться ближайшее доступное значение к заданному процентилю. В этом случае тип выходных пикселов будет таким же, как и во входном растре значений.
  • LINEARБудет использоваться взвешенное среднее от двух соседних значений от заданного процентиля. В этом случае тип выходного пиксела будет с плавающей точкой.
String

Возвращаемое значение

ИмяОписаниеТип данных
out_multidimensional_raster

Выходной многомерный набор растровых данных Cloud Raster Format (CRF).

Raster

Пример кода

AggregateMultidimensionalRaster, пример 1 (окно Python)

В этом примере агрегируются данные температур в среднегодовые значения.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
arcpy.CheckOutExtension("Spatial")
outAggMultidim = AggregateMultidimensionalRaster("C:/sapyexamples/data/climateData.crf", 
	"StdTime", "MEAN", "temperature", "INTERVAL_KEYWORD", "YEARLY", 
	"", "", "", "", "DATA")
outAggMultidim.save("C:/sapyexamples/output/YearlyTemp.crf")
AggregateMultidimensionalRaster пример 2 (автономный скрипт)

В этом примере агрегируются суточные данные по температуре и влажности в ежемесячные данные с максимальными значениями температуры и влажности.

# Name: AggregateMultidimensionalRaster_Ex_02.py
# Description: Aggregates daily precipitation and temperature data into
#           monthly data with the maximum precipitation and temperature values
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

""""
Usage: out_multidimensional_raster = AggregateMultidimensionalRaster(in_multidimensional_raster, dimension,
                                    {aggregation_method}, {variables}, 
                                    {aggregation_def}, {interval_keyword}, {ignore_nodata})
"""

# Define input parameters
inputFile = "C:/sapyexamples/data/dailyclimateData.crf"
dimensionName = "StdTime"
aggregationMethod = "Maximum"
variables = "temperature;precipitation"
aggregationDefinition = "INTERVAL_KEYWORD"
keyword = "MONTHLY"
ignore_nodata = "DATA"

# Execute AggregateMultidimensionalRaster
outAggMultidim = AggregateMultidimensionalRaster(inputFile, dimensionName,
	aggregationMethod, variables, aggregationDefinition, keyword, "", "", "", "",
	ignore_nodata)

# Save the output
outAggMultidim.save("C:/sapyexamples/output/monthlymaxtemp.crf")

Информация о лицензиях

  • Basic: Обязательно Spatial Analyst или Image Analyst
  • Standard: Обязательно Spatial Analyst или Image Analyst
  • Advanced: Обязательно Spatial Analyst или Image Analyst

Связанные разделы