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

2025-10-22 03:24:06

1、摘要

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

插图

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

2、用法

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

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

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

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

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

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

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

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

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

语法

    RegionGroup (in_raster, {number_neighbors}, {zone_connectivity}, {add_link}, {excluded_value})

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

3、代码实例

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

环境

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢