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编码的字符。
Summary:QGIS在支持字符集方面通常是与操作系统保持一致的。而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、拓扑错误查看及自动修改
相关文章:

QGIS008:QGIS拓扑检查、修改及验证
摘要:本文介绍使用QGIS拓扑检查器和几何图形检查器检查图层的拓扑错误,修改拓扑错误,并对修改后的图层进行错误验证。 实验数据: 链接:https://pan.baidu.com/s/1Vy2s-KYS-XJevqHNdavv9A?pwdf06o 提取码:…...
安装DBD-Oracle报错处理
cd DBD-Oracle-1.83 perl Makefile.PL make && make install make编译报错如下: /bin/ld: 找不到 -lnsl collect2: 错误:ld 返回 1 make: *** [Makefile:524:blib/arch/auto/DBD/Oracle/Oracle.so] 错误 1 [rootlocalhost DBD-Ora…...
【机器学习】KNN算法-鸢尾花种类预测
KNN算法-鸢尾花种类预测 文章目录 KNN算法-鸢尾花种类预测1. 数据集介绍2. KNN优缺点: K最近邻(K-Nearest Neighbors,KNN)算法是一种用于模式识别和分类的简单但强大的机器学习算法。它的工作原理非常直观:给定一个新数…...
LuatOS-SOC接口文档(air780E)--lora - lora驱动模块
常量 常量 类型 解释 lora.SLEEP number SLEEP模式 lora.STANDBY number STANDBY模式 lora.init(ic, loraconfig,spiconfig) lora初始化 参数 传入值类型 解释 string lora 型号,当前支持: llcc68 sx1268 table lora配置参数,与具体设备…...

Compose 自定义 - 绘制 Draw
一、概念 所有的绘制操作都是通过调整像素大小来执行的。若要确保项目在不同的设备密度和屏幕尺寸上都能采用一致的尺寸,请务必使用 .toPx() 对 dp 进行转换或者采用小数尺寸。 二、Modifier 修饰符绘制 官方页面 在修饰的可组合项之上或之下绘制。 .drawWithCon…...

c#学习相关系列之构造函数
目录 一、构造函数的作用 二、构造函数的特征 三、三种构造函数介绍 1、实例构造函数 2、静态构造函数 3、私有构造函数 一、构造函数的作用 构造函数用来创建对象,并且可以在构造函数中对此对象进行初始化。构造函数具有与类相同的名称,它通常用来…...

CS224W1.3——图表示的选择
文章目录 1. 图网络构成2. 选择一个合适的表示3. 图结构实例3.1 二部图3.2 图的表示 4. 节点和边的属性 这小节主要讲图表示的选择。 1. 图网络构成 对于每个实体,我们创建节点 N N N,对于每个关系,我们创建边 E E E,对于整体而言…...
rust学习——插件rust-analyzer安装与配置
插件rust-analyzer安装与配置 rust-analyzer有一个中文版本。安装前请先卸载其他rust插件。 首次安装会下载语言服务。 您可能是首次安装Rust中文标准库插件 现在还需要安装Rust语言服务(约25MB单文件)就全部安装完成啦~正在后台自动安装请稍后... 下载完成...OK配置 "…...

Spring Boot简介
Spring Boot帮助你创建可以运行的独立的、基于Spring的生产级应用程序。 我们对Spring平台和第三方库采取了有主见的观点,这样你就能以最少的麻烦开始工作。 大多数Spring Boot应用程序只需要很少的Spring配置。 你可以使用Spring Boot来创建Java应用程序ÿ…...

Linux下protobuf和 protobuf-c安装使用
如果在 C语言中使用 protobuf,就需要使用 protobuf-c这个库。 protobuf使用详解:https://blog.csdn.net/qq_42402854/article/details/134066566 下面在 Linux下安装 protobuf和 protobuf-c。 一、下载 protobuf和 protobuf-c 官方的 Protocol Buffer提…...

FastAPI 快速学习之 Flask 框架对比
目录 一、前言二、FastAPI 优势三、Hello World四、HTTP 方法五、URL 变量六、查询字符串七、POST 请求八、文件上传九、表单提交十、Cookies十一、模块化视图十二、数据校验十三、自动化文档Swagger 风格ReDoc 风格 十四、CORS跨域 一、前言 本文主要对 FastAPI 与 Flask 框架…...

Spring Boot和XXL-Job:高效定时任务管理
Spring Boot和XXL-Job:高效定时任务管理 前言第一:XXL-Job简介什么是XXL-job对比别的任务调度 第二: springboot整合XXL-job配置XXL-Job Admin拉取XXL-Job代码修改拉取的配置 配置执行器自己的项目如何整合maven依赖properties文件配置执行器…...

3、QtCharts 动态曲线图
文章目录 效果声明变量构建静态图表创建计时器连接信号与槽槽函数核心代码 效果 声明变量 构建静态图表 //构建曲线系列m_splineSerisenew QSplineSeries(this);//为折线添加数据qreal x0.f;for (size_t i0;i<c_MaxSize;i){xqreal(i1)/c_MaxSize;m_splineSerise->append(…...

Linux下自动挂载U盘或者USB移动硬盘
最近在折腾用树莓派(实际上是平替香橙派orangepi zero3)搭建共享文件服务器,有一个问题很重要,如何在系统启动时自动挂载USB移动硬盘。 1 使用/etc/fstab 最开始尝试了用/etc/fstab文件下增加:"/dev/sda1 /home/orangepi/s…...

一文通透位置编码:从标准位置编码到旋转位置编码RoPE
前言 关于位置编码和RoPE 我之前在本博客中的另外两篇文章中有阐述过(一篇是关于LLaMA解读的,一篇是关于transformer从零实现的),但自觉写的不是特别透彻好懂再后来在我参与主讲的类ChatGPT微调实战课中也有讲过,但有些学员依然反馈RoPE不是…...

八皇后问题
1、问题描述 在棋盘上放置 8 个皇后,使得它们互不攻击,此时每个皇后的攻击范围为同行同列和同对角线,要求找出所有解,如下图所示。 左图为皇后的攻击范围,右图为一个可行解。 2、分析 最简单的思路是把问题转化为 “…...

UE4/UE5 设置widget中text的字体Outline
想要在蓝图中控制Widget 中的 text字体,对字体outline参数进行设置。 但是蓝图中无法直接获取设置outline参数的方法: 没有outline相关的蓝图函数 该参数本身是在Font类别下的扩展,所以只要获取设置Font参数即可进行outline的设置 text连出…...

漏洞复现-phpmyadmin_SQL注入 (CVE-2020-5504)
phpmyadmin SQL注入 _(CVE-2020-5504) 漏洞信息 CVE-2020-5504sql注入漏洞Phpmyadmin 5.00以下 描述 phpMyAdmin是Phpmyadmin团队的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库,创建、删除、修改数据库表&…...

安装虚拟机(VMware)保姆级教程及配置虚拟网络编辑器和安装WindowsServer以及宿主机访问虚拟机和配置服务器环境
目录 一、操作系统 1.1.什么是操作系统 1.2.常见操作系统 1.3.个人版本和服务器版本的区别 1.4.Linux的各个版本 二、VMware Wworkstation Pro虚拟机的安装 1.下载与安装 注意:VMWare虚拟网卡 2.配置虚拟网络编辑器 三、安装配置 WindowsServer 1.创建虚拟…...
vue表格列表导出excel
你可以通过下面的步骤使用Vue导出Excel表格: 安装依赖 安装两个依赖包: npm install --save xlsx file-saver创建Excel导出方法 //导出 Excel exportExcel() {// 表格数据let data this.tableData;// 转化为工作簿对象const workbook XLSX.utils.bo…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...