ArcGIS填补面图层的细小空白并删除主体部分外的零散部分

news/2025/2/26 13:53:23/文章来源:https://www.cnblogs.com/fkxxgis/p/18564889

  本文介绍在ArcMap软件中,基于消除面部件(“Eliminate Polygon Part”)工具,对矢量面要素的零碎空洞区域加以删除,同时将游离于要素主体之外的部分剔除的方法。

1 前言

  在上一篇文章ArcMap用一个面要素擦除另一个面要素的部分中,我们利用“擦除”(“Erase”)方法,对一个包含水体与陆地的研究区域,剔除了其中的水体部分。可是所得到剔除后的区域并不是很理想,如下图所示。

image

  在这里,有两个问题。

  首先,可以看到,其中含有很多零碎的空洞区域:

  这些零碎区域可能在实际情况中,确实是小水塘、小水渠、小水沟等面积较小的水体部分,但是对于一些研究而言,出现这种零碎的区域可能会影响后期空间分析的计算效率,没必要保留。

  其次,可以看到,有一些区域单独游离于整体的面要素之外,也就是其没有与面要素的主体部分具有连接:

  这些区域在实际情况中,可能是水体上的小岛或桥体等,但是如果我们后续研究对于这一部分区域分类的精度要求不大的话,这些小块块对于计算速度同样有着负面的影响。

  因此,我们希望将上述前者零碎空洞区域补全,将上述后者单独游离区域剔除,该怎么办呢?

2 零碎小面积空洞区域补全

  首先进行第一步,补全零碎小面积空洞区域。

  这里,我们需要结合ArcMap中的消除面部件(“Eliminate Polygon Part”)加以实现。

  选择“System Toolboxes”→“Data Management Tools.tbx”→“Generalization”→“Eliminate Polygon Part”。

  其中,“Input Features”为需要补全空洞区域的图层,第二项为输出图层路径与名称,第三项为空洞区域补全的判断依据,其中“AREA”是指面积,也就是小于指定面积的部分都会被当作空洞区域补全;“PERCENT”是百分比,也就是在整个图层中,小于图层总面积指定百分比的区域都会被当作空洞区域补全。接下来是对“AREA”与“PERCENT”具体的数值加以明确。

  因为我这里就是想把面积比较小的区域补全,因此就选择了“AREA”这一选项,面积阈值暂时选择8000,后期看结果怎么样再加以调整即可。

  点击“OK”。可以看到,所得结果是不是较之处理前,少了很多零碎的区域。

  如果大家觉得这个阈值不太好,可以重复上述操作,修改面积阈值,直到获取满意的结果。

  用一个动图,大家可以看看前后效果的对比(由黄色变为绿色这个过程)。

3 单独部分区域分离并剔除

  接下来,我们对单独部分区域进行分离并剔除。

  第一步,我们需要保证打开“Editor”与“Advanced Editing”控件。直接在ArcMap上方工具栏右键,在对应的项目前打勾即可。

  首先,在“Editor”控件中,选择“Editor”→“Start Editing”,打开编辑模式。

  用鼠标选中整个图层。

  此时我们可以看到,这些游离于主体图层之外的小区域,尽管他们与图层面要素其他部分没有任何连接,但还是属于整体区域之内的一部分。因此,在将他们删除之前,肯定首先要将其分离出来,使其不要再成为面要素主体区域的一部分。

  在“Advanced Editing”控件中,选择“Explode Multipart Feature”。

  鼠标左键选中一个单独的区域。

  在键盘中按下“Delete”,即可将其删除。

  多次重复,即可将这些游离于主体部分之外的全部面要素删除。

  完成之后,选择“Editor”→“Save Edits”,并再选择“Stop Editing”即可保存并退出编辑模式。

  至此,大功告成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/839958.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JetBrains IDE 2024.3 (macOS, Linux, Windows) - 开发者工具

JetBrains IDE 2024.3 (macOS, Linux, Windows) - 开发者工具JetBrains IDE 2024.3 (macOS, Linux, Windows) - 开发者工具 Aqua, CLion, DataGrip, DataSpell, Fleet, GoLand, IntelliJ IDEA, PhpStorm, PyCharm, Rider, RubyMine, WebStorm 请访问原文链接:https://sysin.or…

OO4-6次作业作业总结

总结性博客:Java题目习题集4-6学习心得 一、前言 通过三次习题集的练习,我对面向对象编程(OOP)、集合框架和输入输出操作有了更加深刻的理解。这三次题目涵盖的内容主要包括以下几个方面:题目知识点: 第一次习题集:以Java的继承与多态为核心,强化对类与对象的理解,设计…

如何立项?Tita 项目审批管控

什么场景下企业需要「项目审批」? 如果你的企业不允许员工随意创建项目,项目的创建需要走「立项审批」,也不允许员工随意修改项目时间,或完成项目、删除项目等,你就可以使用「项目审批」,从而达到对项目的创建和修改进行严格管控的目的。 如何使用项目审批?第一步:在后…

《DNK210使用指南 -CanMV版 V1.0》第三十九章 YOLO2人脸检测实验

第三十九章 YOLO2人脸检测实验 1)实验平台:正点原子DNK210开发板 2)章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k…

2024-2025-1 20241407《计算机基础与程序设计》第九周学习总结

作业信息这个作业属于哪个课程 2024-2025-1 计算机基础与程序设计这个作业要求在哪里 2024-2025-1 计算机基础与程序设计第九周作业这个作业的目标 操作系统责任,内存与进程管理,分时系统,CPU调度,文件、文件系统,文件保护,磁盘调度作业正文 本博客教材学习内容总结 《计…

pta4~6总结blog

一、前言 本次blog是针对发布题目集4~6的总结。 1、题目集4,总有三题。 1)第一题是用继承完成校园角色类设计。主要内容:角色Role分两类:学生Student和雇员Employee;雇员又分为教员Faculty和职员Staff。只需设计好每个类的父子关系,每个类的属性和方法就可以完成。 2)第…

docker通过运行中的容器构建镜像

docker commit web1 httpd:v1 docker run -d --name web5 -p 85:80 httpd:v1

【小记】 Matplotlib 中设置自定义中文字体的正确姿势

麻麻再也不用担心我的 matplotlib 渲染不出中文字符了!本笔记还简要地从源码角度介绍了一下实现原理。最近做实验涉及到用 Matplotlib 绘制图表,我希望相同的代码能不仅在本地运行,且还能在 Google Colab, Binder 这些线上平台运行。 问题就来了,为了在各个平台上都能绘制中…

南昌航空大学-22207107-胡优乐-Java第二次Blog大作业

前言在这段时间里,我们总共进行了三次大作业练习,基于这三次大作业的体量及设计的知识点,难度分布,我做了以下的总结:1.第四次大作业总共有三道题,分别是:1.校园角色类设计-1;2.设计一个学生类和它的子类-本科生类;3.答题判断程序-4;实际做下来的体会是:(1)第一题难…

团队作业5——测试与发布

团队作业5——测试与发布这个作业属于哪个课程 <计科22级34班>这个作业要求在哪里 <作业要求>这个作业的目标 完成连续七天的项目冲刺GitHub 链接 https://github.com/tangliweiwww/ChatGpt团队 1.团队名称:Elegance 2.团队成员姓名 班级 学号唐立伟(组长) 计科…

Java中定时任务实现方式及源码剖析

概述 在企业级应用开发场景中,定时任务占据着至关重要的地位。比如以下这些场景:用户4个小时以内没有进行任何操作,就自动清除用户会话。 每天晚上凌晨自动拉取另一个业务系统的某部分数据。 每隔15分钟,自动执行一段逻辑,更新某部分数据。类似的场景会频繁出现在我们的日…

001 增肌锻炼

三分化https://www.bilibili.com/video/BV1mY411Y7FR 推拉腿休 推拉腿休...推力日:胸 肩 三头拉力日:背 二头每周同一部位练习2次动作:腹肌https://www.bilibili.com/video/BV1Vh4y197aD https://www.bilibili.com/video/BV1hd4y1f76Z 腹肌激活30S上腹拉伸来自为知笔记(Wiz)…