python图层合并_GIS实验之文件夹中的批量图层合并Python实现

python图层合并_GIS实验之文件夹中的批量图层合并Python实现1 实验任务 2 实验数据分析 3 Python 实现图层合并 1 实验任务数据描述 提供含有多个数据文件的 20 个文件夹 每中的数据名称都一致 例如每个文件夹中有为 名称都一致 例如每个文件夹中有为 名称都一致 例如每个文件夹中有为 city area city area city area city area 的文件 处理要求 将 20 个文件夹中名称相同的数据分别合并为一

1. 实验任务2. 实验数据分析3. Python实现图层合并

1. 实验任务数据描述 :提供含有多个数据文件的 20 个文件夹,每中的数据名称都一致。例如每个文件夹中有为“ 名称都一致。例如每个文件夹中有为“ 名称都一致。例如每个文件夹中有为“ city_area” city_area” city_area” city_area” 的文件。处理要求 :将 20 个文件夹中名称相同的数据分别合并为一。

2. 实验数据分析实现思路根据data2的路径(path),打开data2文件,遍历出所有的文件名(name) data2文件与文件名通过字符串连接,形成一个新的路径(path_name),以此路径遍历出所有的shp文件 通过条件选择,如过shp文件名为”全国铁路.shp”(shpname),根据path_name 与shpname连接成为最终的shp文件的完整路径 把所有shpname相同的完整路径用一个列表(list)来存储起来 最后通过arcpy.Merge_management(list,“保存的名字.shp”)即可将列表中的shp文件合并为同一图层的数据了

3. Python实现图层合并# 导入os,arcpy包

import os,arcpy

# data2文件的路径,一定要转为Unicode字符串,否则后面路径连接会出错

path = u’C:\\Users\\17520\\Desktop\\work1\\data2′

# 获取data2文件中的所有文件名

fileList = os.listdir(path)

# 每一个省中有7个图层数据,因此创建7个空列表用于存储数据

a = []

b = []

c = []

d = []

e = []

f = []

g = []

# 遍历data2文件中的文件名

for i in fileList:

# 生成子文件夹的路径

path_name = path + u”\\” + unicode(i)

# 设置工作空间

arcpy.env.workspace = path_name

# 获取所有的图层名称,结果为”名称.shp”,结果是Unicode字符串

fsc = arcpy.ListFeatureClasses()

# 遍历工作空间中的所有shp文件

for j in fsc:

# 通过判断shp文件名选择用哪一个列表来存储数据

if j == u”全国铁路.shp”:

a.append(path_name + u”\\” + j)

elif j == u’县级行政区(面).shp’:

b.append(path_name + u”\\” + j)

elif j == u’县级行政区(点).shp’:

c.append(path_name + u”\\” + j)

elif j == u’公路.shp’:

d.append(path_name + u”\\” + j)

elif j == u’河流及水域四级.shp’:

e.append(path_name + u”\\” + j)

elif j == u’地级市(点).shp’:

f.append(path_name + u”\\” + j)

elif j == u’省份.shp’:

g.append(path_name + u”\\” + j)

# 设置图层合并保存的文件地理数据库位置

arcpy.env.workspace = r’C:\Users\17520\Desktop\work1\model2\data.gdb’

# 设置如果有相同的名称则覆盖

arcpy.env.overwriteoutput = True

# 合并列表中的图层数据

arcpy.Merge_management(a,”全国铁路.shp”)

arcpy.Merge_management(b,”县级行政区(面).shp”)

arcpy.Merge_management(c,”县级行政区(点).shp”)

arcpy.Merge_management(d,”公路.shp”)

arcpy.Merge_management(e,”河流及水域四级.shp”)

arcpy.Merge_management(f,”地级市(点).shp”)

arcpy.Merge_management(g,”省份.shp”)

95051运行过程于结果展示

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204286.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:37
下一篇 2026年3月19日 下午8:38


相关推荐

  • MySQL大小写敏感问题和命名规范

    MySQL大小写敏感问题和命名规范

    2022年2月21日
    50
  • Manus与MCP深度解析:原理解析与MCP Client实践教程

    Manus与MCP深度解析:原理解析与MCP Client实践教程

    2026年3月15日
    2
  • java 取余和取模运算之间的区别「建议收藏」

    java 取余和取模运算之间的区别「建议收藏」转自lee371042https://blog.csdn.net/lee371042/article/details/102553342packageOperator;importjava.math.BigInteger;/***假如有两个数:*amod(b)与a%b,b为正整数,*一种叫a对b取模,另一个叫a对b取余,两种叫法有什么区别呢?*通常情况下,取模运算也叫取余运算,*它们返回的结果都是一个数对另一个数的余数,**区别在于当a是一

    2022年6月3日
    39
  • tomcat日志乱码怎么解决_log4j日志乱码

    tomcat日志乱码怎么解决_log4j日志乱码1.首先打开tomcat的conf目录下的logging.properties根据编译码去切换,例如你的编译器是utf-8的话,你就可以不用改(里面默认的是utf-8),如果你的编译器是GBK的话,那就把utf-8全部替换成GBK。2.idea设置-Dfile.encoding=UTF-8接着打开help的VMOptions最后重启idea就可以啦!…

    2026年4月14日
    9
  • Kettle工具使用及总结

    Kettle工具使用及总结Kettle工具使用及总结,kettle主要用于数据清洗,即常见ETL工具,拥有图形化界面且免费的优点。其下载包直接解压打开就能用,遇到的问题:1.连接MySQL报错:①报错:Driverclass’org.gjt.mm.mysql.Driver’couldnotbefound,makesurethe’MySQL’driver(jarfile)isinstalled.org.gjt.mm.mysql.Driver原因:没有识别

    2022年10月17日
    4
  • 基于Amos路径分析的模型拟合参数详解[通俗易懂]

    基于Amos路径分析的模型拟合参数详解[通俗易懂]基于Amos路径分析的模型拟合参数详解1卡方、自由度、卡方自由度比2GFI、AGFI3RMR、RMSEA4CFI5NFI、TLI(NNFI)6ECVI7AIC、BIC、CAIC  前面两篇博客,分别对Amos的基本操作与模型、参数等加以详细介绍,点击下方即可进入对应文章。  博客1:基于Amos的路径分析与模型参数详解  博客2:基于Amos路径分析的输出结果参数详解  本文则将由模型拟合度指标入手,对Amos所得到的路径分析模型结果加以度量。1卡方、自由度、卡方自由度比  在模

    2022年8月24日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号