arcpy获取gdb/Dataset/featureClass中所有要素个数:(地理国情监测)
coding = 'utf-8'
import os
import arcpy
#Author By AHCH_yangdebin
gdblist=[] #新建空白列表
file_dir=r"F:\test" #输入待合并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)))
outpath=r"F:\result" #合并后汇总数据库所在的文件夹
#fileName=""
for gdb in gdblist: #循环待合并GDB数据库
#print(gdb) #打印循环到的某个数据库的路径
arcpy.env.workspace = gdb #将循环到的数据库作为工作空间
fileName = outpath+ "\\" + (gdb.split(".gdb")[0]).split("\\")[-1]
print(fileName) # 打印要素类名称便于查看进度
datasets = arcpy.ListDatasets() #列出该数据库包含的要素数据集
if(len(datasets)!=0):
for ds in datasets: #循环要素数据集
print("------" + ds) # 打印该要素数据集的名称
fcs=arcpy.ListFeatureClasses(feature_dataset=ds) #获取该要素数据集下的所有要素类
filePath= fileName + "\\" + str(ds)
print(filePath)
for fc in fcs: #循环该要素数据集下的所有要素类
print("-------" + fc) # 打印要素类名称便于查看进度
arcpy.GetCount_management(fc).getOutput(0) #获取该要素类的要素总个数