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

摘要

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

插图

以表格显示分区统计工具图示

使用情况

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

  • 当您登录到已针对 Raster Analysis 配置 ArcGIS Image ServerArcGIS Enterprise 门户时,可以使用栅格分析门户工具。 调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。 门户工具接受来自门户的图层作为输入,并在门户中创建输出。

    输入栅格图层支持来自门户的图层、影像服务的 URI 或 URL 或创建影像服务器图层工具的输出。 输入要素图层可以是来自门户、URI 或要素服务 URL 的图层。 此工具不支持本地栅格数据或图层。 虽然可以使用本地要素数据和图层作为此门户工具的输入,但是最佳做法是使用门户的图层作为输入。

  • 如果输入区域栅格或要素(Python 中为 inputZoneRasterOrFeatures)为栅格,则其必须为整型栅格。

    如果区域为一个要素,则可使用输入值栅格(Python 中为 inputValueRaster)中的像元大小和像元对齐从内部将其转换为栅格。

  • 如果输入区域栅格或要素输入值栅格像元大小不同,则输出像元大小的值将为输入的最大值,且值栅格影像服务将在内部用作捕捉栅格。 如果像元大小相同,但像元不对齐,则值栅格将在内部用作捕捉栅格。 在执行区域操作之前,上述任一情况都会触发内部重采样。

    如果区域输入和值输入均为具有相同像元大小的栅格,并且像元已对齐,则可将其直接应用于工具中,且工具处理期间不会对其进行内部重采样。

  • 如果输入区域栅格或要素为要素,对于不与值栅格的任何像元中心重叠的任何区域要素,这些区域将不会转换为内部区域栅格。 因此,这些区域将不会在输出中表示。 您可以通过为保留要素区域所需细节层次的像元大小环境指定适当的值来管理这些区域,并在分析环境中指定这些区域。 指定像元大小越小,生成的输出栅格越大。 较高的分辨率输出并不一定得到高质量结果,因为其他详细信息不存在于输入值栅格中。

  • 如果输入区域栅格或要素具有重叠要素,则将针对每个单独的要素执行区域分析。

  • 如果输入区域栅格或要素是点要素,则值输入栅格的任何特定单像元中可能包含多个点。 对于这样的像元,区域值将通过具有最低 ObjectID 字段的点(例如 OIDFID)来确定。

  • 指定输入区域栅格或要素时,默认区域字段将为第一个可用的整型或文本字段。 如果不存在其他有效字段,则 ObjectID 字段(如 OIDFID)将成为默认字段。

  • 支持的统计数据类型取决于输入值栅格的数据类型,以及通过计算圆形统计数据参数指定的统计数据计算类型。

    如果数据类型为整型,则算术统计数据计算支持平均值众数最大值中位数最小值少数百分比数范围标准差总和变异度选项;圆形统计数据计算支持平均值众数少数标准差变异度选项。

    如果数据类型为浮点型,则算术统计数据计算支持平均值最大值中位数最小值百分比数范围标准差总和选项;圆形统计数据计算支持平均值标准差选项。

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

  • 要计算圆形统计数据,请选中计算圆形统计数据参数(Python 中为 circularCalculation = "CIRCULAR"),然后为圆换行值(Python 中为 circularWrapValue)指定数值。

  • 将根据统计类型参数设置(Python 中为 statisticType)在输出表中创建一个字段或一系列字段。

    字段名称与算术统计数据计算的统计类型值相同。 这是默认设置。

    但是,对于圆形统计数据,字段名称将以 C_ 开头,后跟指定的统计数据。 例如,算术中位数统计数据的字段名称为 Median,圆形中位数统计数据的字段名称为 C_Median

参数

标注说明数据类型
输入区域栅格或要素

定义区域的输入。

栅格和要素数据都可用于区域输入。

Raster Layer; Feature Layer
输入赋值栅格

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

Raster Layer
输出表名称

输出表的名称。

如果该表已存在,则系统会提示您提供其他名称。

String
区域字段

定义各个区域的字段。

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

String
在计算中忽略 NoData
(可选)

指定值输入中的 NoData 值是否会在其所落入区域的结果中被忽略。

  • 选中 - 在任意特定区域内,仅使用在输入值栅格中拥有值的像元来确定该区域的输出值。 在统计计算过程中,值栅格内的 NoData 像元将被忽略。 这是默认设置。
  • 未选中 - 在任何特定区域中,如果 NoData 像元存在于值栅格中,则它们不会被忽略,并且 NoData 像元的存在表明没有足够的信息来对该区域中的所有像元执行统计计算。 因此,整个区域将在输出栅格上接收 NoData 值。
Boolean
统计类型
(可选)

指定要计算的统计数据类型。

值栅格为整型时的可用选项是全部均值众数最大值中值最小值少数百分比数范围标准差总和变异度最小值和最大值均值和标准差,以及 最小值、最大值和均值

如果值栅格为浮点型,则选项包括全部平均值最大值中值百分位数最小值范围标准差总和

  • 全部将为整型值栅格计算所有统计数据。 将为浮点型值栅格计算所有统计数据(中值百分位数除外)。 这是默认设置。
  • 平均值将计算待汇总栅格图层中与输出像元同属一个区域的所有像元的平均值。
  • 众数计算待汇总栅格图层中与输出像元同属一个区域的所有像元中最常出现的值。
  • 最大值计算待汇总栅格图层中与输出像元同属一个区域的所有像元的最大值。
  • 中值计算待汇总栅格图层中与输出像元同属一个区域的所有像元的中值。
  • 最小值计算待汇总栅格图层中与输出像元同属一个区域的所有像元的最小值。
  • 少数计算待汇总栅格图层中与输出像元同属一个区域的所有像元中出现次数最少的值。
  • 百分比数将计算值栅格中与输出像元同属一个区域的所有像元的百分比值。 默认情况下将计算 90% 百分比数。 您可以使用百分数值参数来指定其他值(从 0 到 100)。
  • 范围计算待汇总栅格图层中与输出像元同属一个区域的所有像元的最大值与最小值之差。
  • 标准差计算待汇总栅格图层中与输出像元同属一个区域的所有像元的标准差。
  • 总和计算待汇总栅格图层中与输出像元同属一个区域的所有像元的总值。
  • 变异度计算待汇总栅格图层中与输出像元同属一个区域的所有像元的唯一值的数量。
  • 最小值和最大值将计算最小值统计数据和最大值统计数据。
  • 平均值和标准差将计算平均值统计数据和标准差统计数据。
  • 最小值、最大值和平均值将计算最小值、最大值和平均值统计数据。
String
百分比值
(可选)

将计算的百分比数。 默认值为 90,指示 90%。

取值范围为 0 到 100。 0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”。 值 50 所生成的结果基本等同于“中值”统计数据的结果。

此参数仅在计算百分位数时可用。

Double
以多维方式处理
(可选)

用于指定多维输入栅格的处理方式。

  • 未选中 - 将计算输入多维数据集的当前剖切片中的统计数据。 这是默认设置。
  • 已选中 - 将计算多维输入栅格的所有剖切片中的所有维度(如时间或深度)的统计数据。
Boolean
百分位数插值类型
(可选)

指定当百分位数值位于输入值栅格的两个像元值之间时要使用的插值方法。

  • 自动检测如果输入值栅格的像素类型为整型,则将使用最近方法。 如果输入值栅格的像素类型为浮点型,则将使用线性方法。 这是默认设置。
  • 最邻近将使用最接近所需的百分位数的可用值。
  • 线性将使用接近所需百分位数的两个值的加权平均值。
String
计算圆形统计数据
(可选)

指定统计数据类型的计算方式。

  • 未选中 - 将计算算术统计数据。 这是默认设置。
  • 选中 - 将计算适用于循环量的圆形统计数据,例如以度为单位的罗盘方向、日间和实数的小数部分。
Boolean
圆换行值
(可选)

循环数据中可能的最高值(上限)。 这是一个正数,默认值为 360。 该值还表示与可能的最低值(下限)相同的数量。

此参数仅在计算圆形统计数据时适用。

Double

派生输出

标注说明数据类型
输出表

输出表。

Feature service without geometry

arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField, {ignoreNodata}, {statisticType}, {percentileValues}, {processAsMultidimensional}, {percentileInterpolationType}, {circularCalculation}, {circularWrapValue})
名称说明数据类型
inputZoneRasterOrFeatures

定义区域的输入。

栅格和要素数据都可用于区域输入。

Raster Layer; Feature Layer
inputValueRaster

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

Raster Layer
outputTableName

输出表的名称。

如果该表已存在,则系统会提示您提供其他名称。

String
zoneField

定义各个区域的字段。

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

String
ignoreNodata
(可选)

指定值输入中的 NoData 值是否会在其所落入区域的结果中被忽略。

  • DATA在任意特定区域内,仅使用在输入值栅格中拥有值的像元来确定该区域的输出值。 在统计计算过程中,值栅格内的 NoData 像元将被忽略。 这是默认设置。
  • NODATA在任何特定区域中,如果 NoData 像元存在于值栅格中,则它们不会被忽略,并且 NoData 像元的存在表明没有足够的信息来对该区域中的所有像元执行统计计算。 因此,整个区域将在输出栅格上接收 NoData 值。
Boolean
statisticType
(可选)

指定要计算的统计数据类型。

值栅格为整型时的可用选项是全部均值众数最大值中值最小值少数百分比数范围标准差总和变异度最小值和最大值均值和标准差,以及 最小值、最大值和均值

如果值栅格为浮点型,则选项包括全部平均值最大值中值百分位数最小值范围标准差总和

  • ALL将为整型值栅格计算所有统计数据。 将为浮点型值栅格计算所有统计数据(中值百分位数除外)。 这是默认设置。
  • MEAN将计算待汇总栅格图层中与输出像元同属一个区域的所有像元的平均值。
  • MAJORITY计算待汇总栅格图层中与输出像元同属一个区域的所有像元中最常出现的值。
  • MAXIMUM计算待汇总栅格图层中与输出像元同属一个区域的所有像元的最大值。
  • MEDIAN计算待汇总栅格图层中与输出像元同属一个区域的所有像元的中值。
  • MINIMUM计算待汇总栅格图层中与输出像元同属一个区域的所有像元的最小值。
  • MINORITY计算待汇总栅格图层中与输出像元同属一个区域的所有像元中出现次数最少的值。
  • PERCENTILE将计算值栅格中与输出像元同属一个区域的所有像元的百分比值。 默认情况下将计算 90% 百分比数。 您可以使用百分数值参数来指定其他值(从 0 到 100)。
  • RANGE计算待汇总栅格图层中与输出像元同属一个区域的所有像元的最大值与最小值之差。
  • STD计算待汇总栅格图层中与输出像元同属一个区域的所有像元的标准差。
  • SUM计算待汇总栅格图层中与输出像元同属一个区域的所有像元的总值。
  • VARIETY计算待汇总栅格图层中与输出像元同属一个区域的所有像元的唯一值的数量。
  • MIN_MAX将计算最小值统计数据和最大值统计数据。
  • MEAN_STD将计算平均值统计数据和标准差统计数据。
  • MIN_MAX_MEAN将计算最小值、最大值和平均值统计数据。
String
percentileValues
[percentileValues,...]
(可选)

将计算的百分比数。 默认值为 90,指示 90%。

取值范围为 0 到 100。 0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”。 值 50 所生成的结果基本等同于“中值”统计数据的结果。

此参数仅在计算百分位数时可用。

Double
processAsMultidimensional
(可选)

用于指定多维输入栅格的处理方式。

  • CURRENT_SLICE将计算输入多维数据集的当前剖切片中的统计数据。 这是默认设置。
  • ALL_SLICES将计算输入多维数据集的所有维度的统计数据。
Boolean
percentileInterpolationType
(可选)

指定当百分位数值位于输入值栅格的两个像元值之间时要使用的插值方法。

  • AUTO_DETECT如果输入值栅格的像素类型为整型,则将使用 NEAREST 方法。 如果输入值栅格的像素类型为浮点型,则将使用 LINEAR 方法。 这是默认设置。
  • NEAREST将使用最接近所需的百分位数的可用值。
  • LINEAR将使用接近所需百分位数的两个值的加权平均值。
String
circularCalculation
(可选)

指定统计数据类型的计算方式。

  • ARITHMETIC将计算算术统计数据。 这是默认设置。
  • CIRCULAR将计算适用于循环量的圆形统计数据,例如以度为单位的罗盘方向、日间和实数的小数部分。
Boolean
circularWrapValue
(可选)

循环数据中可能的最高值(上限)。 这是一个正数,默认值为 360。 该值还表示与可能的最低值(下限)相同的数量。

此参数仅在计算圆形统计数据时适用。

Double

派生输出

名称说明数据类型
outputTable

输出表。

Feature service without geometry

代码示例

ZonalStatisticsAsTable 示例 1(Python 窗口)

本示例可针对各区域确定要汇总的栅格图层中的像元平均值。

import arcpy
arcpy.ra.ZonalStatisticsAsTable('https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer',
                           	'https://MyPortal.esri.com/server/rest/services/Hosted/elevation/ImageServer',
    				'outTable', 'Landuse', '', 'MEAN')
ZonalStatisticsAsTable 示例 2(独立脚本)

本示例可针对各区域确定要汇总的栅格图层中的统计值。

#-------------------------------------------------------------------------------
# Name: ZonalStatisticsAsTable_Ex_02.py
# Description: Calculates all statistics with defined percentile values  
#              for sea-surface temperature defined by ecological zones.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputZoneRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/zones/ImageServer'
inputValueRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/seaSurfaceTemperature/ImageServer'
outputTableName = 'outZSAT'
zoneField = 'temperature'
ignoreNodata = '' 
statisticType = 'PERCENTILE'
percentileValues = [25,75,90]
processAsMultidimensional = 'ALL_SLICES'
percentileInterpolationType = 'NEAREST'

# Execute Multidimensional Zonal Statistics as Table
arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField,
                                ignoreNodata, statisticType, percentileValues, processAsMultidimensional, 
                                percentileInterpolationType)

许可信息

  • Basic: 需要 ArcGIS Image Server
  • Standard: 需要 ArcGIS Image Server
  • Advanced: 需要 ArcGIS Image Server

相关主题