块统计 (Spatial Analyst 工具)
汇总
插图

OutRas = BlockStatistics(InRas1, NbrRectangle(3,3,"CELL"), "MAXIMUM", "DATA")
用法
有多种邻域形状和统计数据类型可供选择。 可用的统计数据取决于输入栅格的类型。
可用的邻域形状有环形(圆环或环)、圆形、矩形和楔形。 使用核文件可定义自定义邻域形状。
当指定某圆形、环形或楔形邻域时,取决于邻域的大小,可能在计算中不会考虑与 x 轴或 y 轴不垂直的像元。 但是,这些像元位置将从邻域计算中获得结果值,因为它们位于这些圆形邻域类型的最小外接矩形(或输出块)内。
不规则与权重邻域类型需要指定核文件值。 核文件是一个 ASCII 文本文件,用于指定邻域的值和形状。 可以使用任何纯文本编辑器来创建此文件。 文件的扩展名必须是 .txt,且文件名中没有空格。
有关创建和使用核文件的信息,请参阅块统计的工作原理的“不规则”部分和“权重”部分。
对于整型输入栅格,统计类型的有效选择包括:多数、最大值、平均值、中值、最小值、少数、范围、标准差、总和及变异度。 对于浮点型输入栅格,有效统计数据包括:最大值、平均值、最小值、范围、标准差和总和。 多数、中值、少数和变异度不可用。
如果输入栅格为整型,则以下统计数据的输出栅格将为整型:多数、最大值、中值、最小值、少数、范围、总和和变异度。 平均值和标准差统计数据的输出为浮点型。
如果输入栅格为浮点型,则所有可用统计类型的输出均为浮点型。
对于中值计算,如果区块邻域具有奇数个像元,则将对值进行排列,然后将排在中间的值作为中值。 如果块具有偶数个像元,则将对这些值进行排列,并从两个中间值中选择较低的值。
对于众数和少数计算,当存在平局时,输出将为平局值的最低值。
仅当统计类型为平均值、标准差和总和时,方可将邻域参数设置为权重。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
参数
|
标注
|
说明
|
数据类型
|
|
输入栅格
|
将针对像元块计算统计数据的栅格。
|
Raster Layer
|
|
邻域
(可选)
|
统计计算中将使用的处理块的像元。 有多种预定义邻域类型可供选择,也可以定义自定义核。
选择邻域类型后,可设置其他参数来完全定义形状、大小和测量单位。 默认邻域是宽和高为三个像元的方矩形。
以下为可用邻域类型的形式:
环形,内半径,外半径,单位类型
由内半径和外半径定义的环或圆环形邻域。 半径的最小值为 1 个像元,并且外半径必须大于内半径。 最大内半径为 2046 个像元,最大外半径为 2047 个像元。 默认环形的内半径为 1 个像元,外半径为 3 个像元。
圆形,半径,单位类型
具有给定半径的圆形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 默认半径为 3 个像元。
矩形,高度,宽度,单位类型
由宽度和高度定义的矩形邻域。 宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。 默认设置是宽度和高度为 3 个像元的正方形。
楔形,半径,起始角度,终止角度,单位类型
由半径、起始角度和终止角度定义的楔形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 楔形按逆时针方向从起始角延伸到终止角。 角度以度为单位进行指定,0 或 360 的值表示东方。 也可使用负角度。 默认楔形起始角度为 0 度,终止角度为 90 度,半径为 3 个像元。
不规则,核文件
带有通过已识别核文本文件设置的规范的自定义邻域。 核宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。
权重,核文件
带有通过已识别核文本文件设置的规范的自定义邻域,可将权重应用于邻域的成员。 核宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。
对于环形、圆形、矩形和楔形邻域类型,参数的距离单位能够以像元单位或地图单位进行指定。 默认设置为“像元”单位。
对于核邻域,核文件中的第一行将以像元数来定义邻域的宽度和高度。 后续各行将指示如何处理与核中该位置相对应的输入值。 核文件中不规则邻域或权重邻域类型的值为 0 表示相应位置将不包括在计算中。 对于不规则邻域,核文件中的值为 1 表示相应的输入像元将包含在运算中。 对于权重邻域,每个位置的值均表示需要与对应输入像元值相乘的值。 可以使用正值、负值和小数值。
|
Neighborhood
|
|
统计类型
(可选)
|
用于指定要计算的统计数据类型。
默认统计类型为平均值。
如果输入栅格为整型,则所有统计类型均可用。 如果输入栅格为浮点型,则只有平均值、最大值、最小值、范围、标准差和总和统计类型可用。
平均值—将计算邻域内像元的平均值。
多数—将识别邻域内像元的众数(出现次数最多的值)。
最大值—将识别邻域内像元的最大值。
中值—将计算邻域内像元的中值。
最小值—将识别邻域内像元的最小值。
少数—将识别邻域内像元的少数(出现次数最少的值)。
范围—将计算邻域内像元的范围(最大值和最小值之差)。
标准差—将计算邻域内像元的标准差。
总和—将计算邻域内像元的总和。
变异度—将计算邻域内像元的变异度(唯一值的数量)。
|
String
|
|
在计算中忽略 NoData
(可选)
|
指定在进行统计计算时是否将忽略 NoData 值。
|
Boolean
|
返回值
|
标注
|
说明
|
数据类型
|
|
输出栅格
|
输出块统计栅格。
|
Raster
|
BlockStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata})
|
名称
|
说明
|
数据类型
|
|
in_raster
|
将针对像元块计算统计数据的栅格。
|
Raster Layer
|
|
neighborhood
(可选)
|
统计计算中将使用的处理块的像元。 有多种预定义邻域类型可供选择,也可以定义自定义核。
选择邻域类型后,可设置其他参数来完全定义形状、大小和测量单位。 默认邻域是宽和高为三个像元的方矩形。
邻域的形状将由 Neighborhood 类进行定义。 可用的邻域类型有 NbrAnnulus、NbrCircle、NbrRectangle、NbrWedge、NbrIrregular , 和 NbrWeight。
以下为可用邻域类型的形式:
NbrAnnulus({innerRadius}, {outerRadius}, {units})
由内半径和外半径定义的环或圆环形邻域。 半径的最小值为 1 个像元,并且外半径必须大于内半径。 最大内半径为 2046 个像元,最大外半径为 2047 个像元。 默认环形的内半径为 1 个像元,外半径为 3 个像元。
NbrCircle({radius}, {units}
具有给定半径的圆形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 默认半径为 3 个像元。
NbrRectangle({width}, {height}, {units})
由宽度和高度定义的矩形邻域。 宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。 默认设置是宽度和高度为 3 个像元的正方形。
NbrWedge({radius}, {startAngle}, {endAngle}, {units})
由半径、起始角度和终止角度定义的楔形邻域。 最小半径为 1 个像元,最大值为 2047 个像元。 楔形按逆时针方向从起始角延伸到终止角。 角度以度为单位进行指定,0 或 360 的值表示东方。 也可使用负角度。 默认楔形起始角度为 0 度,终止角度为 90 度,半径为 3 个像元。
NbrIrregular(inKernelFile)
带有通过已识别核文本文件设置的规范的自定义邻域。 核宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。
NbrWeight(inKernelFile)
带有通过已识别核文本文件设置的规范的自定义邻域,可将权重应用于邻域的成员。 核宽度或高度的最小值为 1 个像元,最大值为 4096 个像元。
对于 NbrAnnulus、Nbrcircle、NbrRectangle 和 NbrWedge 邻域,参数的距离单位可指定为 CELL 单位或 MAP 单位。 默认设置为“像元”单位。
对于核邻域,核文件中的第一行将以像元数来定义邻域的宽度和高度。 后续各行将指示如何处理与核中该位置相对应的输入值。 核文件中不规则邻域或权重邻域类型的值为 0 表示相应位置将不包括在计算中。 对于不规则邻域,核文件中的值为 1 表示相应的输入像元将包含在运算中。 对于权重邻域,每个位置的值均表示需要与对应输入像元值相乘的值。 可以使用正值、负值和小数值。
|
Neighborhood
|
|
statistics_type
(可选)
|
用于指定要计算的统计数据类型。
默认统计类型为 MEAN。
如果输入栅格为整型,则所有统计类型均可用。 如果输入栅格为浮点型,则只有 MEAN、MAXIMUM、MINIMUM、RANGE、STD 和 SUM 统计类型可用。
MEAN—将计算邻域内像元的平均值。
MAJORITY—将识别邻域内像元的众数(出现次数最多的值)。
MAXIMUM—将识别邻域内像元的最大值。
MEDIAN—将计算邻域内像元的中值。
MINIMUM—将识别邻域内像元的最小值。
MINORITY—将识别邻域内像元的少数(出现次数最少的值)。
RANGE—将计算邻域内像元的范围(最大值和最小值之差)。
STD—将计算邻域内像元的标准差。
SUM—将计算邻域内像元的总和。
VARIETY—将计算邻域内像元的变异度(唯一值的数量)。
|
String
|
|
ignore_nodata
(可选)
|
指定在进行统计计算时是否将忽略 NoData 值。
|
Boolean
|
返回值
|
名称
|
说明
|
数据类型
|
|
out_raster
|
输出块统计栅格。
|
Raster
|
代码示例
BlockStatistics 示例 1(Python 窗口)
本示例计算输入栅格中每个非重叠环形(圆环形状)邻域内的最小像元值。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
nbr = NbrAnnulus(1, 3, "MAP")
outBlockStat = BlockStatistics("block", nbr, "MINIMUM", "")
outBlockStat.save("C:/sapyexamples/output/blockstat")
BlockStatistics 示例 2(独立脚本)
本示例计算输入格网栅格中每个非重叠环形(圆环形状)邻域内的最小像元值。
# Name: BlockStatistics_Ex_02.py
# Description: Calculates statistics for a nonoverlapping
# neighborhood.
# Requirements: Spatial Analyst extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "block"
nbr = NbrAnnulus(1, 3, "MAP")
# Run BlockStatistics
outBlockStat = BlockStatistics(inRaster, nbr, "MINIMUM", "NODATA")
# Save the output
outBlockStat.save("C:/sapyexamples/output/blockstat")
环境
自动提交, 像元大小, 像元大小投影方法, 压缩, 当前工作空间, 范围, 地理变换, 掩膜, 输出配置关键字, 输出坐标系, 临时工作空间, 捕捉栅格, 分块大小
许可信息
- 基本: 需要 Spatial Analyst
- 标准: 需要 Spatial Analyst
- 高级: 需要 Spatial Analyst