分区统计 (空间分析)

许可等级:BasicStandardAdvanced

摘要

计算另一个数据集的区域内栅格数据值的统计信息。

了解有关“分区统计”工作原理的详细信息

插图

Zonal Statistics illustration
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "MINIMUM")

用法

语法

ZonalStatistics (in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata})
参数说明数据类型
in_zone_data

定义区域的数据集。

可通过整型栅格或要素图层来定义区域。

Raster Layer | Feature Layer
zone_field

保存定义每个区域的值的字段。

该字段可以是区域数据集的整型字段或字符串型字段。

Field
in_value_raster

含有要计算统计数据的值的栅格。

Raster Layer
statistics_type
(可选)

要计算的统计类型。

  • MEAN 计算值栅格中与输出像元同属一个区域的所有像元的平均值。
  • MAJORITY 确定值栅格中与输出像元同属一个区域的所有像元中最常出现的值。
  • MAXIMUM 确定值栅格中与输出像元同属一个区域的所有像元的最大值。
  • MEDIAN 确定值栅格中与输出像元同属一个区域的所有像元的中值。
  • MINIMUM 确定值栅格中与输出像元同属一个区域的所有像元的最小值。
  • MINORITY 确定值栅格中与输出像元同属一个区域的所有像元中出现次数最少的值。
  • RANGE 计算值栅格中与输出像元同属一个区域的所有像元的最大值与最小值之差。
  • STD 计算值栅格中与输出像元同属一个区域的所有像元的标准差。
  • SUM 计算值栅格中与输出像元同属一个区域的所有像元的值的总和。
  • VARIETY 计算值栅格中与输出像元同属一个区域的所有像元中唯一值的数目。
String
ignore_nodata
(可选)

指示值输入中的 NoData 值是否会影响其所落入区域的结果。

  • DATA 在任意特定区域内,仅使用在输入值栅格中拥有值的像元来确定该区域的输出值。在统计计算过程中,值栅格内的 NoData 像元将被忽略。
  • NODATA 在任意特定区域内,如果值栅格中存在任何 NoData 像元,则会视作对该区域中所有像元执行统计计算的信息不足;因此,整个区域在输出栅格中都将接收 NoData 值。
Boolean

返回值

名称说明数据类型
out_raster

输出分区统计栅格。

Raster

代码实例

ZonalStatistics 示例 1(Python 窗口)

本示例为各区域确定了值输入栅格中的像元值范围。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
                                "NODATA")
outZonalStats.save("C:/sapyexamples/output/zonestatout")
ZonalStatistics 示例 2(独立脚本)

本示例为各区域确定了值输入栅格中的像元值范围。

# Name: ZonalStatistics_Ex_02.py
# Description: Calculates statistics on values of a raster 
#    within the zones of another dataset.
# 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
inZoneData = "zone"
zoneField = "value"
inValueRaster = "valueraster" 

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

# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
                                     "RANGE", "NODATA")

# Save the output 
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2")

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 需要 Spatial Analyst
ArcGIS for Desktop Standard: 需要 Spatial Analyst
ArcGIS for Desktop Advanced: 需要 Spatial Analyst
5/10/2014