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 锐角检查结果
相关文章:

ArcGIS Pro 拓扑编辑和常见一些拓扑错误处理
7.4 拓扑编辑 拓扑编辑也叫共享编辑,多个数据修改时,一块修改,如使用数据:chp7\拓扑检查.gdb,数据集DS下JZX、JZD和DK,加载地图框中,在“地图”选项卡下选择“地图拓扑”或“ds_Topology(地理数据库)”&…...

前端踩坑之——antDesignVue的upload组件
本地启动时控制台会报404,放到服务器上控制台会报405(多发一个请求) 原因:upLoad有默认的上传事件 解决:阻止默认事件即可 beforeUpload Hook function which will be executed before uploading. Uploading will be stopped with false or …...
设计模式——策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法独立于使用它的客户端代码,使得算法的变化不会影响到使用该算法的客户端…...

Ubuntu12.0安装g++过程及其报错
Ubuntu12.0安装g过程及其报错 https://blog.csdn.net/weixin_51286763/article/details/120703953 https://blog.csdn.net/dingd1234/article/details/124029945 2.报错二: [41/80] Building CXX object absl/synchronization/CMakeFiles/graphcycles_internal.di…...

rime中州韵小狼毫 汉语拼音输入方案
教程目录:rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 在word中,我们可以轻易的给汉字加上拼音,如下👇: 但是,如何单独的输入拼音呢?例如输入 pīn yīn, 再如 zhōn…...

网页设计(八)HTML5基础与CSS3应用
一、当当网企业用户注册页面设计 当当网企业用户注册页面 改版后当当网企业用户注册页面 <!-- prj_8_1.html --> <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>当当网企业用户注册页面设计</title><s…...

模拟瑞幸小程序购物车
是根据渡一袁老师的大师课写的,如有什么地方存在问题,还请大家指出来哟ど⁰̷̴͈꒨⁰̷̴͈う♡~ index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-e…...
react js自定义实现状态管理
redux基础实现 myRedux export const createStore (reduce) > {if (typeof reduce ! function) throw new Error(Expected the reducer to be a function.)let state,listeners []state reduce()const getState () > stateconst dispatch (action) > {if(typeo…...

行为型设计模式——中介者模式
中介者模式 中介者模式主要是将关联关系由一个中介者类统一管理维护,一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即…...
通信行业无线基本概念
fast roaming(快速漫游):使用户在不同的基站(access point)间可以平滑的切换,在802.11r协议标准中定义。band steering(波段转向):在双频段(2.4G和5G…...

grep 在运维中的常用可选项
一、对比两个文件 vim -d <filename1> <filename2> 演示: 需求:~目录下有两个文件一个test.txt 以及 text2.txt,需求对比两个文件的内容。 执行后会显示如图,不同会高亮。 二、两次过滤 场景:当需要多…...
python读取Dicom文件
文章目录 1. pydicom Library2. SimpleITK Library3. ITK Library (Insight Toolkit)4. GDCM Library (Grassroots DICOM) 下面提供几种用python方法读取Dicom文件 1. pydicom Library import pydicom # Read DICOM file dataset pydicom.dcmread("path_to_dicom_file.d…...

UL2034详细介绍UL 安全单站和多站一氧化碳报警器标准
在介绍相关标准之前先介绍一下UL认证和UL测试报告的区别,检测认证行业6年老司机 UL认证是自愿性的认证,需要检测产品和审核工厂,每个季度审核一次,费用高、时间久,而且审厂非常的严格。 UL测试报告是根据产品选用相应…...
鸿蒙HarmonyOS-SDK管理使用指南
鸿蒙HarmonyOS-SDK管理使用指南 文章目录 鸿蒙HarmonyOS-SDK管理使用指南sdkmgr使用指导查看SDK组件安装组件卸载组件查看sdkmgr版本查看sdkmgr帮助options选项说明ohsdkmgr使用指导查看SDK组件安装组件卸载组件查看ohsdkmgr版本查看ohsdkmgr帮助option...

QT上位机开发(进度条操作)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 进度条是一个比较常见的控件。如果某个操作需要很长的时间才能完成,那么这个时候最好有一个进度条提示,这样比较容易平复一…...
637_二叉树的层平均值
描述 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受 思路 无需思路,乱杀 解答 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, righ…...

Ubuntu20.4 Mono C# gtk 编程习练笔记(三)
Mono对gtk做了很努力的封装,即便如此仍然与System.Windows.Form中的控件操作方法有许多差异,这是gtk本身特性或称为特色决定的。下面是gtk常用控件在Mono C#中的一些用法。 Button控件 在工具箱中该控件的clicked信号双击后自动生成回调函数prototype&…...
What is `JsonSanitizer.sanitize` does?
JsonSanitizer.sanitize 是一个Java库中的方法,用于处理和净化JSON字符串,特别是针对跨站脚本攻击(XSS, Cross-Site Scripting)。 例如,在处理富文本内容、用户评论、从第三方服务获取的数据时,使用 JsonSa…...
K8S测试pod
背景 用于测试ping,curl等类型的pod Centos pod apiVersion: apps/v1 kind: Deployment metadata:name: centos-deploymentlabels:app: centos spec:replicas: 1selector:matchLabels:app: centostemplate:metadata:labels:app: centosspec:containers:- name: c…...

序章 熟悉战场篇—了解vue的基本操作
了解vue 的基本目录: dist 是打包后存放的目录(打包目录后续可以改)node_modules 是依赖包public 是静态index页面src 是存放文件的目录assets 是存放静态资源的目录components 是存放组件的目录views 是存放页面文件的目录(没有views 自己新建一个&…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...

解密鸿蒙系统的隐私护城河:从权限动态管控到生物数据加密的全链路防护
摘要 本文以健康管理应用为例,展示鸿蒙系统如何通过细粒度权限控制、动态权限授予、数据隔离和加密存储四大核心机制,实现复杂场景下的用户隐私保护。我们将通过完整的权限请求流程和敏感数据处理代码,演示鸿蒙系统如何平衡功能需求与隐私安…...
NLP常用工具包
✨做一次按NLP项目常见工具的使用拆解 1. tokenizer from torchtext.data.utils import get_tokenizertokenizer get_tokenizer(basic_english) text_sample "Were going on an adventure! The weather is really nice today." tokens tokenizer(text_sample) p…...