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

相关推荐
魔法自动机29 分钟前
Unity3D学习FPS游戏(3)玩家第一人称视角转动和移动
unity·1024程序员节·fps
Ylucius38 分钟前
14天速成前端 ------学习日志(已完结)------ 后端程序员学习了解前端
java·开发语言·前端·vue.js·学习·状态模式·1024程序员节
清酒伴风(面试准备中......)1 小时前
计算机网络——开放系统互连参考模型
网络·计算机网络·1024程序员节
琪露诺大湿1 小时前
JavaEE-多线程初阶(1)
java·linux·开发语言·jvm·数据库·java-ee·1024程序员节
DC妙妙屋2 小时前
10.24.2024刷华为OD C题型(四) -- 对象list按照多个属性排序
1024程序员节
bitenum3 小时前
qsort函数的学习与使用
c语言·开发语言·学习·算法·visualstudio·1024程序员节
EmotionFlying4 小时前
(11)(2.1.6) Hobbywing DroneCAN ESC(一)
copter·ardupilot·1024程序员节·电调和电机
伏飞而行4 小时前
六、元素应用CSS的习题
1024程序员节
idealzouhu4 小时前
Spring Boot 实现文件上传下载功能
java·spring boot·1024程序员节