块统计 (Spatial Analyst)
插图
用法
-
如果输入栅格为浮点型,则只有平均值、最大值、最小值、范围、标准差和总和统计类型可用;众数、少数、中值和变异度统计类型则不允许使用。如果输入栅格为整型,则所有统计类型均可用。
-
当指定某圆形、环形或楔形邻域时,取决于邻域的大小,可能在计算中不会考虑与 x 轴或 y 轴不垂直的像元。但是,由于这些像元的位置落入此类圆形邻域的最小外接矩形(或输出块)中,因此它们仍将从该邻域的计算中接收到结果值。
-
如果输入栅格为整型,那么输出栅格也为整型。由于“平均值”或 STD 统计类型的输出栅格类型始终为浮点型,所以它们是例外。如果输入类型为浮点型,那么所有可用统计类型的输出都为浮点型。
-
不规则与权重邻域类型需要指定核文件。核文件应具有一个 .txt 文件扩展名。
有关创建和使用核文件的信息,请参阅块统计的工作原理的“不规则”部分和“权重”部分。
-
对于“中位数”统计类型,如果块中的像元数为奇数,则将对值进行排列,然后将排在中间的值作为中位数并取整。如果块中的像元数为偶数,则将对这些值进行排列,然后将排在中间的两个值取平均值后舍入为最接近的整数。
-
对于“众数”统计类型,将为没有单个众数值的像元(即,块中两个或两个以上的值所对应的像元数为最多且相等)分配 NoData。对于“少数”统计类型,对于没有单个少数值的像元也将分配 NoData。
-
当“统计”类型为“平均值”、“少数”、“标准差”或“总和”时,可将邻域分析类型设置为权重。
语法
参数 | 说明 | 数据类型 |
in_raster |
执行“块统计”计算所用的栅格。 | Raster Layer |
neighborhood (可选) |
邻域类表示用于计算统计数据的各像元周围区域的形状。 不同类型的可用邻域包括 NbrAnnulus、NbrCircle、NbrRectangle、NbrWedge、NbrIrregular 和 NbrWeight。 以下为邻域的形式:
默认邻域为宽和高为 3 个像元的正方形 NbrRectangle。 | Neighborhood |
statistics_type (可选) |
要计算的统计数据类型。
默认统计类型为平均值。 | String |
ignore_nodata (可选) |
指示在进行统计计算时是否忽略 NoData 值。
| Boolean |
返回值
名称 | 说明 | 数据类型 |
out_raster |
输出块统计栅格。 | Raster |
代码实例
本示例计算输入 GRID 栅格中每个非重叠环形(圆环形状)邻域内的最小像元值。
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")
本示例计算输入 GRID 栅格中每个非重叠环形(圆环形状)邻域内的最小像元值。
# 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")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BlockStatistics
outBlockStat = BlockStatistics(inRaster, nbr, "MINIMUM", "NODATA")
# Save the output
outBlockStat.save("C:/sapyexamples/output/blockstat")