Сводка
Создает растровый объект, являющийся поднабором входного многомерного растра на основе выбранных переменных и интервалов измерений.
Описание
Используйте функцию Subset для извлечения подгруппы переменных данных из многомерного растрового объекта. Вы можете использовать подгруппу в качестве входных данных для дополнительных функций. Например, чтобы рассчитать среднемесячные значения осадков для многомерного растра, который содержит как данные о температуре, так и данные об осадках, сначала можно использовать Subset для извлечения только переменной осадков как растровый объект. Затем вы можете использовать функцию Aggregate для вычисления среднемесячного значения.
Эта функция создает растровый объект, который является подгруппой входных данных, с информацией размерности и переменной, определяемой входными параметрами.
Указанный набор растровых данных является временным для растрового объекта. Чтобы сделать его постоянным, можно вызвать метод save растрового объекта.
Синтаксис
Subset (in_raster, {variables}, {dimension_definitions})
Parameter | Объяснение | Тип данных |
in_raster | Входной многомерный набор растровых данных. | Raster |
variables [variables,...] | Имя переменной или список имен переменных, которые должны быть включены в выходной растр. Если не указано, будут включены все переменные. | String |
dimension_definitions | Размерный интервал, используемый для поднабора многомерного растра. Этот параметр передается как словарь, в котором пары ключ:значение описываются как dimension_name:dimension interval. Ключ - это имя измерения, вдоль которого вы хотите задать подмножество, а значение - это интервал измерения. Интервал измерения должен использовать один из следующих форматов:
| Dictionary |
Тип данных | Объяснение |
Raster | Выходной поднабор многомерного растра. |
Пример кода
Извлекает четыре поднабора из многомерных климатических данных и сохраняет итоговый поднабор.
import arcpy
from arcpy.ia import *
in_raster = Raster('ClimateData_Daily.nc', True)
# Select two variables: precipitation and water temperature
out_subset_raster1 = Subset(in_raster, variables = ['precip', 'water_temp'])
print(out_subset_raster1.variables)
# Filter variables that have the Depth dimension and where depth=0.
# For variables that do not have dimension depth, all slices are selected.
out_subset_raster2 = Subset(in_raster, dimension_definitions = {'depth' : 0})
print(out_subset_raster2.variables)
# Select water temperature data on the 1st of every January
out_subset_raster3 = Subset(in_raster, variables = 'water_temp',
dimension_definitions = {'time':
('1980-01-01T12:00:00', None, 1, 'year')})
print(out_subset_raster3.variables)
# Select water temperature data for the first three months of every year
out_subset_raster4 = Subset(in_raster, variables = 'water_temp',
dimension_definitions = {'time':('1980-01-01T00:00:00',
'1980-03-31T00:00:00', 1, 'year')})
# Select both variables for January in 5 year increments: 1980, 1985, 1990, etc.
out_subset_raster5 = Subset(in_raster, variables = ['precip', 'water_temp']),
dimension_definitions = {'time':
('1980-01-01T00:00:00', '1980-01-31T00:00:00', 5, 'year')})
# Select surface water temperature in January 1980
out_subset_raster6 = Subset(in_raster, variables = 'water_temp',
dimension_definitions = {'time':
('1980-01-01T12:00:00', '1980-01-31T12:00:00'), 'depth': 0})
print(out_subset_raster4.mdinfo)
# Save the water temperature in January 1980
out_subset_raster6.save("c:/output/Jan1980_watertemp.crf")