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

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、拓扑错误查看及自动修改


相关文章:

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

摘要:本文介绍使用QGIS拓扑检查器和几何图形检查器检查图层的拓扑错误,修改拓扑错误,并对修改后的图层进行错误验证。 实验数据: 链接:https://pan.baidu.com/s/1Vy2s-KYS-XJevqHNdavv9A?pwdf06o 提取码&#xff1a…...

安装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应用程序&#xff…...

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移动硬盘

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

一文通透位置编码:从标准位置编码到旋转位置编码RoPE

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

八皇后问题

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

UE4/UE5 设置widget中text的字体Outline

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

漏洞复现-phpmyadmin_SQL注入 (CVE-2020-5504)

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

安装虚拟机(VMware)保姆级教程及配置虚拟网络编辑器和安装WindowsServer以及宿主机访问虚拟机和配置服务器环境

目录 一、操作系统 1.1.什么是操作系统 1.2.常见操作系统 1.3.个人版本和服务器版本的区别 1.4.Linux的各个版本 二、VMware Wworkstation Pro虚拟机的安装 1.下载与安装 注意&#xff1a;VMWare虚拟网卡 2.配置虚拟网络编辑器 三、安装配置 WindowsServer 1.创建虚拟…...

vue表格列表导出excel

你可以通过下面的步骤使用Vue导出Excel表格&#xff1a; 安装依赖 安装两个依赖包&#xff1a; npm install --save xlsx file-saver创建Excel导出方法 //导出 Excel exportExcel() {// 表格数据let data this.tableData;// 转化为工作簿对象const workbook XLSX.utils.bo…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema&#xff0c;不需要复杂的查询&#xff0c;只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 &#xff1a;在几秒钟…...