需要 Spatial Analyst 许可。
描述
为每个输入像元位置计算其周围指定邻域内的值的统计数据。
插图
使用方法
如果输入栅格为整型,则所有统计类型均可用。如果输入栅格为浮点型,则只有平均值、最大值、中值、最小值、百分比数、范围、标准差和总和统计类型可用;众数、少数和变异度统计类型则不允许使用。
当指定某圆形、环形或楔形邻域时,因为像元的中心必须包含在邻域中,所以在计算中可能不考虑一些外部对角线像元。
不规则与权重邻域类型需要指定核文件。核文件应具有 .txt 文件扩展名。
有关创建和使用核文件的信息,请参阅焦点统计的工作原理的“不规则”部分和“权重”部分。
仅当统计类型为“平均值”、“标准差”和“总和”时,方可将邻域类型设置为权重。
假设邻域内至少有一个含有效值的像元,则选中在计算中忽略 NoData 参数时,NoData 输入像元可能会在输出中接收到一个值。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
参数 | 说明 | 数据类型 |
in_raster | 系统将计算其焦点统计数据的栅格。 | Raster Layer |
neighborhood (可选) | Neighborhood 类表示用于计算统计数据的各像元周围区域的形状。 可用的邻域类型包括 NbrAnnulus、NbrCircle、NbrRectangle、NbrWedge、NbrIrregular, 和 NbrWeight。 以下为邻域的形式:
默认邻域为宽和高为 3 个像元的正方形 NbrRectangle。 | Neighborhood |
statistics_type (可选) | 指定要计算的统计数据类型。
默认统计类型为 MEAN。 如果输入栅格为整型,则所有统计类型均可用。如果输入栅格为浮点型,则只有“平均值”、“最大值”、“中值”、“最小值”、“百分比数”、“范围”、“标准差”和“总和”统计类型可用。 | String |
ignore_nodata (可选) | 指定在进行统计计算时是否将忽略 NoData 值。
| Boolean |
percentile_value (可选) | 要计算的百分比数。对于 90%,其默认值为 90。 取值范围为 0 到 100。0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”。值 50 所生成的结果基本等同于“中值”统计数据的结果。 此选项仅在将 statistics_type 参数设置为 percentile 后可用。 | Double |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出焦点统计栅格。 | Raster |
代码示例
FocalStatistics 示例 1(Python 窗口)
本例计算输入栅格中每个像元周围的环形邻域内出现频率最低的值。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"),
"MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
FocalStatistics 示例 2(独立脚本)
本例确定输入栅格中每个像元周围的 10×10 邻域内出现频率最低的值。
# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
# 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 = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
"")
# Save the output
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")
环境
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst