在ModelBuilder中使用追加工具实现多个GDB合并20231102

多个数据库的合并底层逻辑就是多个同名要素类的合并,配合ModelBuilder里仅模型工具中的收集值工具,收集值作为追加\合并工具的输入,即可实现同名要素类的合并。
我的想法是:输入一个模板数据库,使用迭代、嵌套子模型的方式依次建立数据库、数据集、要素类建立起一个空要素的成果数据库,然后使用追加的方式将空数据库里的空要素类图层作为追加工具的目标数据集(输出端),输入端为上述所说的通过收集值工具获取的要素类。
迭代创建空数据库方式的难点在于:在创建要素类的时候需要输入几何类型(点、多点、线、面),而在ModelBuilder中无法直接获取,找遍了全网都说由于是图层的固有属性因此无法传递该值,处理这个问题的方法最开始想着是在遍历模板数据库的要素类时通过计算图层Name的方式获取,后来想想该处理方式在数据命名错误后会出错,因此转向另一通过直接复制模板图层并锁定输出位置然后再删除其中所有要素数据的方式获得一个新的空图层,这样的好处在于,获得的图层与模板图层属性结构完全一致,坏处在于,当某一模板数据要素类数据量大时处理时间可能会较长。(能处理标准组织结构的GDB,待完善)
①准备待合并数据在这里插入图片描述

②建立工具箱及几个模型(在模型右键属性勾选“存储相对路径名”以便移植使用)在这里插入图片描述

③迭代要素类并收集值子模型在这里插入图片描述

④迭代创建要素类子模型在这里插入图片描述

⑤迭代创建要素集子模型在这里插入图片描述

⑥合并主模型在这里插入图片描述

⑦运行主模型在这里插入图片描述

⑧运行完成日志在这里插入图片描述

⑨合并成果在这里插入图片描述

这里写自定义目录标题

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值