在一个矢量数据中,里面的每个要素可能有不同的属性,有时因为工作需要可能要根据属性分别导出shp。如一个市级行政界线的shp需要分别导出每个区的行政界线,涉及的区的数量多,每个区分别导出还要选择路径或命名啥的实在是太繁琐啦!!!后来想起之前学过在arcgis里构建模型工具来处理数据,那构建模型来解决这个问题也是可以的!!现在在arcgis里创建一个模型,一次解决这个繁琐的步骤hhhhh。

先理一下思路:
①输入:我们需要分割的矢量数据、字段(根据这个字段的属性值来分割shp);
②选择:根据输入的两个参数(分割的矢量和字段)进行要素选择;
③复制:复制已选择好的要素;
④输出:分别输出要素。

(1)首先,在目录下的工具箱右键新建一个模型
在这里插入图片描述
(2)在创建好的模型右击,然后选择编辑,打开模型编辑界面。
在这里插入图片描述
(3)构建模型
①在编辑界面中,插入->创建变量,创建两个变量:shapefile、字段。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将两个变量右键勾选为模型参数,勾选后右上角有个p标志
在这里插入图片描述
在这里插入图片描述
②插入要素选择迭代器
在这里插入图片描述
③选择连接工具,画定模型流程,将输入要素设置为输入参数、字段设置为按字段分组。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
④在工具箱中,数据管理工具->要素->复制要素,将“复制要素”这个工具拖到模型中。然后也是通过连接工具将所选要素和复制要素连接起来。输出要素勾选为模型参数。到这里模型就构建完成了!!!

在这里插入图片描述
(4)演示
如图,某城市有一个矢量数据,里面含了不同年份的要素,现在要根据年份分割矢量数据。

在这里插入图片描述
双击打开我们已经创建好的模型,选择好需要分割的数据及字段,最后设置输出路径。最后输出要素里有一个很重要的点,就是我们分割后的shp要以字段值命名,不然导出的shp就会被覆盖掉了。字段值可能有多个,像我用到的年份字段里就涉及多个年份。因此,导出的shp的名称其实是根据字段值不断变化的。每个字段值在模型执行过程中都有得到,所以我们在命名的时候也引用这个字段值来命名。变量在模型中用两个百分号表示,如“%xxx%”,这里我们引用的就是要素迭代器获得的“值”,也就是%值%,设置的输出路径如图示

在这里插入图片描述

在这里插入图片描述
最后到设置的文件夹中就能看到分割后的矢量数据啦。
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐