维度移动统计数据 (影像分析工具)
汇总
用法
移动统计数据也可以称为移动窗口统计数据、滚动统计数据或运行统计数据。 在进行下一个维度计算之前,将使用每个维度值周围的预定义窗口来计算各种统计数据。 后向窗口和前向窗口参数用于定义维度两侧的窗口大小。
输入栅格只能是云栅格格式(.crf 文件)的多维栅格。
此工具只会处理一个维度。 默认情况下,除了 x,y 之外的第一个维度将用作处理维度。
圆平均值统计类型将计算角度或其他循环量的平均值,例如以度为单位的罗盘方向。 选择此选项后,圆换行值参数将变为可用。 可以使用此参数指定要换行的值以计算圆平均值。 例如,对于角度计算,圆换行值应为 360 度,这意味着值 360 将被换行为 0,而值 370 将被换行为 10。 另一个用途是计算一年中月份的时间,在这种情况下,圆换行值应为 12。 在本例中,输入值 13 将被换行为 1。
如果输入多维栅格为整型,则统计类型的有效选项为平均值、圆平均值、众数、最大值、中值、最小值和百分位数。 如果输入栅格为浮点型,则众数不可用。
如果输入栅格为整型,则以下选项的输出栅格将为整型:众数、最大值和最小值。 对于平均值、圆平均值、中值和百分位数,输出将为浮点型。
如果输入栅格为浮点型,则所有可用统计类型的输出均为浮点型。
对于众数选项,当存在平局时,输出将为平局值的最低值。
参数
|
标注
|
说明
|
数据类型
|
|
输入多维栅格
|
输入栅格只能是云栅格格式(.crf 文件)的多维栅格。
|
Raster Layer
|
|
维度
(可选)
|
窗口将沿其移动的维度的名称。
默认值为输入多维栅格中除了 x,y 之外的第一个维度。
|
String
|
|
后向窗口
(可选)
|
定义窗口中将包含的之前或上方切片数量的值。 该值必须是 1 到 100 之间的正整数。 默认值为 1。
参数单位为切片。
|
Long
|
|
前向窗口
(可选)
|
定义窗口中将包含的之后或下方切片数量的值。 该值必须是 1 到 100 之间的正整数。 默认值为 1。
参数单位为切片。
|
Long
|
|
NoData 处理
(可选)
|
指定统计计算将处理 NoData 值的方式。
数据—计算所选统计数据时,定义窗口内的 NoData 值将被忽略。 将仅使用定义窗口内具有数据值的像元来确定输出值。 如果处理像元为 NoData,则该像元将在输出栅格中接收值,前提是该定义窗口内至少有一个像元具有有效值。 这是默认设置。
NoData—如果在定义窗口中找到任何 NoData 值,则输出值将为 NoData。 存在 NoData 值表明确定定义窗口的统计值所需要的信息不足。
填充 NoData—NoData 像元值将使用从定义窗口内的值计算所得的所选统计数据在输出中替换。 具有数据值的输入像元将在输出中保持不变。
|
String
|
|
统计类型
(可选)
|
指定要计算的统计类型。
平均值—将计算定义窗口内像元的平均值。 这是默认设置。
圆平均值—将计算角度或其他循环量(例如以度为单位的罗盘方向、日间或实数的小数部分)的平均值。 指定此统计类型后,圆换行值参数将变为可用。 使用此参数指定一个换行值。
众数—将识别定义窗口内像元的众数(出现次数最多的值)。
最大值—将识别定义窗口内像元的最大值。
中值—将识别定义窗口内像元的中值。
最小值—将识别定义窗口内像元的最小值。
百分位数—将计算定义窗口内像元的百分比数。 默认情况下将计算 90% 百分比数。 指定此统计类型后,百分位数和百分位数插值类型参数将变为可用。 可以使用这些新参数分别指定要计算的百分比数并选择要使用的插值类型。
|
String
|
|
百分位值
(可选)
|
将计算的百分比值。 对于 90%,其默认值为 90。
取值范围为 0 到 100。 0% 基本上等同于最小值统计数据,而 100% 则等同于最大统计数据。 值 50 所生成的结果基本等同于中值统计数据的结果。
仅当统计类型参数设置为百分位数时,系统才支持此参数。
|
Double
|
|
百分位数插值类型
(可选)
|
指定当百分位值落在两个像元值之间时将使用的插值方法。
仅当统计类型参数设置为中值或百分位数时,系统才支持此参数。
自动检测—如果输入栅格的像素类型为整型,则将使用最近邻方法。 如果输入栅格的像素类型为浮点型,则将使用线性方法。 这是默认设置。
最近邻—使用最接近的百分位数的可用值。 在这种情况下,输出像素类型与输入栅格的像素类型相同。
线性—使用接近百分比数的两个值的加权平均值。 在本例中,输出像素类型为浮点型。
|
String
|
|
圆换行值
(可选)
|
用于将线性值转换为给定圆平均值范围的值。 其值必须为正。 默认值为 360 度。
仅当统计类型参数设置为圆平均值时,系统才支持此参数。
|
Double
|
派生输出
|
标注
|
说明
|
数据类型
|
|
栅格函数参数 JSON
|
函数参数。 此输出仅限内部使用。
|
String
|
返回值
|
标注
|
说明
|
数据类型
|
|
输出多维栅格
|
输出栅格只能是云栅格格式(.crf 文件)的多维栅格。
|
Raster
|
DimensionalMovingStatistics(in_raster, {dimension}, {backward_window}, {forward_window}, {nodata_handling}, {statistics_type}, {percentile_value}, {percentile_interpolation_type}, {circular_wrap_value})
|
名称
|
说明
|
数据类型
|
|
in_raster
|
输入栅格只能是云栅格格式(.crf 文件)的多维栅格。
|
Raster Layer
|
|
dimension
(可选)
|
窗口将沿其移动的维度的名称。
默认值为输入多维栅格中除了 x,y 之外的第一个维度。
|
String
|
|
backward_window
(可选)
|
定义窗口中将包含的之前或上方切片数量的值。 该值必须是 1 到 100 之间的正整数。 默认值为 1。
参数单位为切片。
|
Long
|
|
forward_window
(可选)
|
定义窗口中将包含的之后或下方切片数量的值。 该值必须是 1 到 100 之间的正整数。 默认值为 1。
参数单位为切片。
|
Long
|
|
nodata_handling
(可选)
|
指定统计计算将处理 NoData 值的方式。
DATA—计算所选统计数据时,定义窗口内的 NoData 值将被忽略。 将仅使用定义窗口内具有数据值的像元来确定输出值。 如果处理像元为 NoData,则该像元将在输出栅格中接收值,前提是该定义窗口内至少有一个像元具有有效值。 这是默认设置。
NODATA—如果在定义窗口中找到任何 NoData 值,则输出值将为 NoData。 存在 NoData 值表明确定定义窗口的统计值所需要的信息不足。
FILL_NODATA—NoData 像元值将使用从定义窗口内的值计算所得的所选统计数据在输出中替换。 具有数据值的输入像元将在输出中保持不变。
|
String
|
|
statistics_type
(可选)
|
指定要计算的统计类型。
MEAN—将计算定义窗口内像元的平均值。 这是默认设置。
CIRCULAR_MEAN—将计算角度或其他循环量(例如以度为单位的罗盘方向、日间或实数的小数部分)的平均值。 指定此统计类型时,需使用 circular_wrap_value 参数指定换行值。
MAJORITY—将识别定义窗口内像元的众数(出现次数最多的值)。
MAXIMUM—将识别定义窗口内像元的最大值。
MEDIAN—将识别定义窗口内像元的中值。
MINIMUM—将识别定义窗口内像元的最小值。
PERCENTILE—将计算定义窗口内像元的百分比数。 默认情况下将计算 90% 百分比数。 指定此统计类型后,分别使用 percentile_value 和 percentile_interpolation_type 参数指定要计算的百分比数和选择要使用的插值类型。
|
String
|
|
percentile_value
(可选)
|
将计算的百分比值。 对于 90%,其默认值为 90。
取值范围为 0 到 100。 0% 基本上等同于最小值统计数据,而 100% 则等同于最大统计数据。 值 50 所生成的结果基本等同于中值统计数据的结果。
此参数仅在 statistics_type 参数设置为 PERCENTILE 时受支持。 如果指定任何其他统计类型,则将忽略此参数。
|
Double
|
|
percentile_interpolation_type
(可选)
|
指定当百分位值落在两个像元值之间时将使用的插值方法。
仅当 statistics_type 参数设置为 MEDIAN 或 PERCENTILE 时,系统才支持此参数。 如果指定任何其他统计类型,则将忽略此参数。
AUTO_DETECT—如果输入栅格的像素类型为整型,则将使用 NEAREST 方法。 如果输入栅格的像素类型为浮点型,则将使用 LINEAR 方法。
NEAREST—使用最接近的百分位数的可用值。 在这种情况下,输出像素类型与输入栅格的像素类型相同。
LINEAR—使用接近百分比数的两个值的加权平均值。 在本例中,输出像素类型为浮点型。
|
String
|
|
circular_wrap_value
(可选)
|
用于将线性值转换为给定圆平均值范围的值。 其值必须为正。 默认值为 360 度。
此参数仅在 statistics_type 参数设置为 CIRCULAR_MEAN 时受支持。 如果指定任何其他统计类型,则将忽略此参数。
|
Double
|
派生输出
|
名称
|
说明
|
数据类型
|
|
raster_function_arguments_json
|
函数参数。 此输出仅限内部使用。
|
String
|
返回值
|
名称
|
说明
|
数据类型
|
|
out_raster
|
输出栅格只能是云栅格格式(.crf 文件)的多维栅格。
|
Raster
|
代码示例
DimensionalMovingStatistics 示例 1(Python 窗口)
本示例计算了输入多维栅格中每个像元周围的三层窗口中的平均值。
import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
out_dimstats = DimensionalMovingStatistics("md_raster.crf", "StdTime",
1, 1, "NODATA", "MEAN")
out_dimstats.save("C:/iapyexamples/output/DMS01.crf")
DimensionalMovingStatistics 示例 2(独立脚本)
本示例确定了输入多维栅格中每个像元周围的五层移动窗口中出现频率最高的值。
# Name: DimensionalMovingStatistics_standalone.py
# Description: Calculates majority on a multidimensional raster
# along its time dimension.
# Requirements: Image Analyst extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *
# Set the analysis environment
env.workspace = "C:/iapyexamples/data"
# Set local variables
in_raster = "mining_location.crf"
dimension = "StdTime"
backward_window = 2
forward_window = 2
nodata_handling = "FILL_NODATA"
statistics_type = "MAJORITY"
# Run DimensionalMovingStatistics
out_dimstats = DimensionalMovingStatistics(in_raster, dimension,
backward_window, forward_window, nodata_handling,
statistics_type)
# Save the output
out_dimstats.save("C:/iapyexamples/output/mining_location_out.crf")
环境
自动提交, 像元大小, 像元大小投影方法, 压缩, 当前工作空间, 范围, 地理变换, 掩膜, 输出配置关键字, 输出坐标系, 并行处理因子, 临时工作空间, 捕捉栅格, 切片大小
许可信息
- 基本: 需要 Image Analyst 或 Spatial Analyst
- 标准: 需要 Image Analyst 或 Spatial Analyst
- 高级: 需要 Image Analyst 或 Spatial Analyst