Arcpy 合并一个文件夹下的FileGDB

策略:先创建一个GDB,将遍历到的第一个GDB里面所有的要素图层转化到新创建的GDB中,以后遍历到的GDB进行追加就行了,代码如下:

import arcpy,os
def MergeFileGDB(inPath, outPath, outName):
    arcpy.env.workspace = inPath
    mergeFilePath = outPath + os.sep + outName
    print mergeFilePath

    #获得所有的FileGDB
    workspaces = arcpy.ListWorkspaces("*", "FileGDB")

    for workspace in workspaces:
        print(workspace)
        arcpy.env.workspace = workspace
        mergeFileExist = os.path.exists(mergeFilePath)
        if mergeFileExist:
            featureclasses = arcpy.ListFeatureClasses()
            for fc in featureclasses:
                print(fc)
                if fc == "LCA":
                   arcpy.Append_management(fc, os.path.join(outPath + os.sep + outName, os.path.splitext(fc)[0]),"TEST","","")
                   #arcpy.Merge_management(fc, os.path.join(outPath + os.sep + outName , os.path.splitext(fc)[0]))
                   break
                else:
                    continue

        else:
            arcpy.CreateFileGDB_management(outPath, outName)
            featureclasses = arcpy.ListFeatureClasses()
            for fc in featureclasses:
                arcpy.FeatureClassToFeatureClass_conversion(fc, outPath + os.sep + outName, os.path.splitext(fc)[0])

                
in_file = r"D:\WHResults"  
out_location = r"D:"
out_name = "GHMerge.gdb"
MergeFileGDB(in_file, out_location,out_name)     

转载自:https://blog.csdn.net/sprintwater/article/details/38456579

You may also like...

退出移动版