当前位置: 首页 > news >正文

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…...

模拟瑞幸小程序购物车

是根据渡一袁老师的大师课写的&#xff0c;如有什么地方存在问题&#xff0c;还请大家指出来哟ど⁰̷̴͈꒨⁰̷̴͈う♡&#xff5e; 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…...

行为型设计模式——中介者模式

中介者模式 中介者模式主要是将关联关系由一个中介者类统一管理维护&#xff0c;一般来说&#xff0c;同事类之间的关系是比较复杂的&#xff0c;多个同事类之间互相关联时&#xff0c;他们之间的关系会呈现为复杂的网状结构&#xff0c;这是一种过度耦合的架构&#xff0c;即…...

通信行业无线基本概念

fast roaming&#xff08;快速漫游&#xff09;&#xff1a;使用户在不同的基站&#xff08;access point&#xff09;间可以平滑的切换&#xff0c;在802.11r协议标准中定义。band steering&#xff08;波段转向&#xff09;&#xff1a;在双频段&#xff08;2.4G和5G&#xf…...

grep 在运维中的常用可选项

一、对比两个文件 vim -d <filename1> <filename2> 演示&#xff1a; 需求&#xff1a;&#xff5e;目录下有两个文件一个test.txt 以及 text2.txt,需求对比两个文件的内容。 执行后会显示如图&#xff0c;不同会高亮。 二、两次过滤 场景&#xff1a;当需要多…...

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测试报告的区别&#xff0c;检测认证行业6年老司机 UL认证是自愿性的认证&#xff0c;需要检测产品和审核工厂&#xff0c;每个季度审核一次&#xff0c;费用高、时间久&#xff0c;而且审厂非常的严格。 UL测试报告是根据产品选用相应…...

鸿蒙HarmonyOS-SDK管理使用指南

鸿蒙HarmonyOS-SDK管理使用指南 文章目录 鸿蒙HarmonyOS-SDK管理使用指南sdkmgr使用指导查看SDK组件安装组件卸载组件查看sdkmgr版本查看sdkmgr帮助options选项说明ohsdkmgr使用指导查看SDK组件安装组件卸载组件查看ohsdkmgr版本查看ohsdkmgr帮助option...

QT上位机开发(进度条操作)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 进度条是一个比较常见的控件。如果某个操作需要很长的时间才能完成&#xff0c;那么这个时候最好有一个进度条提示&#xff0c;这样比较容易平复一…...

637_二叉树的层平均值

描述 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受 思路 无需思路&#xff0c;乱杀 解答 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, righ…...

Ubuntu20.4 Mono C# gtk 编程习练笔记(三)

Mono对gtk做了很努力的封装&#xff0c;即便如此仍然与System.Windows.Form中的控件操作方法有许多差异&#xff0c;这是gtk本身特性或称为特色决定的。下面是gtk常用控件在Mono C#中的一些用法。 Button控件 在工具箱中该控件的clicked信号双击后自动生成回调函数prototype&…...

What is `JsonSanitizer.sanitize` does?

JsonSanitizer.sanitize 是一个Java库中的方法&#xff0c;用于处理和净化JSON字符串&#xff0c;特别是针对跨站脚本攻击&#xff08;XSS, Cross-Site Scripting&#xff09;。 例如&#xff0c;在处理富文本内容、用户评论、从第三方服务获取的数据时&#xff0c;使用 JsonSa…...

K8S测试pod

背景 用于测试ping&#xff0c;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 的基本目录&#xff1a; dist 是打包后存放的目录(打包目录后续可以改)node_modules 是依赖包public 是静态index页面src 是存放文件的目录assets 是存放静态资源的目录components 是存放组件的目录views 是存放页面文件的目录&#xff08;没有views 自己新建一个&…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

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

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...