区域合并 (Spatial Analyst)

许可等级:BasicStandardAdvanced

摘要

记录输出中每个像元所属的连接区域的标识。每个区域都将被分配给唯一编号。

了解有关使用区域合并创建单独区域的详细信息

插图

Region Group illustration
OutRas = RegionGroup(InRas1)

用法

语法

RegionGroup (in_raster, {number_neighbors}, {zone_connectivity}, {add_link}, {excluded_value})
参数说明数据类型
in_raster

将标识唯一连接区域的输入栅格。

必须为整型。

Raster Layer
number_neighbors
(可选)

在评估像元间的连接时使用的相邻像元数。

  • FOUR 仅当具有相同值的像元与上下左右四个最邻近像元中的每一个像元直接连接时,才会定义这些像元之间的连通性。如果两个具有相同值的像元彼此只是对角线连接,则其不会被视为相连接。
  • EIGHT 仅当具有相同值的像元位于彼此的最近的八像元邻域内(八个最邻近像元)时,才会定义这些像元间的连通性。其中包括彼此之间的上下左右或对角线连接。
String
zone_connectivity
(可选)

定义在进行连通性测试时应考虑的像元值。

  • WITHIN 测试同一区域内相同输入值间的连通性。只能对满足空间连通性要求(由 FOUR 和 EIGHT 关键字指定)的同一区域(值)中的像元进行分组。
  • CROSS 按空间要求(由 FOUR 或 EIGHT 关键字指定)测试符合如下要求的像元间的连通性,即具有除指定排除掉的值之外的所有值的像元。使用 CROSS 时,必须输入排除值参数的值。
String
add_link
(可选)

指定是否将链接字段添加到输出的表中。

  • ADD_LINK 将一个 ADD_LINK 项添加到输出栅格的表中。该项为重新分组之前的输入栅格的不相连区域中的每个新创建区域存储原始值。这是默认设置。
  • NO_LINK 输出栅格的属性表仅包含“值”和“计数”项。
Boolean
excluded_value
(可选)

标识一个值,这样一来,如果像元位置包含该值,则不管如何指定邻近像元数(FOUR 或 EIGHT),都不会评估空间连通性。

具有排除的值的像元将被视为 NoData,并被从计算中排除。在输出栅格上,包含排除的值的像元位置将接收 0。

排除的值类似于背景值的概念或在运行一次工具的环境中设置掩膜。如果指定 CROSS 关键字,则必须为此参数指定值。

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")

环境

相关主题

许可信息

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