需要 Spatial Analyst 许可。
描述
记录输出中每个像元所属的连接区域的标识。系统将会为每个区域分配唯一编号。
插图
使用方法
通常,扫描的第一个区域接收值 1,第二个区域接收值 2,依此类推,直到所有区域都已赋值。扫描将按从左至右、从上至下的顺序进行。分配给输出分区的值取决于系统对其进行扫描的时间。
以下两个参数用于控制如何在区域之间建立连通性。要使用的相邻要素数参数可确定连通性的几何为正交(四向)还是对角与正交(八向)。区域分组方法参数可确定评估连通性时要考虑的像元值。
默认情况下,为输出数据增加链接字段(Python 中的 ADD_LINK)参数已启用。这将在输出栅格的属性表中创建 LINK 字段,其保留输入栅格的每个像元的原始区域值。
仅当将区域分组方法(Python 中的 zone_connectivity)参数设置为 Within 时,此参数才适用。如果将其设置为 Cross,则输出栅格的属性表将仅包含常见的 Value 和 Count 字段。
如果可用,LINK 字段可用于将每个新创建区域的来源追溯回原始输入区域值以用于其他分析。
例如,上图所示的输出栅格的属性表如下:
如果未创建 LINK 字段,则处理速度将会提高。如果不再需要每个区域的原始值,请取消选中此选项。
如果已设置掩膜环境,则可改变输出栅格中的空间配置和区域数。
输出时,包含排除值的像元位置会接收零,因此,这些区域便不会与现有 NoData 像元位置相混淆。由于编号从值 1 开始,因此被排除在重新分组操作之外的像元将被视为背景。这些背景像元可以相同的方式被重新分类或处理为任何其他值。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
RegionGroup(in_raster, {number_neighbors}, {zone_connectivity}, {add_link}, {excluded_value})
参数 | 说明 | 数据类型 |
in_raster | 将标识唯一连接像元区域的输入栅格。 必须为整型。 | Raster Layer |
number_neighbors (可选) | 指定评估定义区域的像元间的连通性时使用的相邻像元数。
| String |
zone_connectivity (可选) | 定义在进行连通性测试时应考虑的像元值。
| String |
add_link (可选) | 指定将 zone_connectivity 参数设置为 WITHIN 时是否向输出表添加链接字段。如果将该参数设置为 CROSS,则将忽略此参数。
| Boolean |
excluded_value (可选) | 从连通性评估中排除该区域所有像元的值。如果像元位置包含该值,则不管将邻近像元数指定为多少,都不会评估空间连通性。 具有排除值的像元与 NoData 像元将以相似的方式进行处理,且在运算中不在考量范围内。在输出栅格上,包含排除的值的输入像元将接收 0。排除的值类似于背景值的概念。 默认情况下,此参数未定义任何值,这表示在运算中将考虑所有输入像元。 | Long |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出区域分组栅格。 输出始终为整型。 | Raster |
代码示例
RegionGroup 示例 1(Python 窗口)
此示例使用八向连接方法为输入栅格的每个区域分配一个唯一编号。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRgnGrp = RegionGroup("land", "EIGHT", "", "", 5)
outRgnGrp.save("c:/sapyexamples/output/reggrp_ex5")
RegionGroup 示例 2(独立脚本)
此示例使用具有排除的值的八向连接方法为输入栅格的每个区域分配一个唯一编号。
# Name: RegionGroup_Ex_02.py
# Description: Records, for each cell in the output, the
# identity of the connected region to which
# it belongs within the Analysis window. A
# unique number is assigned to each region.
# 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
inRaster = "land"
valToIgnore = 5
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute RegionGroup
outRegionGrp = RegionGroup(inRaster, "EIGHT", "CROSS",
"NO_LINK", valToIgnore)
# Save the output
outRegionGrp.save("C:/sapyexamples/output/reggrpout")
环境
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst