『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:区域合并 (Spatial Analyst)

ArcGIS教程:区域合并 (Spatial Analyst)
记录输出中每个像元所属的连接区域的标识。每个区域都将被分配给唯一编号。

摘要

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

插图


用法

·      扫描的第一个区域接收值 1,第二个区域接收值 2,依此类推,直到所有区域都已赋值。扫描将按从左至右、从上至下的顺序进行。被赋予输出区域的值取决于系统在扫描过程中是在什么时候遇到它们的。

·      默认情况下,添加链接选项为。这将在输出栅格的属性表中创建名为 LINK 的项,其保留输入栅格的每个像元的原始值。

·      LINK 字段用于跟踪每个新创建的查询或分析区域的来源。

例如,上图所示的输出栅格的属性表为:


·      添加链接选项设置为会大大加快处理速度。当不再需要每个区域的原始值时,此功能会非常有用。

·      如果已在环境中设置掩膜,则输出栅格中已掩膜的那些像元将会接收 NoData。利用掩膜,可改变输出栅格上区域的空间配置和编号。如果某一区域是连续的,但由于强加掩膜而导致连接断开,则在输出栅格上将该区域分为两个具有不同值或分组标识符的区域。

掩膜不仅可通过将一个区域分为两个或更多个单独区域来创建更多区域,而且可减少输出上的区域数。如果掩膜完全覆盖或消除已连接像元的潜在区域,则在输出上这些像元将不会被视为新区域;这些像元会接收 NoData 值。

·      对区域 (region) 而非区域 (zone) 进行分析时,区域合并特别有用。由于维持输入区域值,在分析中也可使用原始区域分类。

·      在输出上,包含已排除值的像元位置接收零,这样这些区域便不会与现有 NoData 像元位置相混淆。由于区域合并的编号从值 1 开始,因此被从重新分组操作中排除的像元将被视为背景。这些背景像元可被重新分类或处理为任何其他值。使用条件函数工具,可将包含已排除值的位置轻松地转换为 NoData

语法

    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 示例 1Python 窗口)

    此示例使用八向连接方法为输入栅格的每个区域分配一个唯一编号。

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

环境

    像元大小当前工作空间掩膜输出坐标系范围临时工作空间捕捉栅格

      京ICP备2025132830号-1 京公网安备 号