前言
有多个文件地理数据库(即.gdb格式的数据库),数据库内有多个要素类。要求将这些文件地理数据库中相同名称的要素类分别合并到一个文件地理数据库中。如果只有几个数据库,可以用arcgis自带的合并工具一个一个合并。但是,如果有一百个数据库,每个数据库里有十几个要素类,例如:将一百个县的年度变更数据库合并成一个,该怎么办?。如果一个一个添加到合并工具合并,这得要点多少次鼠标啊?今天给大家分享的GDB批量合并工具,就是为了解决这个问题。
一、ArcPy是什么?
ArcPy 是一个以成功的 arcgisscripting 模块为基础并继承了 arcgisscripting功能进而构建而成的站点包。目的是为以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化创建基础。
该包提供了丰富纯正的 Python 体验,具有代码自动完成功能(输入关键字和点即可获得该关键字所支持的属性和方法的弹出列表;从中选择一个属性或方法即可将其插入),并针对每个函数、模块和类提供了参考文档。
以上是Esri官方给的答案,详情请看帮助文档 https://desktop.arcgis.com/zh-cn/arcmap/latest/analyze/arcpy/what-is-arcpy-.htm
总之,arcpy就是一个用python开发第三方库,可以用import导入python代码中。有了它python就可以调用ArcGIS的ArcToolBox中的工具进行地理数据的分析、数据转换、数据管理等操作。
二、GDB批量合并工具开发思路
- 1.第一层循环,遍历文件夹下所有文件地理数据库。第二层循环,遍历每个数据库中要素类,获取要素类名称分别添加到列表中,相同名称只添加一次。得到的要素类名称列表就是合并后数据库中所有的要素类名称。
- 2.第一层循环,遍历得到要素类名称列表。第二层循环,遍历一次文件地理数据库,判断数据库中是否存在该名称的要素类,存在,则拼接绝对路径并添加到列表中。将绝对路径列表作为参数,调用合并工具合并该图层。
python中使用arcpy合并工具语法:

代码示例:
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Merge_management(["majorrds.shp", "Habitat_Analysis.gdb/futrds"],

最低0.47元/天 解锁文章
1310

被折叠的 条评论
为什么被折叠?



