ArcGIS模型构建器特别适用于流程固定的工作流。
要素的拓扑处理就非常符合这一特点,一个要素的拓扑过程基本固定,但是每次拓扑都要来一轮操作就很烦,这正是模型构建器的用武之地。
下面以ArcGIS Pro为例介绍在模型构建器中的整个拓扑流程,ArcGIS的用法基本一样。
文章末尾会放出ArcGIS和ArcGIS Pro两个版本的模型下载。
01
拓扑流程
拓扑工具在【数据管理工具】下的【拓扑】中,后面的操作主要就是运用这些工具,其它工具可按名字自行在工具搜索框里搜索:

1、新建一个模型构建器,打开编辑,加入一个【创建文件地理数据库】工具,创建一个用来存放拓扑数据的gdb数据库。

2、【创建要素数据集】作为拓扑的容器。这里的要素数据集的坐标系必须和要拓扑的要素类一致,因此需要用【创建空间参考】来获取要素类的坐标系:

3、复制要拓扑的要素到要素数据集中,这里复制要素的路径依赖于要素数据集的位置,所以需要将要素数据集的路径作为参数引用,如图所示,生成的要素数据集命名为【DB】,复制要素的路径则设置为【%DB%\拓扑要素】,同时要素数据集还要作为复制要素工具的前提条件:

4、【创建拓扑】,注意填写拓扑容差:

5、【向拓扑中添加要素类】,将刚才复制进要素数据集的要素类作为工具的输入要素类:

6、【添加拓扑规则】,这里就以最简单的单个要素类不能重叠(面)为例,注意把要拓扑的要素类作为输入要素类:

7、【拓扑验证】,这个无需任何参数:

8、【导出拓扑错误】,注意将我们最开始创建的那个gdb数据库作为输出位置,基本名称可以随便写。

并且右键单击输出的3个要素,设置为【添加至显示】,这样模型运行完成后就会自动加载到地图中:

以上便完成所有的工作流程,完整模型长这样:

直接运行,看结果,在目录栏中会生成点、线、面3个要素,就是拓扑出来的错误,可自行查看:

因为这里做的是重叠检查,所以点和线要素都是空的。
02
设置参数,作为通用工具
上面的流程只适合在模型构建器内运行,如果要给别人使用,最后是做成通用工具,因此需要设置一些参数。
1、首先是两个输入数据:工作空间文件夹和要拓扑的要素类,在模型构件上右键点击,设置【参数】。设置后构件右上角会出现P的字样,则说明设置成功。

再把它们重命名一下,方便理解,然后双击打开,把路径清除掉:

2、在【创建拓扑】工具上右键点击,创建变量------从参数------拓扑容差,将拓扑容差创建为变量:

然后将变量设置为参数:

3、同样的方法,将【添加拓扑规则】中的【规则类型】创建为变量并设为参数:

4、设置好后,保存模型,并双击打开:

输入参数,运行即可。生成结果可到工作空间里去查找。
03
模型下载
ArcGIS10.7版本:
https://pan.baidu.com/s/1VOdsten6tjgUHZ_dvxIN7g?pwd=2wkb
ArcGIS Pro3.0.2版本:
https://pan.baidu.com/s/1NXLW8Dsj57ewRyJYCcr_Tw?pwd=0nfr

声明:转载此文不为商业用途。文字和图片版权归原作者所有,若有来源标注错误或侵犯了您的合法权益,请与我们联系,我们将及时处理,谢谢。
