arcgis 同名图层合并_【工具分享】ArcGIS中批量合并同名shp文件的代码实现
1、 获取总目录下所有的子目录以及子目录下文件的完整路径:readFilename子程序
2、 对所有的文件名进行分析,把同名的文件全部掕出来放到新的文件夹里,重名的文件自动重命名:mycopyfile子程序负责把一个文件复制到另一个地方,arrange_files子程序中调用了mycopyfile子程序,把所有的目标文件都复制
3、 使用Arcmap自带的Python库把一个文件夹里所有的文件都合并起来,遍历所有的文件夹:all_path子程序
使用时修改“# 定义路径”中的路径即可。
#coding=utf8
import os
import arcpy
import shutil
def readFilename(path, allfile): # 读取原始文件夹下文件目录
filelist = os.listdir(path) # 获取目录下文件列表
for
filename in filelist: # 循环取出列表中的元素
filepath = os.path.join(path, filename) # 将元素名与路径名合并
if os.path.isdir(filepath):
readFilename(filepath, allfile) #子目录下递归
else:
allfile.append(filepath) # 将合并后名称存入allfile数组中
return allfile
def mycopyfile(srcfile, dstfile):
if
not os.path.isfile(srcfile):
print "%s not exist!" % (srcfile)
else:
fpath, fname = os.path.split(dstfile) # 分离文件名和路径
if not os.path.exists(fpath):
os.makedirs(fpath) # 创建路径
shutil.copyfile(srcfile,
dstfile) # 复制文件
#这下面是对copy数据到新位置的函数的调用
def arrange_files(path1,path2):
allfile1=[]
allfile1 = readFilename(path1,allfile1)
print len(allfile1)
new_li = []
for name in allfile1:
t = os.path.basename(name)#文件名加扩展名,不含路径
t1 = t.split(".")[0] #
.分割后的第一个,也就是文件名
if t1 not in new_li:
new_li.append(t1)#获得所有文件名的列表,也就是分类
for i in new_li:#遍历所有分类;i是从new_li里拿的,就是文件名
for nam in allfile1:#遍历所有文件路径,找名字跟分类一样的文件,就挪过去allfile是有路径的完整的信息
tit = nam.split("\\")[-2]#这个是底层文件夹名称
t = os.path.basename(nam)#文件名加扩展名
t1 = t.split(".")[0] #
.分割后的第一个,也就是文件名
t2 = t.split(".")[1] #
.分割后的第一个,也就是扩展名
if t1 == i:
dstfile = path2 + "\\" + i + "\\" + tit + "_" + i + "."+t2#因为文件都是重名的,所以得找个规则重命名
print dstfile
mycopyfile(nam, dstfile)
#合并图层代码
def all_path(dirname,merge_dir):
for
maindir, subdir, file_name_list in os.walk(dirname):
for subdir1 in subdir:
print "正在处理" + subdir1
apath = os.path.join(maindir, subdir1)
arcpy.env.workspace = apath
fcs = arcpy.ListFeatureClasses()
lspt = []
for fc in fcs:
lspt.append(fc)
if not os.path.exists(merge_dir):
os.makedirs(merge_dir) # 创建路径
arcpy.Merge_management(lspt, merge_dir + subdir1)
print "完成"+subdir1
# 定义路径
path1 = "D:\\test" #原始文件的总目录
path2 = "D:\\COPY" #把原始文件根据名称重新整理后的总目录
merge_dir = "d:\\meger\\" # 文件合并后的总目录
# 执行程序
arrange_files(path1,path2) #执行文件复制整理
all_path(path2,merge_dir) #执行文件合并
arcgis 同名图层合并_【工具分享】ArcGIS中批量合并同名shp文件的代码实现相关推荐
- html 合并单元格后居中,excel批量合并单元居中,还在手工点合并后居中吗
很多朋友对于列中相同的内容,都会手工点击菜单栏上的合并后居中,这样手工操作的方式,对数据量不是很大的列,操作没有任何问题,但对于列中数据比较多的情况,如果还是先选中相同的内容,然后再进行合并后居中,这 ...
- arcgis更改图层坐标系_【干货】ArcGIS之shp文件坐标系互转
原标题:[干货]ArcGIS之shp文件坐标系互转 准备arcgis10.4 shp文件,没有定义坐标系,格式是经纬度的 准备的数据如下: 1.先将shp文件定义为EPSG:4326 首先打开arct ...
- arcgis 分区 属性值_如何使用ArcGIS计算分区河流(管线)总长度
1. 概述 已知有一个河流的线图层(HydroL)和多个不同用地类型的图层(WoodyA表示绿化用地,ResidentialA表示公共用地,BoundaryA表示其他类型用地),目标是获得每个分区内的 ...
- arcgis坐标系未定义_科学网—ArcGIS中的坐标系:基本概念和常用操作 - 李郎平的博文...
ArcGIS中的坐标系:基本概念和常用操作 李郎平,Email: lilp@lreis.ac.cn 中国科学院地理科学与资源研究所,资源与环境信息系统国家重点实验室 缘由:介绍GIS(地理信息系统)中 ...
- arcgis打开mdb数据库_科学网—Arcgis .mxd 文件打开出错+Runtime Error+mdb数据打不开 - 陈桂华的博文...
Arcgis .mxd 文件打开出错+Runtime Error 在另外一台机器上编辑了的mxd文件到另外一台机器上打开出错,显示类似如下信息: "Opening the selected ...
- hssfworkbook 单元格合并后宽度不生效_一起来学习Excel批量合并单元格的操作技巧...
在我们日常工作中,利用Excel制作表格时,合并单元格是一个让人又爱又恨的东西,合并单元格后的数据处理会带来很多麻烦,比如求和.统计等计算工作(可查阅<让我们一起来干掉Excel合并单元格的那些 ...
- python 批量读取xlsx并合并_如何用Python快速导入多个excel文件并合并文件数据
日常工作中,每个月都会遇到那么个固定的工作,将业务方同事整理的数据导入GP数据库中的某张表中:听起来是很简单的活呢! 但每次业务MM总会发来一个文件夹,里面有三四十个Excel文件(.xlsx格式,且 ...
- ssis合并连接链接键_在SSIS包中使用合并联接转换
ssis合并连接链接键 This article explores the Merge Join Transformation in SSIS packages. 本文探讨了SSIS包中的合并联接转换 ...
- 多个excel工作簿合并_「Excel技巧」批量将多个工作簿的工作表合并到一个工作簿中...
多个工作簿里的表格合并到一个工作簿中,在日常工作中应该经常碰到吧. 怎么合并会比较快又省事? 当然,肯定不是复制粘贴,要合并的工作簿多的情况下,这种方式很耗力气. 不妨,试试用VBA代码法. 今天来讲 ...
最新文章
- tomcat苹果版安装步骤_Mac系统安装和配置tomcat步骤详解
- pandas将列表list插入到dataframe的单元格中、pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes)
- MobileNetV3
- php 文章搜索,登录 - 文章搜索 - phpStudy - phpStudy
- XEIM 飞鸽传书数据库说明
- Qt工作笔记-QGraphics框架场景中图元的移除与析构
- AAAI 2021 | 视频超分中的可变形对齐解读
- Android自定义Toast
- CentOS下通过postfix使用自己的gmail邮箱发送邮件
- Oracle 备份shell,oracle数据库shell备份脚本
- es 测试数据进行 增删查改
- leetcode最小面积_LeetCode 题解 |力扣杯 LCP 13.寻宝
- 怎么复原java项目文件_从jar包还原出java源码(项目文件)
- office宏病毒反弹shell实验
- android listview 图片闪烁,listView异步加载图片导致图片错位、闪烁、重复的问题的解决...
- 酷客多接受CCTV2财经频道专访
- 数据结构之2-3 树
- hadoop集群搭建完整教程,java电商项目面试技巧
- WebRTC H5实现服务器转发的视频聊天
- GLSL vary、atrribute、in、out的区别
热门文章
- 使用 pdfminer 读取 pdf 文件
- 图解 Centos7 硬盘挂载
- 图片缩放cv2.resize()详解
- Mac OS X 下修改文件属性:创建时间、修改时间
- 腾云忆想科技和腾讯关系_独家 | 阿里云收购长亭科技后,腾讯云也完成了对CODING的收购...
- 软考嵌入式系统工程师知识点整理(计算机系统构成)
- 视光学常用检查参数解释
- OSChina 周六乱弹 —— 下班调闹铃
- nginx的An error occurred 一个错误发生!!!
- php安卓浏览器调用相机拍照,浏览器调用相机进行拍照