需要 Spatial Analyst 许可。
描述
创建显示各唯一区域值输入中的像元值频数分布的表和直方图。
插图
使用
通过区域直方图,您可研究一个数据集中的值在另一个数据集的各个类中的频率分布。 例如,土地利用类中的坡度分布、高程类中的降雨分布或警务区附近的犯罪分布。
区域定义为输入中具有相同值的所有区域。各区域无需相连。栅格和要素都可用于区域输入。
如果输入栅格或要素区域数据(Python 中的 in_zone_data)的像元大小与输入值栅格(Python 中的 in_value_raster)不同,则输出像元大小将为输入的最大值,且输入值栅格将在内部用作捕捉栅格。如果像元大小相同,但是像元未对齐,则输入值栅格将在内部用作捕捉栅格。在执行区域操作之前,上述任一情况都会触发内部重采样。
如果区域输入和值输入均为具有相同像元大小的栅格,并且像元已对齐,则可将其直接应用于工具中,且工具执行期间不会对其进行内部重采样。
如果输入栅格或要素区域数据(Python 中的 in_zone_data)为栅格,则其必须为整型栅格。
如果输入栅格或要素区域数据(Python 中的 in_zone_data)为要素,则将使用输入值栅格(Python 中的 in_value_raster)的像元大小和像元对齐方式在内部将其转换为栅格。
如果输入栅格或要素区域数据(Python 中的 in_zone_data)为点要素,则其可能具有值输入栅格的任何特定像元内所含的多个点。对于这样的像元,区域值将通过具有最低 ObjectID 字段的点(例如 OID 或 FID)来确定。
如果输入栅格或要素区域数据(Python 中的 in_zone_data)具有重叠面,则无法针对每个单独的面执行区域分析。因为要素输入已转换为栅格,所以每个位置只能拥有一个值。
另一种方法就是要为每个面区域反复进行区域操作并核对结果。
区域字段(Python 中的 zone_field)必须为整型或文本类型。
在指定输入栅格或要素区域数据(Python 中的 in_zone_data)时,默认区域字段将为第一个可用的整型或文本字段。如果不存在其他有效字段,则 ObjectID 字段(如 OID 或 FID)将成为默认字段。
在直方图中,每个区域的类(条柱)的数量由输入赋值栅格确定。
- 如果指定图层,则图层的符号系统定义类的数量。
- 如果指定数据集,则在默认情况下将有 256 个类,除非输入是具有少于 26 个唯一值的整型(在此情况下,它将是唯一值的总数)。
默认情况下不生成区域直方图。要在工具运行时创建区域直方图,可指定输出图形名称。
该图形只是临时图形(在内存中)。要创建该图形的永久版本,可使用保存图表工具创建 .grf 图形文件,或者以该工具中提供的其他格式进行创建。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
ZonalHistogram(in_zone_data, zone_field, in_value_raster, out_table, {out_graph})
参数 | 说明 | 数据类型 |
in_zone_data | 定义区域的数据集。 可通过整型栅格或要素图层来定义区域。 | Raster Layer; Feature Layer |
zone_field | 保存定义每个区域的值的字段。 该字段可以是区域数据集的整型字段或字符串型字段。 | Field |
in_value_raster | 用于创建直方图的栅格值。 | Raster Layer |
out_table | 输出表文件。 表的格式由输出位置和路径确定。默认情况下,输出为一张地理数据库表。如果路径不在地理数据库中,则格式将由表达式确定。如果扩展名为 .dbf,则将采用 dBASE 格式。如果未指定扩展名,则输出将为 INFO 表。 根据表中的信息创建可选图形输出。 | Table |
out_graph (可选) | 用于显示的输出图形的名称。 该图形为临时图形。要保留图形,可使用保存图表工具。 | Graph |
代码示例
ZonalHistogram 示例 1(Python 窗口)
本示例创建了分区直方图 .dbf 表。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonHisto = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf")
ZonalHistogram 示例 2(独立脚本)
本示例创建了分区直方图 .dbf 表和图形文件。
# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table and
# a graph showing the amount of value cells
# for each unique input zone.
# 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 = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras"
outTable = "C:/sapyexamples/output/zonehist_tbl.dbf"
outGraph = "zonehist_gra"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable, outGraph)
环境
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst