获得 Image Analyst 许可后可用。
需要 Spatial Analyst 许可。
描述
为多维或多波段栅格中的每个像素提取达到给定统计量的维度值或波段指数。
使用方法
可使用查找参数统计信息工具提取在多维栅格数据集的栅格堆栈中达到特定统计数据的维度值(例如日期、高度或深度)。或者,可以查找在多波段栅格中达到该统计数据的波段号。
例如,您可能想知道在超过 30 年的数据采集过程中,每个像素达到最高海面温度的月份。另一个例子是,您拥有一个八波段遥感图像,并且想知道每个像素达到最小反射率值的波段是什么。
受支持的多维栅格数据集包括云栅格格式 (CRF)、多维镶嵌数据集或者由 netCDF、GRIB 或 HDF 文件生成的多维栅格图层。
此工具可生成采用云栅格格式 (CRF) 的多维栅格数据集。目前尚不支持其他输出格式。
如果输入多维栅格仅包含一个维度,则输出将是单波段栅格数据集。如果输入多维栅格包含多个维度,则输出多维栅格将包含分析中未包含的那些维度。
语法
FindArgumentStatistics(in_raster, {dimension}, {dimension_def}, {interval_keyword}, {variables}, {statistics_type}, {min}, {max}, {multiple_occurrence}, {ignore_nodata})
参数 | 说明 | 数据类型 |
in_raster | 要分析的输入多维或多波段栅格。 | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File |
dimension (可选) | 将从中提取统计数据的维度。如果输入栅格不是多维栅格,则不需要此参数。 | String |
dimension_def (可选) | 指定如何从维度中提取统计数据。
| String |
interval_keyword (可选) | 将用于提取统计数据的时间单位。 例如,您拥有五年的每日海面温度数据,且您希望知道观测到最高温度的年份。将统计类型设置为参数最大值,将维度定义设置为间隔关键字,并将关键字间隔设置为每年。 或者,如果您想知道在哪个月份可以一直观测到最高温度,请将统计类型设置为参数最大值,将维度定义设置为间隔关键字,并将关键字间隔设置为每月循环。该操作将生成一个栅格,其中每个像素都包含五年记录中达到统计数据的月份(例如 08/18/2018、08/25/2016、08/07/2013)。 当 dimension 参数设置为 StdTime 并且 dimension_def 参数设置为 INTERVAL_KEYWORD 时,此参数为必需项。
| String |
variables [variables,...] (可选) | 要分析的一个或多个变量。如果输入栅格不是多维栅格,则系统会将多波段栅格的像素值视为变量。如果输入栅格是多维栅格,且未指定任何变量,则系统将分析具有所选维度的全部变量。 例如,要查找温度值最高的年份,请将温度指定为要分析的变量。如果您没有指定任何变量,并且您同时拥有温度和降水量变量,则将分析这两个变量,并且输出多维栅格将包含两个变量。 | String |
statistics_type (可选) | 指定要沿给定维度从一个或多个变量中提取的统计数据。
| String |
min (可选) | 用于提取持续时间的最小变量值。 当将 statistics_type 参数设置为 DURATION 时,此参数为必需项。 | Double |
max (可选) | 用于提取持续时间的最大变量值。 当将 statistics_type 参数设置为 DURATION 时,此参数为必需项。 | Double |
multiple_occurrence (可选) | 用于表示输入栅格数据集中多次达到给定参数统计数据的像素值。如果未指定,则该像素值将是首次达到参数统计数据时的维度值。 | Long |
ignore_nodata (可选) | 指定分析中是否忽略 NoData 值。
| Boolean |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出栅格数据集。 | Raster |
代码示例
本示例可查找时间序列多维栅格中的最小月降水量和温度值。如果多次找到相同的最小值,则像素值将为 99999。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# get the date when the minimal precipitation was observed in each year
# as well as the date when the minimal temperature was observed in each year
argStatOutput = FindArgumentStatistics("prcp_temp_time_series.crf", "StdTime", "INTERVAL_KEYWORD", "YEARLY",
"prcp;temp", "ARGUMENT_MIN", None, None, 0, "DATA")
# Save output
argStatOutput.save("C:/data/yearly_min_temp_precip.crf")
本示例可在多维栅格中找到盐度在 10 到 15 个测量单位之间的最长时间间隔。
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
inFile = "C:/data/salinity.crf"
dimensionName = "Time"
dimensiondef = "ALL"
intervalkeyword = ''
variables = "temp"
arg_statistics_type = "DURATION"
min_value = 20
max_value = 25
multiple_occurrances_value = None
ignore_nodata = "NODATA"
# Execute
# get the number of continous slices that have temperature value between 20 and 25
argStatOutput = FindArgumentStatistics(inFile, dimensionName, dimensiondef, intervalkeyword,
variables, arg_statistics_type, min_value, max_value, multiple_occurrances_value, ignore_nodata)
# Save output
argStatOutput.save("C:/data/arg_statistics_output2.crf")
许可信息
- Basic: 需要 Image Analyst
- Standard: 需要 Image Analyst
- Advanced: 需要 Image Analyst