ModelBuilder
【简述】利用ArcGIS模型构建器根据shapefile文件属性字段值将相同属性的要素进行筛选并导出为dwg、kmz格式,实现批量快速导出。
始终坚信ArcGIS只要是重复操作的必然有批量处理方法,最近各种需求比较多,比如将多个GDB数据库或者文件夹中shp文件合并到同一个shapefile文件中、比如将一个shapefile文件根据字段属性分别导出为不同格式(dwg\kmz)等,如果数据量少,手动操作也还行,但是扛不住数据量大,比如将一个地区的地类图斑按行政村区划导出为CAD、kml格式,几十上百个需要导出的话手动操作不太现实,然后琢磨了一下模型构建器的用法,已顺利拿下,可重复使用。简单入门操作,直接送上干货:
ArcGIS模型构建器(Model Builder)简单入门介绍
- 创建工具
可以通过catalog工具箱右键新建后编辑,也可以通过ArcGIS工具栏模型选项直接创建一般默认保存在ArcGIS默认工作路径Toolbox.tbx内。
- 模型创建思路
主要为数据输入、循环(迭代)、插入工具三大类操作,其次为自定义路径、名称等变量参数设置。
- 保存及重复使用
参数设置、变量引用(实例中详细说明)。
案例实操
需求简述:
将该图层中所有图斑按照形状命名分别导出为kml及CAD格式文件,用于内业校对、数据梳理。
数据准备:示例数据
创建模型:
直接将数据拖入模型作为输入要素;
循环(迭代器)插入:本次是将输入要素(polygon)根据字段XZCMC值进行筛选并导出,所以插入要素选择迭代器,插入之后双击工具,可以看到有两个参数需要输入,输入要素和字段名称,输入要素直接利用连接符连接即可,字段名称需要创建变量(字段),
样式设置:
一般kml格式文件用于奥维、Bigemap等APP,方便外业使用,所以一般设置带填充色,50%透明。通过复制图层设置样式后,搜索symbol工具,找到apply symbology from layer,直接拖动至模型中。
kml导出:
在工具箱中找到导出至layer to kml工具后,直接拖入模型,连接符连接即可。双击黄色工具后,可以看到除了输入的图层之外,输出路径也需要自行定义。
输出路径及文件名变量设置:
插入变量文件夹(同开始插入Field变量),命名为Output,在导出kml工具中设置路径及文件名为:%Output%\%Value%.kmz(可在此直接复制粘贴),引用变量前后需有%(所有符号均须为英文输入)。
变量参数设置:
回想整个流程下来,需要输入的变量有:需要导出的原始图层、变量字段名称、样式图层、输出路径四个。因此选中这四个要素,后右键模型参数,设置完成后,右上角会出现“P”标识,如下图所示:
至此,模型基本构件完成,可以点击工具栏√工具检查,如没提示,则说明模型没问题,在点击运行之前,需设置一下输出路径,Output,双击设置路径后,运行测试。
最后可以根据自己需要将模型内所有数据及命名进行修改、保存,方便后续使用。最终成果如图所示(这里进行了局部优化,直接将原始图层设置好样式,应用于导出前kml应用样式输入,可以减少一个输入参数选项):
保存完成后,双击打开模型工具,即可看到输入参数界面,其中分组字段这里显示可选,但实际是必须要选的,可以试试不选的话它默认是按哪个字段分的。
测试一下,查看成果:
最后,导出CAD也同样的方法,不同的是不需要设置样式,需要设置导出版本(10.2.2ArcGIS默认导出2010版)。导出为CAD后均为闭合多边形,无色块填充,在使用时需要注意“开天窗”情形,在CAD中是分开的多边形,如果大家有其他好的方法或建议,请多多留言。
学习批量让电脑搬砖,祝大家学习工作都能少走弯路,有更多自己的生活时间~