QGIS批量导出图层矢量文件

在QGIS中,可以使用Python编程来批量将矢量数据导出到指定文件夹内。以下是一个简单的代码:
import os
from qgis.core import QgsVectorLayer

# 要导出的图层列表
layer_list = [layer1, layer2, layer3]  # 替换为要导出的图层对象

# 导出文件夹路径
output_folder = 'path/to/output/'  # 替换为实际的输出文件夹路径

# 遍历图层列表
for layer in layer_list:
    # 确保图层有效
    if isinstance(layer, QgsVectorLayer) and layer.isValid():
        # 构建导出文件路径
        layer_name = layer.name()
        output_path = os.path.join(output_folder, f'{layer_name}.shp')

        # 使用图层提供程序进行导出
        QgsVectorFileWriter.writeAsVectorFormat(layer, output_path, 'utf-8', layer.crs(), 'ESRI Shapefile')

        # 输出导出结果
        if QgsVectorLayer(output_path, layer_name, 'ogr').isValid():
            print(f'{layer_name} 导出成功!')
        else:
            print(f'{layer_name} 导出失败!')
 

在上述代码中,首先定义了要导出的图层列表 `layer_list`,可以根据自己的需求修改和添加图层对象。然后,指定了导出文件夹路径 `output_folder`,请将其替换为实际的目标文件夹路径。接下来,通过遍历图层列表,使用 `QgsVectorFileWriter.writeAsVectorFormat()` 方法将每个图层导出为Shapefile格式,导出文件的命名方式为图层名称 + ".shp"。最后,根据导出结果输出相应信息。

请注意,在编程过程中要确保图层对象有效,并且目标文件夹存在并有写入权限。此外,请根据需要调整导出格式和其他参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

认真学GIS

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

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

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

打赏作者

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

抵扣说明:

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

余额充值