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