地理国情监测,arcpy使用Select_analysis或者FeatureClassToFeatureClass_conversion将要素字段满足某一条件的要素提取出来。
coding = 'utf-8'
import os #加载os库
import arcpy #加载arcpy库
gdblist=[] #新建空白列表
file_dir=r"E:\001.yangdebin\test\testinput2" #输入待合并GDB数据库所在的文件夹的路径
dirlist=os.listdir(file_dir) #获取 D:\\Desktop 下一层级目录的路径
for dir in dirlist: #循环dirlist列表
if ".gdb" in dir: #如果路径名称中包含 .gdb 字符串
gdblist.append(file_dir+"\\"+dir) #将待合并GDB数据库的路径添加到gdblist列表中
print(gdblist)
print("gdb的个数是:" +str(len(gdblist)))
print("--------开始!--------")
template = r"E:\001.yangdebin\test\New Folder\new.gdb" #空的Dataset模板
outpath=r"E:\001.yangdebin\test\testoutput2" #数据库所在的文件夹
for gdb in gdblist: #循环GDB数据库
print(gdb) #打印循环到的某个数据库的路径
datasetLCRA = str(gdb) + "\\LcrDataset"
arcpy.env.workspace = datasetLCRA #将循环到的数据库作为工作空间
outgdbname = (gdb.split(".gdb")[0]).split("\\")[-1]
allgdb=outpath+"\\"+outgdbname+".gdb" #汇总数据库的完整路径
arcpy.CreateFileGDB_management(outpath,outgdbname) #建立汇总数据库
print("--------创建GDB完成Success!--------")
#每个GDB创建Dataset
gdbDataset = allgdb + "\\LcrDataset"
arcpy.Copy_management(template + "\\LcrDataset",gdbDataset)
print("--------创建LcrDataset完成Success!--------")
arcpy.Select_analysis(datasetLCRA +"\\UV_LCRA", gdbDataset + "\\UV_LCRAD", '"CHANGETYPE"= 1 OR "CHANGETYPE"= 2')
#arcpy.FeatureClassToFeatureClass_conversion(datasetLCRA +"\\UV_LCRA", gdbDataset, "\\UV_LCRAD", '"CHANGETYPE"= 1 OR "CHANGETYPE"= 2')
print("--------提取9999完成Success!--------")
print("所有gdb提取完成Success!--------")