QGIS批量可视化矢量数据

QGIS批量可视化矢量数据的代码和步骤:

1. 打开QGIS软件,点击“Plugins”菜单,选择“Python Console”进入Python控制台。
2. 在Python控制台中输入以下代码,导入需要的模块:


from qgis.core import *
from qgis.gui import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
 

3. 设置矢量数据所在文件夹路径和需要可视化的矢量数据格式:


folder_path = "C:/data/vector/"
vector_format = ".shp"
 

4. 获取文件夹中所有符合格式要求的文件名:


import os

file_names = [f for f in os.listdir(folder_path) if f.endswith(vector_format)]
 

5. 循环遍历所有文件名,并加载每个矢量数据图层:


app = QgsApplication([], False)
QgsApplication.setPrefixPath("C:/Program Files/QGIS 3.16/apps/qgis", True)
QgsApplication.initQgis()

canvas = QgsMapCanvas()
layers = []

for file_name in file_names:
    layer_path = folder_path + file_name
    layer_name = file_name.split(".")[0]
    layer = QgsVectorLayer(layer_path, layer_name, "ogr")
    if not layer.isValid():
        print("Layer %s failed to load!" % layer_name)
    layers.append(layer)
 

6. 将所有图层添加到地图画布中,并设置每个图层的样式和标注:


for layer in layers:
    QgsProject.instance().addMapLayer(layer)
    symbol = QgsSymbol.defaultSymbol(layer.geometryType())
    renderer = QgsSingleSymbolRenderer(symbol)
    layer.setRenderer(renderer)
    label = QgsPalLayerSettings()
    label.fieldName = "name"
    label.placement = QgsPalLayerSettings.AroundPoint
    layer.setLabeling(QgsVectorLayerSimpleLabeling(label))
    layer.triggerRepaint()
 

7. 最后在地图画布中显示所有可视化的矢量数据图层:


canvas.setExtent(QgsReferencedRectangle(QgsCoordinateReferenceSystem(4326), -180, -90, 180, 90))
canvas.setLayers(layers)
canvas.zoomToFullExtent()
canvas.show()
 

以上是QGIS批量可视化矢量数据的代码和步骤。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

认真学GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值