【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 env


def 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过程中写过的一些代码。有些部分借鉴了前人以及官网的教程,如有侵权请联系作者删除,大家有问题可以随时留言交流,博主会及时回复。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

西南交大swjtu算法实验3.3|穷举法

1.实验目的 通过具体例子学习排列这种典型的穷举算法的求解过程以及程序框架,分析其算法的求解过程,以及如何设计穷举法解决实际问题。通过本实验,理解穷举法的特点以及实际应用中的局限性。 2.实验任务 有n (n>1)个任务需要…

Visual Studio 2022 中VLD库如何安装

GitHub链接 Release v2.5.1 KindDragon/vld 点击可执行程序进行下载 点击可执行程序进行安装 双击打开 一直点击next即可完成安装(不用在意安装路径,总共不到2MB) 如果GitHub无法打开,可以私信我发你安装包直接安装

fpga_awb

色温: sesor原始图像中的白色如果不经AWB处理,在高色温(如阴天)下偏蓝,在低色温下偏黄。 引入白平衡算法 而AWB的核心就是调整图像色温,使得摄像头采集的图像更加真实,达到人眼观察的效果。 白平衡一般通过调节传感器输出图像RGB…

【aws】架构图工具推荐

碎碎念 以前以为日本冰箱论是个梗,结果居然是真的。用光盘传真其实还能理解(毕竟我也喜欢电子古董2333),但是画架构图居然用的是excel+截图!啊苍天呐,然后看到隔壁工位用excel画web原型又感觉释…

svg实现环形进度条

实现效果图: svg相关知识 这里只介绍本次用到的元素,更多详情:SVG:可缩放矢量图形 defs:定义需要重复利用的图形元素linearGradient:定义线性渐变,用来图形元素的填充或描边使用stop&#x…

hcip综合实验2

目录 实验拓扑: 实验要求: 实验思路: 实验步骤: 1.配置设备接口IP 2.通过配置缺省路由让公网互通 3.配置ppp 1.R1和R5间的ppp的PAP认证; 2.R2与R5之间的ppp的CHAP认证; 3. R3与R5之间的HDLC封装; 4.构建R1、…

动态规划之子序列(三)

583. 两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: “sea”, “eat” 输出: 2 解释: 第一步将"sea"变为"ea"…

c实现猜数游戏(猜不对可是要自动帮你电脑关机)

接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧 前言 猜数字游戏作为一个基础的C程序小项目,实现简单,可以帮助我们巩固很多知识,作为扩展接下来我们实现一个自定猜数次数,用完次数电脑自动…

keepalived+LVS高可用部署

目录 一.两台设备(2.130和2.133)作为调度器,前主后备 1.部署keepalived 2.修改配置文件准备启动 3.配置keepalived的系统日志并启动 二.模拟调度器掉点和web服务进程丢失 1.调度器掉点 2.当类似于httpd这种网站服务掉点 三.以三种健康…

【从前端入门到全栈】前端框架之核心概念

大家好,我是江辰,从前端入门到全栈是我全新系列文章,从去年一直囔囔着要写,今年总算开始了!预计在10篇左右。知识面从 前端,后端,运维,脚本等,都有涉及,主打一…

Spark-Scala语言实战(9)

之前的文章中,我们学习了如何在spark中使用RDD方法的flatMap,take,union。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实战&am…

数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:数据分析系统化教学,零基础到进阶实战 景天的主页:景天科技苑 文章目录 Streamlit什么是streamli…

基于springboot+vue实现的学校田径运动会管理系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

CommunityToolkit.Mvvm----配置

一、介绍: CommunityToolkit.Mvvm 包(又名 MVVM 工具包,以前称为 Microsoft.Toolkit.Mvvm)是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分,围绕以下原则生成: 独立于平台和运行时 - …

MySQL MHA高可用配置以及故障切换

目录 什么是 MHA 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。解决主从架构中的主服务器的单点问题 MySQL故障切换过程中,MHA能做到0-30秒内自动…

计算机网络:数据链路层 - 封装成帧 透明传输 差错检测

计算机网络:数据链路层 - 封装成帧 & 透明传输 & 差错检测 数据链路层概述封装成帧透明传输差错检测 数据链路层概述 从数据链路层来看,主机 H1 到 H2 的通信可以看成是在四段不同的链路上的通信组成的,所谓链路就是从一个节点到相邻…

python distribute是什么

Python的包管理工具常见的有easy_install, setuptools, 还有pip, distribute,那麽这几个工具有什么关系呢,看一下下面这个图就明白了: 可以看到distribute是setuptools的替代方案,pip是easy_install的替代方案。 Distribute提供一…

古代书法名家墨迹范本,中国法书碑帖图片合集

一、图片描述 在书法作品里,什么是法书?这是书法用语,又称法帖,学习书法可以作为楷模的范本,以及对古代名家墨迹的敬称,或以此誉称表达对书法作者的尊重之意,法书墨迹是最能反映古代书法艺术面…

Windows-安装infercnv包(自备)

目录 安装基础 ①安装JAGS a,找到适配版本 b,install for me only安装路径 ②安装"rjags"包 ③安装inferCNV 安装基础 版本: R version 4.2.2 (2022-10-31 ucrt) -- "Innocent and Trusting"安装的JAGS版本为JAGS 4.3.1 首…

Nginx_简介 + Linux系统下详细安装教程指路

安装教程指路 可参看该视频【尚硅谷Nginx教程(亿级流量nginx架构设计)】 https://www.bilibili.com/video/BV1yS4y1N76R/?p2&share_sourcecopy_web&vd_source4c2f33f3ba1a0dd45bfdf574befd0069 的p2-p7。从安装centos虚拟机到在虚拟机上安装ng…