QGIS解析读取.000文件

import os

# 获取当前项目
project = QgsProject.instance()

# 获取根节点
root = project.layerTreeRoot()

# 输出文件夹路径
output_folder = r"F:\Project\ECHOHYE\chart2shp\data\C1210011_shp"  # 输出文件夹路径

# 查找指定图层组
group_name = "C1210011"  # 图层组名称
group = root.findGroup(group_name)

if group is not None:
    # 遍历图层组中的每个子节点
    for child_node in group.children():
        if isinstance(child_node, QgsLayerTreeLayer):
            layer = child_node.layer()
            # 获取图层名称
            layer_name = layer.name()
            # 构建输出文件路径
            output_file = os.path.join(output_folder, f"{layer_name}_{layer.geometryType().name}.shp")
            # 导出图层为 shapefile 格式
            error = QgsVectorFileWriter.writeAsVectorFormat(layer, output_file, "UTF-8", layer.crs(), "ESRI Shapefile")
            # error = QgsVectorFileWriter.writeAsVectorFormat(layer, output_file, "UTF-8", QgsCoordinateReferenceSystem("EPSG:4326"), "ESRI Shapefile")
            if error == QgsVectorFileWriter.NoError or error == (0, ''):
                print(f"图层 '{layer_name}' 导出成功为 '{output_file}'")
            else:
                print(f"图层 '{layer_name}' 导出失败")
else:
    print("未找到指定图层组:", group_name)


posted @   槑孒  阅读(77)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2023-02-20 Vue3之v-show不能放置于自定义组件
2023-02-20 Vue 3 兄弟组件间传值 | mitt.js
2023-02-20 element-ui中的el-form表单验证,只在提交按钮点击时才进行验证
点击右上角即可分享
微信分享提示