ArcGIS Pro 拓扑编辑和常见一些拓扑错误处理

7.4 拓扑编辑

拓扑编辑也叫共享编辑,多个数据修改时,一块修改,如使用数据:chp7\拓扑检查.gdb,数据集DS下JZX、JZD和DK,加载地图框中,在“地图”选项卡下选择“地图拓扑”或“ds_Topology(地理数据库)”,如图7-11所示。

图片

图7-11 地图拓扑的位置

单击“编辑折点”,出现“修改要素”窗格,下面切换到“边”,如图7-12所示。

图片

图7-12 共享编辑修改边和按比例拉伸的位置

修改数据时,一块修改。

图片

按比例拉伸,不勾选,只修改节点,选中所有节点按比例拉伸,默认是选中。

7.5 常见一些拓扑错误处理

在Pro中没有一键处理所有错误方法,就像没有一种药物包治百病一样。我们不同拓扑错误,解决方法不一样。由于拓扑容差默认就是XY容差,很多矢量数据处理有XY容差参数工具,都是拓扑错误处理;同时本身要求没有拓扑错误,反过来也是拓扑错误的处理工具。

7.5.1 点、线、面完全相同处理

使用“删除相同项(DeleteIdentical)”工具,直接对输入数据本身修改,测试数据:chp7\拓扑处理.gdb\kk\宗地,操作如图7-13所示。

图片

图7-13 删除完全重复的面

字段选“Shape(图形)”,对于点要素,删除重复点;对于线,是删除完全相同的线;对于面,是删除完全相同的面;选择其他字段就是值相同的,选择多个字段就是多个字段的值完全相同的。使用该工具,删除完全重叠面,如果几个完全相同的面,按表中记录的顺序,删除后面的,保留第一个。

7.5.2 线部分重叠

使用打断相交线,在划分下

图片

,选择需要处理的线(只能一个图层的线数据),使用打断,可以删除完全重叠线,也可以删除部分重叠的线。测试数据:chp7\拓扑处理.gdb\kk\线重叠。

7.5.3 线有伪结点

测试数据:chp7\拓扑处理.gdb\l\xzqjx,拓扑规则:“不能有伪结点”,有927个错误,结果如图7-14所示。

图片

图7-14 伪节点错误

处理方法:先使用“融合(Dissolve)”工具,融合字段是需要保留属性字段,且端点相同的线合并在一起,如图7-15所示。

图片

图7-15 融合工具合并线

然后,在划分下

图片

,打断相交线,如果还有伪结点错误,需要自己选择对象,处理方式:使用合并

图片

7.5.4 面部分重叠

测试数据:chp7\拓扑处理.gdb\kk\部分重叠。使用“联合(Union)”工具,把部分重叠转换成完全重叠,操作如图7-16所示,后根据自己的需要修改,如果需要完全相同删除的按7.5.1小节方法;如果需要合并,开始编辑,选择合并,如果很多这种情况,可以使用“消除(Eliminate)”工具。联合工具也可以处理两个面要素图层,图形可以完全处理,处理后图形没有任何重叠,属性将两个要素图层的属性字段连接在一起。

图片

图7-16 联合处理部分重叠的面

也可以“要素转面(FeatureToPolygon)”工具,如图7-17所示。

图片

图7-17 使用要素转面处理面的重叠

使用该工具,输出面不保留任何属性。也可以两个以上的图层。

图片

仅仅在下面选择标注要素(点要素)时,才有效。

7.5.5 点不为线的端点

测试数据:chp7\点线不重.gdb\ds下JZD和JZX,“捕捉(Snap)”工具主要适合用点和线,点和面,面和点,线和点,或者点和点的简单情况,概括一(点)对多(线和面多个折点),或多对一;不适合用于线和线,线和面,或者面和面等多(因为面或线要素有多个折点)对多的复杂情况,操作界面如图7-18所示:

图片

图7-18 捕捉工具 让JZX的端点和点重合在一起

捕捉(SNAP)中输入要素是需要修改要素,这个选JZX,修改的要素就是JZX,如果想让JZD修改,输入要素就选JZD。捕捉环境的类型选项:

1.END - 将输入要素折点捕捉到(捕捉环境)要素末端。

2.VERTEX - 将输入要素折点捕捉到要素折点。

3.EDGE - 将输入要素折点捕捉到要素边。

选择时,优先选择1和2。距离 - 输入要素折点被捕捉到此距离范围内的最近折点,满足条件的最小值,如目前线到点的距离,2.8米多一点,所以输入3米。注意:直接修改输入要素,所以一定要先备份输入要素。

7.5.6 面线不重合

面线不重合,需要的是修改面,虽然可以使用4.2.2小节对齐边和对齐要素工具,或者7.5.5小节的捕捉工具,但处理起来工作量都很大。只要线闭合,没有“不能有悬挂点”拓扑错误,线在交叉地方打断,生成面的边界就和线重合。测试数据:chp7\面线不重合.gd\ds下xzq和xzqjx,我们方法如下:

1.面生成点 :使用“要素转点(FeatureToPoint)”工具,选中内部,如图7-19所示,一个面生成一个点,点在面内部,点的属性和面属性一致。

图片

图7-19 要素转点,需要面的属性

注意:要素转点,可以是面,或线,一个面就得到一个点;选中“内部”参数,生成点在面内,线上(默认长度的中点),未选中“内部”参数,获得几何中心,但几何中心不一定在面内和线上;点的属性和输入要素的属性一致。

2.线生成面:使用“要素转面(FeatureToPolygon)”工具,输入要素就是原始线(JZX),下面的标注要素:选“要素转点”得到的点要素,保留属性一定选中(默认是选中,不要去掉),如图7-20所示。生成的面,图形来自线要素,属性来自最早的面。

注意:该操作面要素不要有多部件要素,如果存在多部件要素先使用“多部件至单部件(MultipartToSinglepart)”工具转成单部件;此方法只适合面线边界稍微不重合,由线生成面的记录数和最早面的记录数一致。如果不考虑最早面的属性,直接使用要素转面一步操作就可以,下面标注要素不需要填写。

图片

图7-20 要素转面 生成图形取线,属性取点

7.5.7 面必须被其他面要素覆盖

测试数据:chp7\不能跨行政区.gdb下DLTB和XZQ,DLTB不能跨XZQ,拓扑检查,有29个拓扑错误,如图7-21所示。

图片

图7-21 必须被其他要素覆盖的拓扑错误

一般的解决方法:两个图形相交,跨行政区自动分解,如图7-22所示,拓扑错误就自动解决了,后面再根据自己情况,解决碎的图斑和属性问题。

图片

图7-22 相交解决拓扑错误

也可以直接根据属性XZQDM,XZQMC生成XZQ数据,使用“融合(Dissolve)”工具,如图7-22所示。该操作前提条件是:先填写对应字段的属性。

图片

图7-23 融合解决拓扑错误

7.5.8 多部件检查

Pro拓扑中没有直接检查面多部件功能(线有,点的多部件是多点),我们有两种方法:

1.自己建一个长整数字段,使用字段计算,使用Python语法:!Shape!.partcount,大于1就是多部件要素。

2.使用“多部件至单部件(MultipartToSinglepart)”工具,看记录数是否增加,没有增加,就没有多部件。ORIG_FID是原来图形的ID,使用“频数(Frequency)”工具,频数字段选“ORIG_FID”,输出表中字段“FREQUENCY”,大于1都是多部件。

7.5.9 锐角检查

Pro中默认没有检查工具,本人写一个Python,工具在“Chp7\锐角检查工具.tbx”,如图7-24所示,同时提供其他一些工具,就是上面说的Pro工具,封装一下。

图片

图7-24 提供一些拓扑处理的工具

数据:chp7\拓扑检查.gdb\锐角检查,运行“锐角检查”工具,如图7-25所示。

图片

图7-25 锐角检查工具

结果如图7-26所示,小于角度位置输出点;属性表中有具体角度字段。错误处理,需要自动根据情况处理,无法自动处理。

图片

图7-26 锐角检查结果

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

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

相关文章

基于Redis+Lua的分布式限流

本文已收录至我的个人网站:程序员波特,主要记录Java相关技术系列教程,共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源,让想要学习的你,不再迷茫。 前面我们了解了如何利用Nginx做网关层限流&#xf…

SpringAMQP的使用

1. 简介: SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。 SpringAmqp的官方地址:https://spring.io/projects/spring-amqp SpringAMQP提供了三个功能: 自动声…

【C语言】指针知识点笔记(2)

目录 一、野指针 二、assert断言 三、指针的使用和传址调用 四、数组名的理解 五、使用指针访问数组 一、野指针 二、assert断言 三、指针的使用和传址调用 四、数组名的理解 五、使用指针访问数组

Java中的异常处理

目录 前言: 异常简介: Error类: Exception类: Exception异常: 运行异常: 编译异常: throw和throws关键字: throw: throws: try-catch关键字: finally: 为…

编译 FastDFS 时报错 fatal error: sf/sf_global.h: No such file or directory 解决办法

编译 FastDFS 时,报错如下 gcc -Wall -D_FILE_OFFSET_BITS64 -D_GNU_SOURCE -g -O1 -DDEBUG_FLAG -c -o ../common/fdfs_global.o ../common/fdfs_global.c -I../common -I/usr/local/include In file included from ../common/fdfs_global.c:21:0: ../common/fdf…

教你用五步让千年的兵马俑跳上现代的科目三?

以下是一张我上月去西安拍的兵马俑照片: 使用通义千问,5步就能它舞动起来,跳上现在流行的“科目三”舞蹈。 千年兵马俑跳上科目三 全民舞王 第1步 打开通义千问App,我使用的是华为手机,苹果版的没试; 在…

OpenCV-22高斯滤波

一、高斯函数的基础 要理解高斯滤波首先要直到什么是高斯函数,高斯函数是符合高斯分布的(也叫正态分布)的数据的概率密度函数。 高斯函数的特点是以x轴某一点(这一点称为均值)为对称轴,越靠近中心数据发生…

单例模式实现最好的方式即枚举实现

单例类作为23种设计模式当中最常用的设计模式,实现方式有很多种,比较流行的是DCL(DoubleCheckLock)双重检查的实现,线程安全,又比较好,除了存在序列化的问题之外,还算不错,如果对DCL模式还不熟悉…

U-Boot学习(3):.config、defconfig文件对比及图形化配置Kconfig

在上一节中,我们介绍了U-Boot编译和.config配置文件生成分析,我们可以通过make xxx__defconfig来进行一些配置,其中xxx__defconfig对应config目录下的基于不同开发板的一些配置,指令执行完后会根据对应的配置在根目录下生成一个.c…

排序算法6---快速排序(非递归)(C)

回顾递归的快速排序,都是先找到key中间值,然后递归左区间,右区间。 那么是否可以实现非递归的快排呢?答案是对的,这里需要借助数据结构的栈。将右区间左区间压栈(后进先出),然后取出…

详细讲解Python连接Mysql的基本操作

目录 前言1. mysql.connector2. pymysql 前言 连接Mysql一般有几种方法,主要讲解mysql.connector以及pymysql的连接 后续如果用到其他库还会持续总结! 对于数据库中的表格,本人设计如下:(为了配合下面的操作) 1. mysql.connector mysql.connector 是一…

C#,入门教程(19)——循环语句(for,while,foreach)的基础知识

上一篇: C#,入门教程(18)——分支语句(switch-case)的基础知识https://blog.csdn.net/beijinghorn/article/details/124039953 一、for循环 当老师进入教室,从门口开始分别按行、列点名,看看哪位翘课&…

Xcode15 升级问题记录

这里写自定义目录标题 新版本Xcode15升级问题1:rsync error: some files could not be transferred (code 23) at ...参考 新版本Xcode15升级 下载地址:https://developer.apple.com/download/all/ 我目前使用的版本是Xcode15.2 我新创建了一个项目&…

transfomer中Decoder和Encoder的base_layer的源码实现

简介 Encoder和Decoder共同组成transfomer,分别对应图中左右浅绿色框内的部分. Encoder: 目的:将输入的特征图转换为一系列自注意力的输出。 工作原理:首先,通过卷积神经网络(CNN)提取输入图像的特征。然…

开发需求总结9-el-tree获取选中节点,节点全选时返回被全选子级的父节点,未全选则返回被选中的节点

目录 需求描述 代码实现: 需求描述 需要获取树组件选中的节点,假如父节点被选中(该节点全选),即只返回父节点的数据,如父节点未被全选,则正常返回被选中节点的数据。 示例一: 如上图…

Python展示 RGB立方体的二维切面视图

代码实现 import numpy as np import matplotlib.pyplot as plt# 生成 24-bit 全彩 RGB 立方体 def generate_rgb_cube():# 初始化一个 256x256x256 的三维数组rgb_cube np.zeros((256, 256, 256, 3), dtypenp.uint8)# 填充立方体for r in range(256):for g in range(256):fo…

编曲混音FL Studio21.2对电脑有什么配置要求

FL Studio 21是一款非常流行的音乐制作软件,它可以帮助音乐人和制作人创作出高质量的音乐作品。然而,为了保证软件的稳定性和流畅性,用户需要知道FL Studio 21对电脑的配置要求。本文将介绍FL Studio 21的配置要求,以帮助用户选择…

32 二叉树的定义

之前的通用树结构 采用双亲孩子表示法模型 孩子兄弟表示法模型 引出二叉树 二叉树的定义: 满二叉树和完全二叉树 对此图要有印象 满二叉树一定是完全二叉树,但是完全二叉树不一定是满二叉树 小结

RabbitMQ交换机(2)-Direct

1.Direct 直连(路由)交换机,生产者将消息发送到交换机,并指定消息的Routing Key(路由键)。交换机会将Routing Key与队列绑定进行匹配,如果匹配成功,则将该消息路由到对应的队列中。如果没有匹配成功,该消息…

小程序中使用微信同声传译插件实现语音识别、语音合成、文本翻译功能----语音识别(一)

官方文档链接:https://mp.weixin.qq.com/wxopen/plugindevdoc?appidwx069ba97219f66d99&token370941954&langzh_CN#- 要使用插件需要先在小程序管理后台的设置->第三方设置->插件管理中添加插件,目前该插件仅认证后的小程序。 语音识别…