如何合并不同.gdb中的多个要素(arcgis或fme)
2021-01-30 本文已影响0人
松鼠敲果壳
最初的目的
把从全国地理信息资源目录服务系统网站所下载的分成片的1:100万数据集,合并成一个完整的数据集。一共77个gdb文件,每个gdb文件夹中会有数个要素,但并不是所有gdb中的要素都齐全。
打算尝试的方法
第一种:ArcGIS自带工具箱中的快速导入
ArcGIS打不开“快速导入”功能,并且会显示一个红叉叉在图标上。
原因不详。不知道是电脑内存还是什么其他原因。
可以参考这个教程。
第二种:ArcGIS的python
这个方法我参考了很多博客,发现很多都类似,就选了一个来尝试。
代码如下
中间曾因为编码问题报错过一次,所以我的代码里会跟网上提到的不太一样,增加了
.encode("utf-8")
import os
import sys
import arcpy
inpath = r"G:\软件分类\作图\ArcGIS\全国地理信息资源目录\zip"
outgdb = r"G:\软件分类\作图\ArcGIS\全国地理信息资源目录\one.gdb"
arcpy.env.workspace = inpath
workspaces = arcpy.ListWorkspaces("*","fileGDB")
for j, workspace in enumerate(workspaces):
print('processing:' + workspace)
arcpy.env.workspace = workspace
featureclasses = arcpy.ListFeatureClasses()
for i,fc in enumerate(featureclasses):
output = os.path.join(outgdb, os.path.splitext(fc)[0].encode("utf-8"))
arcpy.Append_management(fc,output)
结果报错。内容如下:
Runtime error Traceback (most recent call last): File "<string>", line 19, in <module> File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\management.py", line 4240, in Append raise e ExecuteError: ERROR 000732: 目标数据集: 数据集 G:\one.gdb\RESP 不存在或不受支持
第三种:FME软件合并
软件下载。
尝试过总是在报错。
换了GIS思维的教程提供的数据就能顺利合并。猜想可能是我自己的数据集有问题吧。