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

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

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

Сводка

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

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

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

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

  • Этот инструмент создает набор многомерных растровых данных в облачном растровом формате (CRF). Другие форматы выходных данных в настоящее время не поддерживаются.

  • По умолчанию многомерные выходные растровые данные сжимаются, тип сжатия – LZ77. Рекомендуется изменить этот тип сжатия на LERC и настроить Максимальную ошибку в зависимости от своих данных. Например, если вы ожидаете точность результатов анализа до трех знаков после запятой, используйте для Максимальной ошибки значение 0.001. Лучше избегать ненужных требований к точности, так как они увеличат время обработки и размер хранилища.

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

Синтаксис

AggregateMultidimensionalRaster(in_multidimensional_raster, dimension, {aggregation_method}, {variables}, {aggregation_def}, {interval_keyword}, {interval_value}, {interval_unit}, {interval_ranges}, {aggregation_function}, {ignore_nodata})
ParameterОбъяснениеТип данных
in_multidimensional_raster

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

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

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

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

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

  • MEANСреднее значение пиксела будет вычислено по всем срезам в интервале. Это значение по умолчанию.
  • MAXIMUMМаксимальное значение пиксела будет вычислено по всем срезам в интервале.
  • MAJORITYЗначение пиксела, которое встречается чаще всего, будет вычислено по всем срезам в интервале.
  • MINIMUMМинимальное значение пиксела будет вычислено по всем срезам в интервале.
  • MINORITYЗначение пиксела, которое встречается реже всего, будет вычислено по всем срезам в интервале.
  • MEDIANМедианное значение пиксела будет вычислено по всем срезам в интервале.
  • 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_unitYEARS.

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

Значение отраженного сигнала

NameОбъяснениеТип данных
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

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