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

1 前言

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

  在这里,有两个问题。

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

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

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

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

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

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”即可保存并退出编辑模式。

  至此,大功告成。

ArcGIS填补面图层的细小空白并删除主体部分外的零散部分的更多相关文章

  1. ArcGIS制图——多图层道路压盖处理

    [1]      启动ArcMap,载入各道路要素类.生成名为All-Roads的图层组,如他所看到的,符号级别绘制将对图层组内图层符号起作用: 图层组设置符号等级 [2]      在内容列表中,右 ...

  2. Arcgis engine 指定图层对要素进行创建、删除等操作

    Arcgis engine 指定图层创建点要素 在指定的图层上创建一个点要素,点要素的位置是通过X,Y坐标指定的,下面是具体的注释 .其中 和IFeatureClassWrite接口有关的代码不要好像 ...

  3. ArcGIS Mobile 自定义图层在绘制面时节点未绘制完全的问题

    ArcGIS Mobile 自定义图层在绘制面时节点未绘制完全,如下图: 面的绘制代码如下: public void Draw(Display dis, Pen p1, Pen p2,Pen p3 , ...

  4. ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新

    ArcGIS Engine效率探究——要素的添加和删除.属性的读取和更新 来自:http://blog.csdn.net/freewaywalker/article/details/23703863 ...

  5. arcgis silverlight api 图层介绍

    Layer |--TiledMapServiceLayer | |--ArcGISTiledMapServiceLayer |--DynamicLayer | |--DynamicMapService ...

  6. 如何快速批量修改ArcGIS中的图层设置

    在ArcGIS中作图的时候,我们通常需要设置图层的颜色和粗细.点击图层的颜色,会跳出以下符号选择器: 右侧即可修改我们需要的属性. 但是我们有多个类似的属性如何修改成统一的样式呢? 鼠标图层右键,选择 ...

  7. ArcGIS Server 动态图层发布调用图解

    目录 1 前言 1.1 简介 1.2 适用场景 2 动态图层 2.1 共享地图服务 2.2 动态工作空间添加 2.2.1 企业级数据库 2.2.2 shapefile文件夹 2.2.3 栅格文件夹 2 ...

  8. ArcGIS for Android图层记录数,图层选择记录,图层字段数

    Log.d("图层记录数:", "" + pFeatureLayer.getFeatureTable().getNumberOfFeatures()); Log ...

  9. ArcGis基础——设置图层可选状态

    在ArcMap的图层列表上右键,可以设置“仅本图层可选”. 那么,如何设置回多个或者全部图层可选状态呢? 1.在ArcMap的菜单栏找到 自定义——自定义模式——选择——设置可选图层. 2.将“设置可 ...

  10. ArcGIS 同一要素图层合并

随机推荐

  1. Spring:基于注解管理bean

    标记与扫描 注解 和 XML 配置文件一样,注解本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测 到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作. 本质上:所有一切 ...

  2. ubuntu 20.04安装GCC G++ 6.2,支持c++ 14

    1. 下载源码包 wget http://ftp.gnu.org/gnu/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2 2. 解压 tar jxf gcc-6.2.0.tar.bz2 ...

  3. 合合信息扫描全能王亮相静安区3·15活动,AI扫描带来绿色消费新体验

    保护消费者的合法权益,是全社会的共同责任.为优化消费环境.促进品质消费高地建设,打造安全优质和谐的消费环境,上海静安区消保委于3月15日举办静安区2024年"3·15"国际消费者权 ...

  4. 基于语义增强的少样本检测,突破新类别偏见 | ICIP'24

    Few-shot目标检测(FSOD)旨在在有限标注实例的情况下检测新颖对象,在近年取得了显著进展.然而,现有方法仍然存在偏见表示问题,特别是在极低标注情况下的新颖类别.在微调过程中,一种新颖类别可能会 ...

  5. Nuxt Kit中的 Nitro 处理程序

    title: Nuxt Kit中的 Nitro 处理程序 date: 2024/9/21 updated: 2024/9/21 author: cmdragon excerpt: 摘要:本文详细介绍了 ...

  6. SQL Server的Descending Indexes降序索引

    SQL Server的Descending Indexes降序索引 背景索引是关系型数据库中优化查询性能的重要手段之一.对于需要处理大量数据的场景,合理的索引策略能够显著减少查询时间. 特别是在涉及多 ...

  7. STL标准模板库

    STL(Standard Template Library)标准模板库 是C++标准库中的一个重要组成部分,它提供了一组通用的模板类和函数,用于数据结构和算法的实现.STL的核心部分包括容器.算法和迭 ...

  8. 树莓派2 CentOS7.9 环境下编译 ZLMediaKit 备忘录

    查询系统架构 getconf LONG_BIT 查看是32 或 64位 arch uname -m 输出"x86_64"则为64位,输出"i686"或" ...

  9. go语言中变量的作用域

    Go 语言中的变量作用域规则决定了变量在程序的哪些部分是可见的和可以访问的.理解这些规则对于编写清晰.维护性高的代码非常重要.下面是一个系统性的解释. 变量的作用域类型 包级作用域: 包级作用域的变量 ...

  10. 关于set实现结构体自动去重原理的推论

    转自本人博客,原文链接 先说结论 在每个操作均为log复杂度的前提下,set无法在判断顺序和重复关键字不同时完成对结构体元素的去重. 首先我们先看这段结构体定义,目的是先按num相等进行去重,再按ke ...