ArcGIS计算落入面图层中的线的长度或面的面积

本文介绍在ArcMap 软件中,计算落入某个指定矢量面图层 中的另一个线图层长度面图层面积等指标的方法。

如下图所示,现在有2个矢量要素集,其中一个为面要素 ,表示某些区域;另一个为线要素 ,表示道路路网。我们希望对于面要素数据集中的每一个要素 (也就是图中的每一个圆形区域),求取落入其中 的所有道路的长度

上述需求是求取落入面要素中线的长度 。类似的,本文的方法还可以求取落入面要素中的面的面积 ;比如下图所示的这种情况,还可以求取落入每一个圆形区域中的不规则形状的面图层面积

具体的操作方法也很简单。依次选择"Toolboxes "→"System Toolboxes "→"Analysis Tools.tbx "→"Overlay "→"Intersect"工具,如下图所示。

随后,在打开的工具中,依次选择对应的要素数据集,并指定结果文件的路径和文件名称。以本文开头介绍的那个需求为例,那么这里就需要输入表示各个区域的面要素数据集,以及道路路网数据,如下图所示。

执行上述工具,得到如下图所示的结果。其中,图中的圆形区域不是结果,只是我们为了让结果更清楚得表现,所以保留了原本的圆形区域要素数据集;而这些圆形区域中的路网(黄色的线条),才是上述工具的结果。

得到了结果,我们进一步计算落入每一个要素中的道路长度。这里需要注意,如果计算长度、面积等属性,建议将矢量数据设置为投影坐标系,具体可以参考文章ArcGIS矢量图层投影与地理坐标系转为投影坐标系------ArcMaphttps://blog.csdn.net/zhebushibiaoshifu/article/details/115216717)。

首先,需要为上述结果文件新建一个字段,用来统计每一个路网的长度。在上述结果文件的属性表的左上角右键,选择"Add Field",如下图所示。

随后,自行设置字段的名称,并将字段类型设置为Double,并设置字段的精度。这里大家按照实际情况来设置即可,或者设置为我这样也可以。

随后,在属性表这个刚刚建立好的字段上右键,选择"Calculate Geometry",如下图所示。

并在第一个下拉框中选择Length(如果是需要计算面积,那就可以选择Area),同时选择计算的单位,如下图所示。

随后,可以看到这个字段就已经是对应记录的长度了;如下图所示。

接下来,我们还需要对面图层进行分组------因为我们是希望计算每一个圆形区域 中路网的总长度 ,而每一个区域中可能会有多条道路 ,但上述操作计算的仅仅是每一条道路;所以就需要对每一个区域再做一次求和操作。

同样是在属性表中,找到一个表示各个面要素的字段(也可以是其他用来给面图层分组的字段),右键并选择"Summarize",如下图所示。

随后,找到表示长度的那个字段(也就是前面我们刚刚创建的字段),并选择Sum,如下图所示。

随后,会得到一张结果表。在这个表上右键,选择"Open",从而打开这张表;如下图所示。

可以看到,其中就包含了每一个圆形区域(我这里每一个圆形区域就表示一个居委会)中,对应的道路总长度了;如下图所示。

这里需要注意,如果某些区域(在我这里就是某些居委会)中不含任何道路的话,那么这个要素就不会出现在上图所示的这个结果表中。

至此,大功告成。

欢迎关注:疯狂学习GIS

相关推荐
木偶☜14 小时前
Node.js接收文件分片数据并进行合并处理
服务器·javascript·arcgis·node.js
鸿业远图科技14 小时前
【重庆市乡镇界】面图层shp格式arcgis数据乡镇名称和编码wgs84坐标无偏移内容测评
arcgis
激动的兔子14 小时前
Arcgis Pro安装完成后启动失败的解决办法
arcgis·arcgis pro
鸿业远图科技14 小时前
【宁夏乡镇界面】图层shp格式乡镇名称和编码wgs84坐标无偏移arcgis数据内容测评
arcgis
清风-云烟14 小时前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
装疯迷窍_A16 小时前
ARCGIS国土超级工具集1.3更新说明
arcgis·c#·插件·变更调查·尖锐角·狭长
yngsqq16 小时前
合并两个img栅格影像——arcgis
arcgis
小小弯_Shelby16 小时前
vue+arcgis api for js实现地图测距的分段统计线段长度
vue.js·arcgis
Joeysoda19 小时前
Java数据结构 (链表反转(LinkedList----Leetcode206))
java·linux·开发语言·数据结构·链表·1024程序员节
比特在路上1 天前
StackOrQueueOJ3:用栈实现队列
c语言·开发语言·数据结构·1024程序员节