PyQGIS入门「2、加载csv文件」(pyqt加载图片)

liftword11小时前技术文章3

引言

QGIS是一款开源的GIS地理化工具,QGIS可以通过内嵌的Python空间进行脚本编写和二次开发。本期为PyQGIS系列内容的第二期,请大家点击关注期待后续的内容。


PyQGIS系列笔记:

PyQGIS入门「1、瓦片地图加载」


本期目标:将csv文件中的经纬度数据加载到QGIS图层中。

本文使用的QGIS版本为 QGIS 3.16.7



一、手动加载经纬度数据

1、添加定界文本数据图层

添加方式:图层→添加图层→添加定届文本数据图层

2、选择csv文件、横坐标、纵坐标等信息

注:csv文件建议使用utf-8编码格式。

3、效果演示

注:图层右键点击缩放到图层范围即可快速定位。


二、Python加载经纬度数据

1、使用的函数

vlayer = QgsVectorLayer(layer_url, layer_name, type)    #生成图层

layer_url:图层地址(对应图层的源)

layer_name:图层名称

type:此处填写"delimitedtext",即定界文本数据

QgsProject.instance().addMapLayer(vlayer)     #添加图层

2、源url分析

源:

file:///C:/Users/admin/Desktop/qgis%E5%9B%BE%E5%B1%82/qgis%E8%AF%BE%E4%BB%B6/%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE.csv?type=csv&maxFields=10000&detectTypes=yes&xField=%E7%BB%8F%E5%BA%A6&yField=%E7%BA%AC%E5%BA%A6&crs=EPSG:4326&spatialIndex=no&subsetIndex=no&watchFile=no

将源url解码后:

file:///C:/Users/admin/Desktop/qgis图层/qgis课件/基础数据.csv?type=

csv&maxFields=10000&detectTypes=yes&xField=经度&yField=纬度&crs=EPSG:4326&spatialIndex=no&subsetIndex=no&watchFile=no

注意几个细节:

①建议使用英文路径,若使用中文路径会增加更多的转码工作。

②本地路径必须以 file:/// 为前缀。

3、实战演示

1)layer_url 构造

from urllib.parse import quote
path = 'D:/qgistool/'+quote('基础数据.csv')
url = "file:///{path}?type=csv&xField={x}&yField={y}&crs=EPSG:4326".format(path=path,x=quote('经度'),y=quote('纬度'))

2)图层创建

data_layer = QgsVectorLayer(url, "基础数据图层", "delimitedtext")  
QgsProject.instance().addMapLayer(data_layer)

3)效果演示




如果你觉得文章还不错,请 点赞、分享、关注、转发 ,PyQGIS 将是一期系列内容,下期内容很快更新。

相关文章

使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)

最近领导安排让我每周定时把grafana导出的csv文件进行统计汇总工作,需要处理的csv文件还是蛮多的,况且还要每周重复汇总处理。干脆写个脚本,每周执行一遍脚本,既方便还不会出错。一、需求分析1....

python爬虫25 | 爬取的数据怎么保存?CSV了解一下

大家好我是小帅b是一个练习时长两年半的练习生喜欢唱!跳!rap!篮球!敲代码!装逼!不好意思我又走错片场了接下来的几篇文章小帅b将告诉你如何将你爬取到的数据保存下来有文本文件、redis、数据库(My...

将MySQL查询结果输出为CSV格式的方法

技术背景在数据库管理和数据分析中,我们常常需要将MySQL查询结果以CSV格式输出,方便在其他工具(如Excel、Python数据分析库)中进行进一步处理。然而,由于CSV格式有其特定的规范,如字段分...

Django 如何使用视图动态输出 CSV 以及 PDF

Django 如何使用视图动态输出 CSV 以及 PDF这一篇我们需要用到 python 的 csv 和 reportLab 库,通过django视图来定义输出我们需要的 csv 或者 pdf 文件。...

Python版的迷你程序——json文件转换为csv

浅话C语言是过去几十年软件和硬件两个阵营之间,签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。----...

Python CSV文件的读写和处理(csv python 读取)

一、介绍CSV文件的概念和结构CSV(Comma-Separated Values,逗号分隔值)是一种常见的文本文件格式,用于存储表格数据。CSV 文件以纯文本形式存储数据,使用逗号作为字段之间的分隔...