Доступно с лицензией 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 (Дополнительный) | Определяет математический метод, который будет использован для комбинации агрегированных срезов в пределах интервала.
Если aggregation_method установлен на CUSTOM, параметр aggregation_function становится доступным. | String |
variables [variables,...] (Дополнительный) | Переменная или переменные, которые будут агрегированы по заданному измерению. Если не указано конкретных переменных, будут агрегированы все переменные в пределах заданного измерения. Например, для агрегирования суточных температурных данных в среднемесячные, необходимо указать температуру в качестве переменной для агрегирования. Если вы не указали ни одной переменной, а у вас есть суточные данные по температуре и влажности, обе переменные будут агрегированы в среднемесячные и выходной многомерный растр будет включать обе переменные. | String |
aggregation_def (Дополнительный) | Определяет интервал измерения, по которому данные будут агрегированы.
| String |
interval_keyword (Дополнительный) | Указывает ключевое слово интервала, которое будет использовано при агрегировании по измерению. Это обязательный параметр, если для aggregation_def выбрано INTERVAL_KEYWORD и агрегация выполняется по времени.
| 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. Если вы агрегируете по какому-либо другому измерению, а не по времени, эта опция будет недоступна и единицы для значения интервала будут соответствовать единицам измерения переменной входных многомерных растровых данных.
| 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 в анализе.
| Boolean |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_multidimensional_raster | Выходной набор многомерных растровых данных в формате Cloud Raster Format (CRF). | Raster |
Пример кода
В этом примере агрегируются данные температур в среднегодовые значения.
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")
В этом примере агрегируются суточные данные по температуре и влажности в ежемесячные данные с максимальными значениями температуры и влажности.
# 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")
Environments
Информация о лицензиях
- Basic: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
- Standard: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
- Advanced: Требуется Дополнительный модуль Spatial Analyst или Image Analyst