QGIS教程 加载shape数据 矢量数据(批量)

一. 前言

本篇文章主要介绍QGIS的使用,包括如何加载矢量shape数据、查看数据属性、如何加载txt属性数据、怎么用脚本批量加载矢量数据等内容。
如果想了解QGIS,可以参考博文:
QGIS基本介绍
如果想了解shape数据格式详情,可以参考博文:
shape数据格式介绍(GIS)

二. 加载矢量数据流程

1. 打开QGIS

界面如下

在这里插入图片描述

2. 加载shp数据

使用快捷键【shift+Ctrl+v】或者依次点击上方菜单栏【Layer】【Data Source Manager】(也可直接拖动shape文件到QGIS对应Layer下),如下图,选择对应shape文件(.shp后缀的文件)

在这里插入图片描述

选择后点击下方【Add】即添加成功。在对应QGIS即可看到对应矢量数据Layer和对应矢量图。

在这里插入图片描述

3.查看数据的属性

选择Layers下方对应shape文件,右键然后选择选项【Open Attribute Table】,打开属性表,既可查看对应属性值表格。

在这里插入图片描述

也可以点击对应上方菜单操作按钮(i图标箭头按钮)

在这里插入图片描述
然后选择QGIS对应图形的位置,即可在界面右侧展现对应选中的属性值。
在这里插入图片描述

三. 如何加载txt文件属性数据

在我们项目中,可能会遇到需要加载txt文本文件数据的场景,下面讲介绍如何加载txt文本文件数据图层。

1.选择文件

在加载【Data Source Manager】对应界面选择【Delimited Text】,然后选择对应文件。

在这里插入图片描述

2.设置对应参数

(1)【File Format】设置:

注意txt或者csv文件,需要选择对应分隔方式,比如我的属性之间是用tab进行分隔,所有【File Format】需要选择【Custom delimiters】勾选上tab(其他分隔方式类似操作)

(2)【Geometry Definition】设置:

设置对应X field和对应Y Field(即对应经纬度对应列)
设置对应【Geometry CRS】 选择所用的坐标系,比如【EPSG4326 -WGS 84】

3. 添加对应数据

最后点击下方【Add】即可加载完成对应layer数据

四. 批量脚本加载数据

如果使用单个图层或少量数据加载,上述加载方法可以简单实现,但是如果涉及到很多数据需要加载,则需要使用python 插件脚本进行插入数据。

1. 打开界面

点击上方菜单栏【Plugins】,选择选择【Python Console】
在这里插入图片描述

即出现python脚本页面,可以通过脚本批量加载图层等操作。

在这里插入图片描述

2. 编辑脚本并运行

比如下图为加载某个文件夹下所有.shp结尾(需要批量加载其他数据同理)的shape数据,示例代码如下:

import os
from qgis.core import QgsVectorLayer

# 替换为包含 Shapefile 文件的根文件夹路径,注意路径
root_folder = 'xxx'

# 遍历根文件夹下所有子文件夹
for subdir, dirs, files in os.walk(root_folder):
    for file in files:
        # 检查文件扩展名是否为 .shp
        if file.lower().endswith('.shp'):
            # 构建完整的文件路径
            shp_path = os.path.join(subdir, file)
            
            # 添加 Shapefile 到 QGIS
            layer = QgsVectorLayer(shp_path, file, 'ogr')
            QgsProject.instance().addMapLayer(layer)

运行该代码即可加载xxx文件夹下所有的shape数据layer。

注意点:如果一次加载数量过多,可能会造成QGIS卡死现象,可以考虑优化代码限制每次加载数量。

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

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

相关文章

bpmn-js 事件总线处理

bpmn-js中使用EventBus作为事件的处理句柄,EventBus的使用和我们常规使用的事件总线没啥大的区别,其源码位于:/diagram-js/lib/core/EventBus.js (bpmn-js使用diagram-js实现流程图的web端绘制呈现工具)。 EventBus使用…

权限提升:利用Linux错配提权

目录 Linux权限基础 Linux用户权限 Linux文件权限 特殊的Linux文件权限 Linux本机信息收集 Linux错配提权 crontab计划任务提权 SUID提权 Linux权限基础 Linux用户权限 在Linux中,根据权限的不同,大致可以分为三种:超级用户&#x…

steam游戏搬砖项目靠谱吗?有没有风险?

作为一款fps射击游戏,csgo在近几年可谓是火出圈,作为一款全球竞技游戏,深受玩家喜爱追捧,玩家追求的就是公平公正,各凭本事,像其他游戏可能还会有皮肤等装备属性加成,在csgo里面是不存在的。 纯…

【Java程序设计】【C00257】基于Springboot的校园二手书交易平台(有论文)

基于Springboot的校园二手书交易平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的乐校园二手书交易管理系统 本系统分为系统功能模块、管理员功能模块、卖家用户功能模块以及用户功能模块。 系统功能模块&…

semantic-kernel 国内代理的配置(详细教程)

1. semantic-kernel概述 Semantic Kernel 是微软提供的一个工具,旨在帮助开发者快速、轻松地将最新的大型语言模型(LLM)技术集成到应用程序中。这意味着通过使用Semantic Kernel,开发者可以在他们的应用中加入先进的人工智能和自然语言理解能力,从而增强应用的功能性。 …

在python中JSON数据格式的使用

什么是JSON? JSON是一种数据格式,由美国程序设计师DouglasCrockford创建的,JSON全名是JavaScript Object Notation,由JSON英文全文字义我们可以推敲JSON的缘由,最初是为JavaScript开发的。这种数据格式由于简单好用被大量应用在We…

Linux第57步_“linux系统镜像”和“根文件系统”重新打包小结

实时总结是很重要的,时间久了,可能会遗忘。下面是“linux系统镜像”和“根文件系统”重新打包小结。 1、linux系统镜像重新打包 在第1次完成linux系统镜像打包后,再重新打包就很容易了 将“bootfs”重新打包 准备打包文件: 输入“cd /ho…

顺序表、链表(ArrayList、LinkedList)

目录 前言: 顺序表(ArrayList): 顺序表的原理: ArrayList源码: 的含义:​编辑 ArrayList的相关方法:​编辑 向上转型List: 练习题(杨辉三角&#x…

数模.传染病模型plus

一、SIS模型 二、SIR模型 三、SIRS模型 四、SEIR模型

C++类和对象-C++运算符重载->加号运算符重载、左移运算符重载、递增运算符重载、赋值运算符重载、关系运算符重载、函数调用运算符重载

#include<iostream> using namespace std; //加号运算符重载 class Person { public: Person() {}; Person(int a, int b) { this->m_A a; this->m_B b; } //1.成员函数实现 号运算符重载 Person operator(const Per…

【有哪些值得计算机专业学生加入的国企?】

&#x1f680; 编辑&#xff1a;“码上有前” &#x1f680;作者丨重庆搬砖喵知乎 &#x1f680; 文章简介 &#xff1a;计算机专业未来出路 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; &#x1f680;来源&#xff1a;https://www.zhihu.com/qu…

PHP+vue+mysql校园学生社团管理系统574cc

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin 前台功能&#xff1a; 首页&#xff1a;展示社团信息和活动…

相机图像质量研究(18)常见问题总结:CMOS期间对成像的影响--CFA

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

MySQL主从环境,主库改端口后,从库如何操作?

主库&#xff1a;mysql-111 从库&#xff1a;mysql-112 主库由3306端口修改成3307后&#xff0c; 从库执行如下命令 mysql> stop slave; mysql> change master to master_port3307; mysql> CHANGE MASTER TO MASTER_HOST192.168.10.111,MASTER_USERbeifen,MASTER_PA…

Hive on Spark配置

前提条件 1、安装好Hive&#xff0c;参考&#xff1a;Hive安装部署-CSDN博客 2、下载好Spark安装包&#xff0c;链接&#xff1a;https://pan.baidu.com/s/1plIBKPUAv79WJxBSbdPODw?pwd6666 3、将Spark安装包通过xftp上传到/opt/software 安装部署Spark 1、解压spark-3.3…

【教程】Kotlin语言学习笔记(二)——数据类型(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 第二章 《数据类型》 文章目录 【Kotlin语言学习】系列文章一、基本数据…

从零开始做题:逆向 ret2libc jarvisoj level1

1.题目信息 BUUCTF在线评测 2.原理 篡改栈帧上的返回地址为攻击者手动传入的shellcode所在缓冲区地址&#xff0c;并且该区域有执行权限。 3.解题步骤 3.1 首先使用checksec工具查看它开了啥保护措施 基本全关&#xff0c;栈可执行。 rootpwn_test1604:/ctf/work/9# chec…

【双指针】【C++算法】1537. 最大得分

作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 双指针 LeetCoce 1537. 最大得分 你有两个 有序 且数组内元素互不相同的数组 nums1 和 nums2 。 一条 合法路径 定义如下&#xff1a; 选择数组 nums1 或者 nums2 开始遍历&…

极其抽象的SpringSecurity理解

原始&#xff1a;A → B Security&#xff1a;A → S → B 太抽象了&#xff0c;看不懂啊T_T 抽象故事 故事大概&#xff1a;C是一个大区&#xff0c;拥有巨大的火力&#xff08;C准备联合B吞并掉A&#xff09;&#xff0c;A得到了这个消息&#xff0c;…

解决‘vue‘ 不是内部或外部命令,也不是可运行的程序(设置全局变量)

发现是没有执行&#xff1a; npm install -g vue/cli 但是发现还是不行 此时&#xff0c;我们安装了 Vue CLI&#xff0c;但是在运行 vue ui 命令时出现了问题。这通常是因为全局安装的 Vue CLI 的路径没有被正确地添加到系统的环境变量中。 可以尝试以下几种方法来解决这个问…