【PythonGIS】Python实现批量导出面矢量要素(单个多面矢量->多个单面矢量)

        可怜的我周六还在工作,已经很久没更新过博客了,今天正好有空就和大家分享一下。今天给大家带来的是使用Python将包含多个面要素/线要素的矢量批量导出单个要素的矢量,即一个要素一个矢量文件。之前写过多个矢量文件合并成一个矢量文件的博文,大家如果感兴趣可以看下:【Python&GIS】基于Python批量合并矢量数据。

原创作者:RS迷途小书童

博客地址:https://blog.csdn.net/m0_56729804?type=blog

1.环境配置

        之前发过很多文章都没有提到过环境配置,因为直接默认大家会使用Python了,今天这个博文加这个模块主要是因为我们使用的Python2.7!很多小伙伴已经反应过来了,Python2.7正是ArcGIS的环境。今天我们使用ArcMap自带的arcpy库实现批量导出面矢量要素。

        针对这个环境也不多说,你只要安装了ArcGIS就会有Python2.7,只要在Pycharm中将Python2.7的解释器加入到环境中即可。

2.完整代码

        代码比较简单,我这里就不做过多的介绍了。代码中有详细的注释。变量就3个,第一个是arcpy的工作空间(没啥用),第二个就是想要拆分的矢量文件目录,第三个是输出矢量文件的文件夹。程序默认是通过FID去批量导出,也可以自己修改。

# -*- coding: utf-8 -*-
"""
@Time : 2024/3/18 17:37
@Auth : RS迷途小书童
@File :Vector Features For Shps.py
@IDE :PyCharm
@Purpose:矢量数据按要素批量导出shp
@Web:博客地址:https://blog.csdn.net/m0_56729804
"""
import os
import arcpy
from arcpy import envdef Save_shps(work_path, shp, shps_path):env.workspace = work_path  # 工作空间with arcpy.da.SearchCursor(shp, ["SHAPE@", 'FID'],) as cursor:# query = """"AREA" > 0"""  # 满足的输出文件的条件,没有的话可以不要# SHAPE@指代单个要素,FID是一个字段,query是条件for row in cursor:out_name = str(row[1]) + '.shp'  # 输出文件名arcpy.FeatureClassToFeatureClass_conversion(row[0], shps_path, out_name)if __name__ == "__main__":work = "G:/彭俊喜/"  # 工作空间shp_file = r"G:\彭俊喜/88.shp"out_path = r"Z:\彭俊喜/"Save_shps(work, shp_file, out_path)

3.总结

        arcpy这个库可以说是非常的强大,它就是ArcMap,ArcMap就是它,只要是ArcMap能实现的操作它都可以实现。但是由于它的环境是Python2.7,所以有一定的局限性只能对地理数据自动化处理,无法和现在的一些新库相融合。这也是为什么我很少分享arcpy代码的原因,我平时宁愿直接用ArcMap,也懒得去编arcpy的代码。

        本文章主要是分享个人在学习Python过程中写过的一些代码。有些部分借鉴了前人以及官网的教程,如有侵权请联系作者删除,大家有问题可以随时留言交流,博主会及时回复。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux文件与进程交互的窥探者lsof

lsof 是一个 Linux 和 UNIX 系统中的实用工具,用于列出系统中打开文件的所有信息。这个名字代表 “List Open Files”,但它也可以显示进程相关的其他信息,如: 打开的文件描述符列表 打开网络连接的列表 被进程使用的信号和内核对…

新手学python还是c?

考虑到个人情况和职业规划是非常重要的。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222,私信22,我在后台发给你。 Python作为初学者入门语言…

GTS fail之GtsPackageSignatureTest和GtsApexSignatureVerificationTest

目录 1. Fail项具体详情 2. Google为何增加测试项 3. 解决方法 1. Fail项具体详情 run gts -m GtsPackageSignatureTest -t android.security.cts.PackageSignatureTest#testPackageSignatures fail TestResultDetailsandroid.security.cts.PackageSignatureTest#testPacka…

正弦实时数据库(SinRTDB)的使用(7)-历史统计查询

前文已经将正弦实时数据库的使用进行了介绍,需要了解的可以先看下面的博客: 正弦实时数据库(SinRTDB)的安装 正弦实时数据库(SinRTDB)的使用(1)-使用数据发生器写入数据 正弦实时数据库(SinRTDB)的使用(2)-接入OPC DA的数据 正弦实时数据库(SinRTDB)…

前端:注册页面

效果 代码 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevi…

单元最短路模板 dijkstra以及SPFA的FAQ

单源最短路 首先先看两道题目&#xff1a; Luogu P3371 【模板】单源最短路径&#xff08;弱化版&#xff09; Luogu P4779 【模板】单源最短路径&#xff08;标准版&#xff09; 两道题目都是求最小单元最短路。 使用Dijkstra两道题目均可以通过&#xff0c;但是如果使用SPFA…

Redis面试题汇总

目录 一、动力节点Redis的书 7. Redis持久化 二、马士兵李瑾老师 2.1 Redis高级特性和应用 1&#xff09;发布订阅&#xff1a; 2&#xff09;Stream 延伸&#xff1a;Redis中几种消息队列实现的总结 3&#xff09;慢查询 4&#xff09;Pipeline流水线 5&#xff09;…

新发现!科学家最新成果:补充类“原知因起源金”物质可延长寿命23%

近日&#xff0c;美哥伦比亚大学Vijay Yadav团队在《Science》发布了一项重磅级成果&#xff1a;通过补充一种特殊氨基酸&#xff08;带有磺酸基团的全能抗衰物质&#xff09;&#xff0c;竟然惊人地将实验动物的寿命延长了23%。 而其背后的机制&#xff0c;与早已火爆电商圈的…

Pygame基础9-射击

简介 玩家用鼠标控制飞机&#xff08;白色方块&#xff09;移动&#xff0c;按下鼠标后&#xff0c;玩家所在位置出现子弹&#xff0c;子弹匀速向右飞行。 代码 没有什么新的东西&#xff0c;使用两个精灵类表示玩家和子弹。 有一个细节需要注意&#xff0c;当子弹飞出屏幕…

erp系统开发报价:企业如何选择一套合适的智能erp管理系统-亿发

在选择ERP系统时&#xff0c;企业通常希望了解上一套系统到底需要多少资金&#xff0c;但实际上这个问题并没有一个明确的答案。一般的erp系统从几万到几百万不等&#xff0c;一些简单的erp系统甚至只需要几千元。ERP系统的价格取决于多种因素&#xff0c;包括企业的业务规模、…

vs2022断点找bug出错(打上100个断点)

初步分析&#xff1a;故障出自-具体功能模块 进一步分析&#xff1a;故障出自-该功能代码流程 进一步分析&#xff1a;从该功能起点-终点&#xff0c;一路打100个断点

【学习笔记】java项目—苍穹外卖day03

文章目录 苍穹外卖-day03课程内容1. 公共字段自动填充1.1 问题分析1.2 实现思路1.3 代码开发1.3.1 步骤一1.3.2 步骤二1.3.3 步骤三 1.4 功能测试1.5 代码提交 2. 新增菜品2.1 需求分析与设计2.1.1 产品原型2.1.2 接口设计2.1.3 表设计 2.2 代码开发2.2.1 文件上传实现2.2.2 新…