Subset
汇总
根据所选变量和维度间隔,创建作为输入多维栅格子集的栅格对象。
讨论
使用 Subset 函数从多维栅格对象中提取变量数据的子组。您可以将子组用作其他函数的输入。 例如,要计算包含温度和降水数据的多维栅格的平均月降水量值,您可以先使用 Subset ,将降水量变量作为栅格对象进行提取。然后您可以使用 聚合多维栅格 工具计算月平均值。
该函数将创建一个栅格对象,该栅格对象为输入的子组,其维度和变量信息由输入参数定义。
栅格对象的引用栅格数据集是临时的。要将其设置为永久,可以调用栅格对象的 save 方法。
语法
Subset(in_raster, {variables}, {dimension_definitions})
| 参数 | 说明 | 数据类型 |
|---|---|---|
|
in_raster |
输入多维栅格数据集。 |
Raster |
|
variables |
要包含在输出栅格中的变量名称或变量名称列表。如果未指定,则将包含所有变量。 |
String |
|
dimension_definitions |
用于划分多维栅格的维度间隔。此参数作为字典传递,其中键:值对被描述为
|
Dictionary |
返回值
| 数据类型 | 说明 |
|---|---|
|
Raster |
输出子集多维栅格。 |
代码示例
从气候多维数据中提取四个子集并保存最终子集。
# Import system modules
import arcpy
from arcpy.sa import *
in_raster = Raster('C:/sapyexamples/data/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 surface water temperature in January 1980
out_subset_raster4 = Subset(
in_raster, variables = 'water_temp',
dimension_definitions = {'StdTime':
('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_raster4.save("C:/sapyexamples/output/Jan1980_watertemp.crf")