维度移动统计 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

在沿指定维度的多维数据的移动窗口上计算统计数据。

使用情况

  • 移动统计也可以称为移动窗口统计、滚动统计或运行统计 各维度值周围的预定义窗口用于在移动到下一个维度值前计算各种统计数据。 向后窗口向前窗口参数允许您定义维度两侧的窗口大小。

  • 输入栅格只能是云栅格格式(.crf 文件)的多维栅格。

  • 此工具只会处理一个维度。 默认情况下,除 x,y 之外的第一个维度将用作处理维度。

  • 圆平均值统计类型用于计算角度或其他循环量的平均值,例如以度为单位的罗盘方向。 选择此选项后,圆换行值参数将处于可用状态。 使用此参数指定一个值来计算圆平均值。 例如,对于角度计算,圆换行值应为 360 度,这意味着值 360 将被换行为 0,而值 370 将被换行为 10。 另一个用途是计算一年中的月份数量,在这种情况下,圆换行值应为 12。 在这种情况下,输入值 13 将被换行为 1。

  • 如果输入多维栅格为整数,则统计类型的有效选项包括:平均值圆平均值众数最大值中值最小值百分比数。 如果输入栅格是浮点型,则众数不可用。

  • 如果输入栅格为整型,则以下统计数据的输出栅格将为整型:众数最大值最小值。 则以下统计数据的输出将为浮点型:平均值圆平均值中值百分比数

    如果输入栅格为浮点型,则所有可用统计数据类型的输出都将为浮点型。

  • 对于统计类型参数的众数设置,如果一个像元值在邻域中出现频率最高(出现频率最高的单个值),则将为该处理像元返回这个值。 如果两个或多个像元值的出现频率最高(像元值之间的连接),则不会识别单个众数值,并且该处理像元的输出将为 NoData。

参数

标注说明数据类型
输入多维栅格

输入栅格只能是云栅格格式(.crf 文件)的多维栅格。

Raster Layer
维度
(可选)

窗口将沿其移动的维度名称。

默认值是输入多维栅格中除 x,y 之外的第一个维度。

String
向后窗口
(可选)

定义窗口中将包含的之前或上方切片数量的值。 该值必须是 1 到 100 之间的正整数。 默认值为 1。

参数单位为切片。

Long
向前窗口
(可选)

定义窗口中将包含的之后或下方切片数量的值。 该值必须是 1 到 100 之间的正整数。 默认值为 1。

参数单位为切片。

Long
NoData 处理
(可选)

指定进行统计计算时将如何处理 NoData 值。

  • 数据值输入中的 NoData 值将在其所落入定义窗口的结果中被忽略。 这是默认设置。
  • NoData如果在定义窗口的输入中找到任何 NoData 值,则输出值将为 NoData。
  • 填充 NoDataNoData 像元值将使用定义窗口内的值的所选统计数据替换。
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。
  • FILL_NODATANoData 像元值将使用定义窗口内的值的所选统计数据替换。
String
statistics_type
(可选)

指定要计算的统计数据类型。

  • MEAN将计算定义窗口内像元的平均值。 这是默认设置。
  • CIRCULAR_MEAN将计算窗口内像元的圆平均值。 选择此统计类型时,需使用 circular_wrap_value 参数指定要使用的换行值。
  • MAJORITY将识别定义窗口内像元的众数(出现次数最多的值)。
  • MAXIMUM将识别定义窗口内像元的最大值。
  • MEDIAN将识别定义窗口内像元的中值。
  • MINIMUM将识别定义窗口内像元的最小值。
  • PERCENTILE将计算定义窗口内像元的百分比数。 默认情况下将计算 90% 百分比数。 选择此统计类型时,分别使用 percentile_valuepercentile_interpolation_type 参数指定要计算的百分比数和选择要使用的插值类型。
String
percentile_value
(可选)

将计算百分数值。 对于 90%,其默认值为 90。

值范围可以介于 0 到 100 之间。 0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”统计数据。 值 50 所生成的结果基本等同于“中值”统计数据的结果。

此参数仅在 statistics_type 参数设置为 PERCENTILE 时受支持。 如果指定任何其他统计类型,则将忽略此参数。

Double
percentile_interpolation_type
(可选)

指定当百分比值介于两个像元值之间时要使用的插值方法。

此参数仅在 statistics_type 参数设置为 MEDIANPERCENTILE 时受支持。 如果指定任何其他统计类型,则将忽略此参数。

  • AUTO_DETECT如果输入栅格的像素类型为整型,则将使用 NEAREST 方法。 如果输入栅格的像素类型为浮点型,则将使用 LINEAR 方法。
  • NEAREST使用最接近的百分位数的可用值。 在这种情况下,输出像素类型与输入栅格的像素类型相同。
  • LINEAR将使用接近百分位数的两个值的加权平均值。 在这种情况下,输出像素类型为浮点型。
String
circular_wrap_value
(可选)

将用于将线性值四舍五入到给定圆平均值范围的值。 其值必须为正值。 默认值为 360 度。

此参数仅在 statistics_type 参数设置为 CIRCULAR_MEAN 时受支持。 如果指定任何其他统计类型,则将忽略此参数。

Double

返回值

名称说明数据类型
out_raster

输出栅格只能是云栅格格式(.crf 文件)的多维栅格。

Raster

派生输出

名称说明数据类型
raster_function_arguments_json

函数参数。 此输出仅限内部使用。

String

代码示例

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 *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# 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"

# Execute 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")

许可信息

  • Basic: 需要 Image Analyst 或 Spatial Analyst
  • Standard: 需要 Image Analyst 或 Spatial Analyst
  • Advanced: 需要 Image Analyst 或 Spatial Analyst

相关主题