arcgis批量合并gdb_ArcGIS中使用Python批量合并多个文件型(*.gdb)地理数据库或(*.mdb)个人地理数据库...
最近在做农村地籍建库和汇交工作,其中需要把某个县市100多个村子的农村地籍数据库合并在一起,最终作为这个县市的最终数据整理汇交,代码如下:import sys import arcpyimport stringtry:workspace = 'C:\Users\Administrator\Desktop\春化'outdb = 'C:\Users\Ad...

最近在做农村地籍建库和汇交工作,其中需要把某个县市100多个村子的农村地籍数据库合并在一起,最终作为这个县市的最终数据整理汇交,代码如下:
import sys
import arcpy
import string
try:
workspace = 'C:\Users\Administrator\Desktop\春化'
outdb = 'C:\Users\Administrator\Desktop\\县级数据库.mdb'
arcpy.env.workspace=outdb
fs = arcpy.ListFeatureClasses()
arcpy.env.workspace=workspace
for File in arcpy.ListFiles("*.*db"):
for f in fs:
arcpy.Append_management(File+"\\"+f, outdb+"\\"+f)
except arcpy.ExecuteError:
print arcpy.GetMessages()
实际动手操作如下:
1.准备数据

注意:outdb也就是目标数据库不要放到要被批量合并的数据库的文件夹下
2.打开ArcGIS的Python窗口,复制上述代码(注意要把路径改成你自己的),回车开始执行。

已经测试过有效,ArcGIS10.2及以上版本更稳定。欢迎各位指正。
更新:增加了新功能,可以合并数据集(DataSet)中的数据,也就是说,在数据库格式一致的情况下,可以合并点、线、面、注记、属性表以及数据集中的点、线、面、注记、属性表,脚本如下:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import arcpy
import string
try:
workspace = 'C:\Users\Administrator\Desktop\\cc'
outdb = 'C:\Users\Administrator\Desktop\\lutian.mdb'
arcpy.env.workspace = workspace
files = arcpy.ListFiles("*.*db")
arcpy.env.workspace = outdb
fcs = arcpy.ListFeatureClasses()
fcs = fcs + arcpy.ListTables()
dss = arcpy.ListDatasets()
for File in files:
for fc in fcs:
arcpy.Append_management(workspace + "\\" + File + "\\" + fc, outdb + "\\" + fc)
for ds in dss:
fcs1 = arcpy.ListFeatureClasses(feature_dataset = ds)
for fc1 in fcs1:
arcpy.Append_management(workspace + "\\" + File + "\\" + ds + "\\" + fc1, outdb + "\\" + ds + "\\" + fc1)
except arcpy.ExecuteError:
print arcpy.GetMessages()
文章转载于CSDN,作者putin_leon版权归原作者所有,如有侵权请告知删除- END -ArcGIS中利用DEM做水文分析视频教程
ArcGIS中坐标与转换介绍(可下载PPT),解决你对坐标存在的疑惑
在ArcGIS中提取DEM的单元高程点
ArcGIS小技巧—线要素批量加节点的方法

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)