ArcGIS 分区统计 重叠区域计算时自行融合的解决办法

本文介绍如何利用SpatialJoin工具解决栅格数据与重叠矢量数据计算的问题,通过栅格转点与空间连接实现区域工业用地覆盖面积的准确计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

有两个数据,一个是栅格数据,一个是矢量数据。想利用矢量数据,对栅格数据进行计算,就是对栅格数据根据矢量图进行不同区域的计算。
拿图来举个例子看看可能就清楚点。
在上面的图层是矢量图(是三个圆ABC重叠在一起,此处我设置其的颜色为透明,方便看它与栅格图的重叠情况),下面的图层是栅格图(为了后面的讲解,将栅格图举例为一个工业用地的土地利用图,蓝色的部分表示的是工业用地,黑色的表示不是工业用地,有是1无是0)
在这里插入图片描述
要算的是,在A区域中的工业用地覆盖面积。常规的想法是,利用分区统计计算工具,如下图:
在这里插入图片描述
按理来说,这么做的没错的。但是,本来得到的结果应该是有三个记录(ABC各一个),但是实际操作的结果只可以得到一个。这是由于矢量数据是重叠的,在利用此工具进行计算的时候,它会自动将矢量数据进行融合,使三个区域变成一个区域。


解决办法:

利用“Spatial Join”工具

由于Spatial Join工具只可以对矢量图进行计算,因此,你需要先对栅格数据进行矢量化的操作,可以使用“Raster to point”栅格转点工具,将栅格数据转换为矢量点数据
然后打开“Spatial Join”工具,以矢量数据ABC作为目标图层,以所转换的点数据作为加入图层。具体操作方法,看下图:
在这里插入图片描述
在这里插入图片描述
创建规则,也就是告诉它你想对它进行什么样的计算。
利用Spatial join工具,在将两个图层进行空间连接同时,可以按照你所规定的规则去进行相应的计算。

好啦就是这样啦,不要问我为什么分区统计它会自己进行区域的融合,这是它所设计的。

### 如何在 ArcGIS 中执行分区统计分析 #### 准备工作 为了顺利进行分区统计分析,在开始之前需确认所使用的要素数据集和栅格数据集中都含有有效的属性表。如果遇到像 Wadi 数据那样缺失属性表的情况,则应先为其创建属性表[^2]。 #### 执行分区统计的具体操作流程 进入 ArcMap 的空间分析工具箱,找到并打开“以表格显示分区统计”这一功能选项。在此过程中,需要依次设置以下几个参数: - **输入区域数据** (`in_zone_data`):选择用于定义各个独立区域边界的矢量图层。 - **区域字段** (`zone_field`):指定上述边界内唯一识别各区域的字段名称;此字段可基于整型或字符串类型的属性列来选取。 - **输入数值栅格** (`in_value_raster`):挑选要被用来计算统计数据的源栅格图像文件。 对于更高级别的需求,还可以调整其他两个可选参数: - 统计类型(`{statistics_type}`),默认为 MEAN 平均值,也可以改为 MINIMUM 最小值、MAXIMUM 最大值等; - 是否忽略 NoData 值(`{ignore_nodata}`)的选择,默认情况下会自动跳过这些未赋值得位置来进行运算。 完成以上配置之后点击运行按钮即可得到所需的分区统计结果,并将其保存成新的表格形式供后续研究使用[^1][^3]。 ```python import arcpy from arcpy.sa import * arcpy.CheckOutExtension("Spatial") # 设置环境变量 workspace = "C:/data" arcpy.env.workspace = workspace # 定义输入输出路径和其他必要参数 inputZoneRasterOrFeature = "zones.shp" # 输入区域数据 zoneField = "ID" # 区域字段 valueRaster = Raster("elevation") # 输入数值栅格 outputTable = "stats.dbf" # 输出统计表名 # 创建分区统计数据表 outZonalStatsAsTable = ZonalStatisticsAsTable(inputZoneRasterOrFeature, zoneField, valueRaster, outputTable) del outZonalStatsAsTable ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值