ArcGIS for Desktop

  • 文档
  • 合约
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS for Desktop

全面的专业性 GIS

ArcGIS for Server

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 合约
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

以表格显示分区统计

需要 Spatial Analyst 许可。

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

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

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

插图

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

用法

  • 区域定义为输入中具有相同值的所有区。各区无需相连。栅格和要素数据集都可用于区域输入。

  • 如果区域输入和值输入均为具有相同分辨率的栅格,则可直接使用它们。

    如果分辨率不同,则可先应用内部重采样以使其相一致,然后再执行区域操作。

    倘若输入中存在任何 NoData 像元,重采样就可能在输出中产生比您预期更大的 NoData 区域。要避免此种情况,可重采样粗糙输入栅格,提高输入栅格的分辨率,或者在“栅格分析”环境下将像元大小设置为输入的最小值。

  • 如果区域输入为栅格数据集,则该输入必须具有属性表。通常会自动为整型栅格数据创建属性表,但是某些情况下可能不会这样做。您可以使用构建栅格属性表来创建一个属性表。

  • 如果区域输入是要素数据集,则可在内部对其应用“矢量至栅格”转换。要确保转换结果与值栅格完全对齐,建议您进行检查以确保环境设置和栅格设置中的范围和捕捉栅格设置正确。

    由于内部栅格必须具有属性表,因此在转换中不创建属性表的情况下将会发生错误。如果发生此错误,则使用要素转栅格、面转栅格、点转栅格或折线转栅格直接转换要素数据集。按先前提示中所述内容为其生成属性表,然后使用生成的栅格作为“区域”输入。

  • 如果区域输入为要素相对较小的要素数据集,则需要牢记,信息的分辨率需要适合于值栅格的分辨率。如果单个要素的区域相似于或小于值栅格中单个像元的区域,则在要素转栅格转换过程中,某些区域可能不会显示。

    要对此进行显示,需尝试使用适当的要素转栅格转换工具将要素数据集转换为栅格,然后将分辨率指定为值栅格的分辨率。通过此转换产生的结果会指明区域操作的默认输出将是什么。

    如果输出中的结果比您预期的少,则需要确定表示要素输入细节的适当的栅格分辨率,然后使用此分辨率作为“栅格分析环境设置”的像元大小。

  • 如果区域输入为点要素数据集,则其可能具有值输入栅格的任何特定像元内所含的多个点。对于这种像元,区域值将通过具有最高要素 ID 的点来确定。

  • 如果区域要素输入具有叠置的面,则无法为每一个单独的面执行区域分析。因为要素输入已转换为栅格,所以每个位置只能拥有一个值。

    另一种方法就是要为每个面区域反复进行分区统计并核对结果。

  • 建议您仅使用栅格作为区域输入,因为这样您可以更好地控制“矢量至栅格”转换。这将有助于确保您始终获得预期的结果。

  • 在指定输入区域数据时,默认区域字段将为第一个可用的有效字段。如果不存在其他有效字段,则 ObjectID 字段(如 OID 或 FID)将成为默认字段。

  • 如果为区域字段选择保留字段(例如 OBJECTID、FID 或 OID),则可能导致结果中存在一些不明确现象。结果包括特定输出格式类型以及指定区域字段所必需的特定保留字段名称。如果对于特定输出格式,指定字段具有与保留字段相同的名称,则在输出中更改区域字段的名称,使结果中所有字段名均唯一。

    注:

    要创建不含有保留名称的唯一值字段,请使用添加字段和计算字段地理处理工具。

  • 输入值栅格可以为整型,也可以为浮点型。但是,当它是浮点型时,无法对众数、中值、少数和变异性执行分区计算。

  • 对于众数和少数计算,当存在平局时,区域的输出将基于平局值的最低值。

  • 将根据统计类型的设置在输出表中创建一个字段或一系列字段。值输入为整型时,可对所有统计数据(最小值、最大值、范围、平均值、标准差、总和、变异度、众数、少数和中值)进行计算。如果值输入为浮点型,将不会计算众数、少数、中值和变异度统计数据。

  • 输出表中各项下的各个值的数据类型取决于所执行的分区计算。有关任何统计的特定行为的详细信息,请参阅“分区统计”的工作原理。

  • 输出表中的行数与区域数相同。

  • 默认情况下,此工具会利用多核处理器。可供使用的最大核数限制为 4。

    如果希望工具使用较少的核,请使用 parallelProcessingFactor 环境设置。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。

语法

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

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

表的格式由输出位置和路径确定。默认情况下,输出为一张地理数据库表。如果路径不在地理数据库中,则格式将由表达式确定。如果扩展名为 .dbf,则将采用 dBASE 格式。如果未指定扩展名,则输出将为 INFO 表。

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

相关主题

  • 区域分析工具概述

ArcGIS for Desktop

  • 主页
  • 文档
  • 合约
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明