arcgis多个数据融合python_ArcGIS中使用Python批量合并多个文件型(*.gdb)地理数据库或(*.mdb)个人地理数据......

本文介绍了一个Python脚本,用于批量合并多个ArcGIS文件型或个人地理数据库,适用于农村地籍建库和数据汇交工作。脚本在ArcGIS环境中执行,适用于10.2及以上版本,能合并不同数据类型并处理数据集。
摘要由CSDN通过智能技术生成

最近在做农村地籍建库和汇交工作,其中需要把某个县市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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值