QGIS008:QGIS拓扑检查、修改及验证

摘要:本文介绍使用QGIS拓扑检查器和几何图形检查器检查图层的拓扑错误,修改拓扑错误,并对修改后的图层进行错误验证。

实验数据:

链接:https://pan.baidu.com/s/1Vy2s-KYS-XJevqHNdavv9A?pwd=f06o 
提取码:f06o 


一、创建测试图层

1、新建图层

鼠标点击浏览器面板,右键点击创建的测试图层存放的文件夹,在弹出列表中点击【新建】→【形状文件】。

2、设置图层属性

在弹出的【新建形状文件图层】窗口修改图层名称,选择图层字符集,QGIS常用图层字符集有system、UTF-8、GBK三种,本例中我们选择图层编码为UTF-8,以下对这三种字符集做补充介绍。

【SYSTEM】:操作系统的默认字符集一般会根据具体的操作系统和语言环境而有所不同。大多数情况操作系统的默认字符集会是UTF-8,可以支持全世界大多数语言所需要的字符。在用户未指定图层字符集的情况下,QGIS将使用操作系统的默认字符集作为显示和编码方式。

【UTF-8】:一种可变长度的字符编码方式,可以表示几乎所有的Unicode字符,包括世界上各种语言的字符、数学符号、表情符号、特殊符号等等。因此,UTF-8可以支持非常大的字符集,最多可以表示2097151个字符,其中英文字母占用1个字节,中文汉字占用3-4个字节。QGIS在所有主流的操作系统上都能很好地支持。UTF-8是一种能够表示多种语言字符的字符编码方式,能够支持几乎所有文字和符号的显示。

【GBK】:中文国家常用的字符编码方式,适合于处理中文字符。GBK编码共收录了21003个汉字、883个生僻汉字和682个符号等,GBK中的每个中文汉字占用2个字节。因此,GBK可以支持包括中文在内的大部分汉字字符。由此可看出GBK字符编码方式更适合于处理中文字符。如果系统中安装了GBK的字体支持,QGIS可以正常显示和处理GBK编码的字符。

SummaryQGIS在支持字符集方面通常是与操作系统保持一致的。而UTF-8和GBK是常见的字符编码方式,在QGIS加载的图层属性表出现字符乱码的情况下(假设图层字符集为GB2313-共收录7445个字符,而操作系统未安装该字符集),通常通过修改图层的字符集为UTF-8,在重新导出即可解决大多数情况下字符乱码的问题。

3、加载图层

双击新建的图层或鼠标左键长按拖动图层到画布放开,将新建图层加载到图层面板。


二、制造拓扑错误

针对QGIS【拓扑检查器】检查规则中单图层的4类拓扑错误检查规则:【不允许包含多部件几何图形】、【不允许有无效的几何图形】、【不允许有重叠】和【不允许重叠】,我们在新建的测试图层中制造4类拓扑错误来进行测试。

1、创建多部件几何图形

2、创建无效的几何图形

3、创建互相重叠的要素

4、创建完全重复的要素


 三、修改拓扑错误

1、多部件错误修改

方法一:使用工具栏【多部件转单部件】工具炸开多部件。

方法二:使用菜单栏【矢量】选项下的几何图形工具中的【多部件转单部件】工具炸开多部件。

2、无效几何图形修改

框选自相交要素自相交的要素形点后,点击BacKspace删除形点。

3、无效几何图形修改

使用重塑工具,捕捉要素重叠区域形点,对重叠的要素边缘进行整形。

4、完全重叠的要素修改

单击选中重叠的要素其中的一个要素,点击delete键删除其中一个要素。


四、验证修改后数据的拓扑错误

1、重新验证拓扑错误

修改完成后点击全部验证,查看图层是否还存在未修改的拓扑错误。

2、检查拓扑错误修改情况

验证后全部错误修改完成,图层的错误高亮显示消失。


五、使用拓扑检查器进行拓扑检查

【适用情况】:图层拓扑错误较少且容易修改,不用导出新的图层对比修改,可实时验证修改后的图层是否还存在拓扑错误。

1、启用拓扑检查器

点击菜单栏【插件】选项中的【管理并安装插件】,在弹出的插件窗口中选择【已安装】,勾选以启用【拓扑检查器】。

2、打开拓扑检查器

启用拓扑检查器后默认集成到矢量选项卡,在菜单栏【矢量】选项卡里打开【拓扑检查器】。

3、设置检查图层和规则

打开拓扑检查器后默认合并到浏览器工具栏,选择检查图层,拓扑规则,并逐个规则进行添加,添加完成后点击OK,勾选拓扑检查器中的【在画布上显示错误】。

4、验证数据错误

点击【拓扑检查器面板】中的【全部验证】开始验证图层中的拓扑错误,在错误信息栏会显示错误图层、错误类型和要素id。在画布上会高亮显示错误的要素和错误的重叠区域。


六、使用几何图形检查器进行拓扑检查

【适用情况】:适用于图层拓扑错误较多,需要导出检查图层便于批量修改的场景,修改后错误大量减少,对于一些需要人为修改的错误,可转至拓扑检查器进行错误的查改和实时验证。

1、启用几何图形检查器

点击菜单栏【插件】选项中的【管理并安装插件】,在弹出的插件窗口中选择【已安装】,勾选以启用【几何图形检查器】。

2、打开几何图形检查器

启用几何图形检查器后默认集成到矢量选项卡,在菜单栏【矢量】选项卡里打开【几何图形检查器】。

3、设置检查图层和规则

设置检查图层和拓扑规则后点击运行输出错误图层,使用几何图形检查器进行拓扑检查时有两点需要注意:

①检查图层不能切换至编辑状态

②错误图层输出路径不能和检查图层所在路径相同

4、拓扑错误查看及自动修改


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nginx配置反向代理和动静分离应用

一. Nginx配置反向代理和实现动静分离与虚拟主机流程图: 二 .Nginx配置反向代理和实现动静分离与虚拟主机实现详细配置和效果图 2.1 nginx 配置反向代理 #在nginx.conf配置server同级下配置 include tomcat.conf# vim tomcat.conf upstream api.z.mukewang.com{…

线程安全问题

线程安全 简单来说,在多个线程访问某个方法或者对象的时候,不管通过任何的方式调用以及线程如何去交替执行。在程序中不做任何同步干预操作的情况下,这个方法或者对象的执行/修改都能按照预期的结果来反馈,那么这个类就是线程安全…

基于XML的Web服务Java接口(JAX-WS)、Jakarta XML Web Services Eclipse 实现

简介 JAX-WS(Java API for XML-Based Web Services),是创建web服务的Java编程接口,特别是SOAP服务。是Java XML编程接口之一,是Java SE 和Java EE 平台的一部分。 JAX-WS 2.0 规范是代替JAX-RPC 1.0的下一代Web服务AP…

前端知识储备

前端知识储备 一. 什么是前端? """ 任何与用户直接打交道的操作界面都可以称之为前端 比如:电脑界面 手机界面 平板界面什么是后端后端类似于幕后操作者(一堆让人头皮发麻的代码)不直接跟用户打交道 """ 二. 为什么学前端? ""&quo…

Vue进阶(幺陆玖)项目部署后IE报 SCRIPT1002:语法错误 解决方案探讨

文章目录 一、前言二、组件懒加载2.1 什么是懒加载2.2 如何实现懒加载 三、延伸阅读 软件程序唤醒3.1 protocolCheck 实现3.2 自定义实现 四、拓展阅读 一、前言 Vue项目改造升级后,原本本地热部署后IE可正常打开的项目出现页面白屏且控制台给出SCRIPT1002:语法错误…

服务器执行命令或脚本的两种方式

目录 1、通过Runtime 2、通过ProcessBuilder 在java开发中,有时候需要与操作系统的命令行交互,执行特定的CMD命令或脚本。 我们有如下两种方式来实现: Java的Runtime类和ProcessBuilder类都允许Java程序启动一个新的进程并执行特定的命令&#xff0…

[数据结构]-二叉搜索树

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。 目录 一、二叉搜…

【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--笔记

0. 内容 1. 时间戳同步问题及意义 时间戳同步的原因:如果不同步,由于IMU频率高,可能由于时间戳不同步而导致在两帧camera之间的时间内用多了或者用少了IMU的数据,且时间不同步会导致我们首尾camera和IMU数据时间不同,…

Linux部署Redis Cluster高可用集群(附带集群节点添加删除以及槽位分配操作详解)

目录 一、前言二、下载安装Redis2.1、选择需要安装的Redis版本2.2、下载并解压Redis2.3、编译安装Redis 三、部署Redis Cluster高可用集群3.1、准备配置文件3.2、启动Redis服务3.3、创建Redis集群3.4、查看集群关系3.5、连接集群Redis进行数据读写以及重定向测试3.6、故障转移和…

如何查找特定基因集合免疫基因集 炎症基因集

温故而知新,再次看下Msigdb数据库。它更新了很多内容。给我们提供了一个查询基因集的地方。 关注微信:生信小博士 比如纤维化基因集: 打开网址:https://www.gsea-msigdb.org/gsea/msigdb/index.jsp 2.点击search 3.比如我对纤维…

ubuntu 22.04安装百度网盘

百度网盘 客户端下载 (baidu.com) 下载地址 sudo dpkg -i baidunetdisk_4.17.7_amd64.deb

3.线性神经网络

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 线性回归基础优化算法一、线性回归1、买房案例2、买房模型简化3、线性模型4、神经网络5、损失函数6、训练数据7、参数学习8、显示解9、总结 二、 基础优化算法1、梯度下降2、学习率3、小批量随机梯度下降4、批量大小5、…

笔记43:ResNet 结构详解

笔记本地地址:D:\work_file\DeepLearning_Learning\03_个人笔记\2.图像处理任务\ResNet网络学习 a a a a a a a a a a a a a a a a a a a a a a a a a a a a a

C语言 每日一题 PTA 10.27 day5

1.高速公路超速处罚 按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10 % 则处200元罚款; 若达到或超出50 % ,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。 输入格式 : 输入在一行中给出2个正…

子集生成算法:给定一个集合,枚举所有可能的子集

给定一个集合,枚举所有可能的子集。 (为简单起见,本文讨论的集合中没有重复元素) 1、方法一:增量构造法 第一种思路是一次选出一个元素放到集合中,程序如下: void print_subset(int n, int …

Fabric.js 使用自定义字体

本文简介 点赞 关注 收藏 学会了 如果你使用 Fabric.js 做编辑类的产品,有可能需要给用户配置字体。 这次就讲讲在 Fabric.js 中创建文本时怎么使用自定义字体、在项目运行时怎么修改字体、以及推荐一个精简字体库的工具。 学习本文前,你必须有一点…

二维码智慧门牌管理系统升级解决方案:采集计划精细化管理的艺术

文章目录 前言一、采集计划的定义和配置流程二、多采集计划配置策略三、采集计划的实践应用 前言 在数字化时代,建设智慧城市需要借助各种先进的技术工具。其中,二维码智慧门牌管理系统在城市管理、资源调配和公众服务等方面扮演着举足轻重的角色。关键…

实现寄生组合继承

寄生组合继承是一种继承方式,它通过组合使用构造函数继承和原型继承的方式,实现了高效而且正确的继承方式。 具体实现步骤如下: ① 定义一个父类,实现其属性和方法: function Person(name) {this.name namethis.age…

贝锐花生壳内网穿透推出全新功能,远程业务连接更安全

贝锐旗下内网穿透兼动态域名解析品牌花生壳目前推出了全新的“访问控制”功能,可精确设置访问权限,充分保障信息安全,满足更多用户安全远程访问内网服务的需求。 通过这一功能,可实现指定时间、IP、地区等条件下才能远程访问映射的…

什么是React中的高阶组件(Higher Order Component,HOC)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…