利用arcpy实现多个GDB数据库批量合并为一个。
代码示例:
# -*- coding:utf-8 -*-
import arcpy
import os
import sys
import re
inputpath = (0) # 获取输入文件夹
out = (1) # 获取输出文件夹
tcmc = (2)
savetcmc = (3)
allPath = inputpath
pathList = []
outpath = out
dirs = (allPath) # 获取输入文件夹下的所有文件名
for dir in dirs:
(dir) # 输入文件夹下的所有文件名形成列表
#print(pathList)
pathMerge = [] # 定义合并路径
i = 0 # 定义计数变量
for gdbName in pathList: # 遍历gdb名称
if (".gdb" or ".mdb"):
= allPath + "\\" + gdbName # 设置工作环境
datasets = () # 列出数据集
print (datasets)
print ((feature_dataset=datasets[0]))
if tcmc in (feature_dataset=datasets[0]): # 判断第一个数据集中是否存在地类名称的图层
i = i + 1
#print (i)
path = (, datasets[0], tcmc) # 形成完整路径
(path)
#print(pathMerge)
else:
(" 警告:{0} 中不存在名称为 {1} 的要素类,请留意!".format(gdbName, tcmc))
(" 共{0} 个图层正在合并……".format(i))
if i > 1:
arcpy.Merge_management(pathMerge, outpath + "\\" + savetcmc)
del pathMerge
else:
copyFc = pathMerge[0]
arcpy.CopyFeatures_management(copyFc, outpath + "\\" + savetcmc)
("合并成功,请关闭")