QGIS007:【01空间操作】-提取两个图层空间相交属性一致的图斑

news2025/2/26 5:55:14

引言:本文介绍使用QGIS图形建模器设计模型,提取出两个图层空间位置存在交集且字段(NAME;LAYER)属性值完全一致的要素。

实验数据:

链接:https://pan.baidu.com/s/1qqylXkqzRFNnKK-pRQNkMg?pwd=urzx 
提取码:urzx


一、需求描述

现有图层A(红色边框标注)和图层B(蓝色边框标注),需要提取出两个图层空间位置存在交集且字段(NAME;LAYER)属性值完全一致的要素,将图层A满足的要素①②存储在输出图层a中,将图层B满足的要素①②导出到图层b中。


二、设计思路

当前版本QGIS暂无可直接提取出两个图层存在相交且属性相同的要素的工具,【检测数据集更改】工具可以比较两个图层属性字段,但会同时比较两个图层的几何,几何的比较只有完全一致和重合两种。可以通过将两个图层相交的区域转成完全重合的两个点图层poA和poB,用仅存在自增量字段AUTO(图层要素至少保留一个字段)的点图层poA和poB通过内含于关系挂接上面图层A和B的属性,通过比较挂接属性后的点图层poA1和poB1的几何属性和除AUTO字段外的所有字段的属性可得到两个相交且属性完全一致的图层内的点图层poA1_poB1,通过图层A和poA1_poB1按包含关系可提取出A图层满足条件的要素,通过图层B和poA1_poB1按包含关系可提取出B图层满足条件的要素,以下为设计过程。


三、设计过程

1、【矢量要素】参数设置

算法输入描述:【矢量要素】允许输入的矢量要素包括,无需几何图形、点、线、面、任意几何图形类型(包括前4种),若定义的允许输入要素类型为点,在输入面运行算法则会报错。

2、【相交】参数设置

算法说明:【相交】算法提取输入图层和叠加图层中要素的重叠部分。输出相交图层中要素的属性,来自输入图层和叠加图层的重叠要素的属性。

3、【质心】参数设置

算法说明:【质心】算法创建新的点图层,其中点表示输入图层中几何图形的质心。与输出图层中的每个点关联的属性与原始要素的属性相同。

4、【添加自增量字段】参数设置

算法说明:该算法向矢量图层添加一个新的整数字段,每个要素都有一个序列值。此字段可用作图层中要素的唯一ID。新属性不会添加到输入图层,而是生成一个新图层。可以指定增量序列的初始起始值。指定可选的率值,将在字段值达到率值时重新开始计数。或者,可以指定分组字段。如果存在组字段,将为这些组字段值的每个组合重置字段值。可以指定要素的排序顺序,如果是这样,增量字段将遵守此排序顺序。

5、【删除字段】参数设置

算法描述:该算法使用矢量图层,生成内容完全相同但不含选定待删字段的新图层。

6、【按位置连接属性】参数设置

算法描述:该算法采用一个输入矢量图层并创建一个新的矢量图层,该图层是输入矢量图层的扩展版本,其属性表中附加其他属性。附加属性及其值取自第二个矢量图层。应用空间标准从第二个图层中选择值,这些值将添加到结果图层中来自第一图层的各要素中。

7、【检测数据集更改】参数设置

算法描述:此算法比较两个矢量图层间增加、删除及保持不变的要素。根据“几何图形比较行为”设置,采用精确对比(几何图形必须彼此完全匹配,包括顶点的顺序和计数)或只比较拓扑结构(如果几何图形面所有构件的边缘重叠则认为其相同。该算法输出三个图层:一个含所有修订版间不变的要素;一个含原图层中有,但修订图层中没有的被删除要素;另一个含原图层中没有,修订图层中有的新增要素。

8、【按位置提取】参数设置

算法描述:该算法创建新矢量图层,其中仅包含与来自输入图层相匹配的那些要素。匹配的条件由各要素与其他图层要素之间的空间关系决定。

9、验证模型

模型输出要素和需求描述一致,模型验证通过。

10、保存模型

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AlDente Pro for Mac: 掌控电池充电的终极解决方案

你是否曾经为了保护你的MacBook的电池,而苦恼于无法控制它的充电速度?AlDente Pro for Mac 是一款专为Mac用户设计的电池管理工具,它能帮助你解决这个问题。 AlDente Pro for Mac 是一款电池最大充电限制软件,它能够让你自由地设…

深度学习_4_实战_直线最优解

梯度 实战 代码: # %matplotlib inline import random import torch import matplotlib.pyplot as plt # from d21 import torch as d21def synthetic_data(w, b, num_examples):"""生成 Y XW b 噪声。"""X torch.normal(0,…

Qcom查看算法库编译工具版本的方法

一,简介 本文主要介绍如何查看使用Hexagon IDE编译出来的算法库使用的是哪个版本的clang version,供相关开发人员进行参考。 二,操作步骤 使用notepad打开编译生成的算法库,搜索“LLVM Hexagon Clang version” 如下所示&#…

Qt中QPushButton、QAction等信号clicked()和toggled()的区别及setCheckable()和setChecked()区别

在Qt中,QPushButton(按钮)有两个常用的信号:clicked()和toggled(bool checked)。这两个信号在按钮的状态改变时都会发出,但是它们之间有一些重要的区别: clicked() 信号: clicked() 信号在按钮…

untiy 新输入系统 InputSytem

文章目录 一 前言二 安装新建一个输入资产三 InputActions面板区域1 工具栏controlSchemes 控制方案saveAsset和Auto-Save 区域2 actionMaps 动作映射集区域3 actions 区域4 属性面板1 action与bingding的创建与删除2 action的属性3 Bindin属性4 实例演示,创建一个跳…

最详细STM32,cubeMX 超声波测距

这篇文章将详细介绍 STM32使用 cubeMX驱动超声波测距 。 文章目录 前言一、超声波模块测距原理 : 二、cubeMX 配置三、实验程序总结 前言 实验材料:STM32F103C8T6开发板, HC-SR04 超声波模块。所需软件:keil5 , cubeM…

二叉搜索树进阶--AVL树详细实现过程

目录 AVL树概念AVL树实现AVL树基础结构插入插入:左旋实现插入:右旋实现 AVL树完整实现代码: 之前学习到的二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中…

【C语言】popen()函数详解

popen函数详解 一、函数介绍二、使用实例 一、函数介绍 头文件#include <stdio.h>函数原型FILE *popen(const char *command, const char *type); 功能&#xff1a;popen()函数通过先创建一个管道&#xff0c;然后调用 fork 产生一个子进程&#xff0c;让子进程执行shel…

nvm的安装,使用及命令

nvm的安装&#xff0c;使用及命令 nvm工具1.nvm的安装基于node的开发nvm是什么nvm下载nvm安装 2.nvm的命令3.nvm的使用 nvm工具 nvm是什么 nvm下载与安装 nvm的基本使用1.nvm的安装 基于node的开发 在介绍nvm之前&#xff0c;先介绍下前端开发中关于node的使用。目前前端不管…

Allegro如何交换两个器件的位置操作指导

Allegro如何交换两个器件的位置操作指导 在用Allegro进行PCB设计的时候,交换两个器件的位置是使用的十分频繁的操作,如下图 需要将两个器件的位置交换,可以手动移动,然后交换下位置,但是Allegro支持快速将两个器件的位置对调 具体操作如下 点击Place点击Swap

【Javascript】数组练习(将字符串“ab,cd,ef,gh“转化成数组,并且删除“cd“)

将字符串"ab,cd,ef,gh"转化成数组&#xff0c;并且删除"cd“ var strab , cd , ef , gh; 调用split函数将字符串转化为数组 var strab , cd , ef , gh;var liststr.split(,);console.log(list); 调用splice方法在数组中删除cd var strab , cd , ef , gh;var …

TCP通信实战案例-模拟BS系统[了解]

前言 1、之前的客户端都是什么样的&#xff1f; 其实就是CS架构&#xff0c;客户端实需要我们自己开发实现的。 2、BS结构是什么样的&#xff0c;需要开发客户端吗&#xff1f; 浏览器访问服务端&#xff0c;不需要开发客户端。 实现BS开发 注意&#xff1a;服务器必须给浏…

C++左值引用与右值引用

0.类型和值类别的区别&#xff1f; 类型&#xff08;type&#xff09;和值类别&#xff08;value category&#xff09; 1.类型指的是数据类型&#xff0c;int&#xff0c;char这样的内置类型&#xff0c;类型主要是用来区别它们的字节大小。除了内置类型还有自定义类型&…

前端构建但没有更新

使用jenkins构建vue前端代码时&#xff0c;构建完成后&#xff0c;jenkins提示构建成功&#xff0c; 但前端刷新提示还是原来的效果&#xff0c;此时需要查看下jenkins构建日志&#xff0c;如果出现下面的文字&#xff0c;说明缺少依赖&#xff0c;最新的代码并没有构建到项目中…

QT-opengl编译错误

问题1&#xff1a; QT编译错误&#xff1a;undefined reference to __imp_gl* 解决方案 在工程*.pro文件中加入 win32:LIBS -lOpengl32 \-lglu32 win32-msvc{LIBS opengl32.lib \glu32.lib \glut.lib}问题2&#xff1a; 解决方案&#xff1a; 改变变量名称&#xff1a; 改…

WebSocket—STOMP详解(官方原版)

WebSocket协议定义了两种类型的消息&#xff08;文本和二进制&#xff09;&#xff0c;但其内容未作定义。该协议定义了一种机制&#xff0c;供客户端和服务器协商在WebSocket之上使用的子协议&#xff08;即更高级别的消息传递协议&#xff09;&#xff0c;以定义各自可以发送…

VM虚拟机 13.5 for Mac

VMware Fusion Pro for Mac是一款强大的虚拟机软件&#xff0c;可以在Mac操作系统中创建、运行和管理多个虚拟机&#xff0c;使用户可以在一台Mac电脑上同时运行多个操作系统和应用程序。 以下是VMware Fusion Pro for Mac的主要特点&#xff1a; 1. 支持多种操作系统&#xff…

CC攻击演示

选择一个代参数网站 未攻击前的cpu 用工具进行CC攻击 执行攻击会把目标主机占用内存&#xff0c;可以在把次数加大一点

(十二)Python文件操作(I/O)

和其它编程语言一样&#xff0c;Python 也具有操作文件&#xff08;I/O&#xff09;的能力&#xff0c;比如打开文件、读取和追加数据、插入和删除数据、关闭文件、删除文件等。 除了提供文件操作基本的函数之外&#xff0c;Python 还提供了很多模块&#xff0c;例如 fileinpu…

前端学成在线项目详细解析三

19-推荐课程-内容样式 HTML结构 <ul><li><a href"#"><div class"pic"><img src"./uploads/course01.png" alt""></div><div class"text"><h4>JavaScript数据看板项目实战…