以表格显示分区统计 (空间分析)

许可等级:BasicStandardAdvanced

摘要

汇总另一个数据集区域内的栅格数据值并以表的形式显示结果。

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

插图

Zonal Statistics as Table illustration
ZonalStatisticsAsTable(ZoneRas, "Value", ValRas, OutTable, "ALL")

用法

语法

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

定义区域的数据集。

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

Raster Layer | Feature Layer
zone_field

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

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

Field
in_value_raster

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

Raster Layer
out_table

将包含每个区域中值的汇总的输出表。

表的格式由输出位置和路径确定。如果未指定扩展名,则该表将为 INFO 表。如果位置在地理数据库中,将创建此特殊类型(例如文件或 ArcSDE 地理数据库)的输出表。如果名称包含 .dbf 扩展名,输出将为 dBASE 格式。

Table
ignore_nodata
(可选)

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

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

要计算的统计类型。

  • ALL将计算所有的统计数据。这是默认设置。
  • MEAN 计算值栅格中与输出像元同属一个区域的所有像元的平均值。
  • MAJORITY 确定值栅格中与输出像元同属一个区域的所有像元中最常出现的值。
  • MAXIMUM 确定值栅格中与输出像元同属一个区域的所有像元的最大值。
  • MEDIAN 确定值栅格中与输出像元同属一个区域的所有像元的中值。
  • MINIMUM 确定值栅格中与输出像元同属一个区域的所有像元的最小值。
  • MINORITY 确定值栅格中与输出像元同属一个区域的所有像元中出现次数最少的值。
  • RANGE 计算值栅格中与输出像元同属一个区域的所有像元的最大值与最小值之差。
  • STD 计算值栅格中与输出像元同属一个区域的所有像元的标准差。
  • SUM 计算值栅格中与输出像元同属一个区域的所有像元的值的总和。
  • VARIETY 计算值栅格中与输出像元同属一个区域的所有像元中唯一值的数目。
  • MIN_MAX既计算最小值统计数据也计算最大值统计数据。
  • MEAN_STD既计算平均值统计数据也计算标准差统计数据。
  • MIN_MAX_MEAN同时计算最小值、最大值和平均值统计数据。
String

代码实例

ZonalStatisticsAsTable 示例 1(Python 窗口)

本示例对面要素定义的区域内的栅格值进行了汇总,并将结果记录在表中。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZSaT = ZonalStatisticsAsTable("zones.shp", "Classes", "valueforzone",
                                  "zonalstattblout", "NODATA", "SUM")
ZonalStatisticsAsTable 示例 2(独立脚本)

本示例对面要素定义的区域内的栅格值进行了汇总,并将结果记录在 .dbf 文件中。

# Name: ZonalStatisticsAsTable_Ex_02.py
# Description: Summarizes values of a raster within the zones of 
#              another dataset and reports the results to a table.
# 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 = "zones.shp"
zoneField = "Classes"
inValueRaster = "valueforzone"
outTable = "zonalstattblout02.dbf"


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

# Execute ZonalStatisticsAsTable
outZSaT = ZonalStatisticsAsTable(inZoneData, zoneField, inValueRaster, 
                                 outTable, "NODATA", "MEAN")

环境

相关主题

许可信息

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