本帖最后由 qwertyu167 于 2021-8-5 10:47 编辑
本来准备给公司发微信公众号上的,但是嫌我这篇写的太长了,我就另写了一篇python和模型构建器交互的,这篇就发这里好了。
先直接把这个工具分享出来吧
什么是模型构建器?
ARCGIS的模型构建器是一个简单易用的应用程序, 用户利用该功能可对数据处理流程进行可视化编程,将ArcToolbox中的工具和python脚本自由组合成为自定义工具。
模型构建器的优点:
对于GIS工作者而言,在ArcGIS中的很多工作往往不只用一个工具完成,往往是利用多个工具对数据进行一系列处理最后得到想要的数据。在这一过程中ArcGIS的模型构建器功能常常能够极大地减少用户的手动操作,避免用户将大量工作时间花费在逐个点选工具箱逐个进行处理的过程上,极大减少GIS工作者的工作时间,提升工作效率。
在工作过程中经常会遇到将含有坐标的excel的数据转换为shp,下面我们使用模型构建器构建一个模型,用来将含有十进制度坐标的excel表格转换为点要素类,投影到我们需要的坐标系,并按表格的名称列导出shp。
Excel模板图 十进制度坐标 1、 打开arcgis模型构建器
1、 我们需要先使用创建XY事件图层工具将excel文件转换为图层,再使用要素类至要素类工具将图层转换为要素。下面我们将这两个工具加入模型构建器。 将ArcToolbox中的工具加入模型通常采用以下两种方法: 1).在ArcToolbox工具栏 直接将工具拖入模型构建器窗口
2).在搜索栏搜索工具然后将搜索到的工具拖入模型构建器 1、 上面两个工具已经加入模型构建器,下面我们来设置参数并且将两个工具连接起来。 1) 参数的设置。 双击工具或者右键点击工具—打开,在这里我们可以看到工具和平常使用没有什么区别。我们可以将不经常修改的参数设置为常量,并且将需要改变的参数设置为模型参数,方便使用时修改。
为了方便调试,先填好参数 。 注:低版本的arcgis只能使用xls格式的表格。
2) 工具与工具的连接
设置要素类至要素类工具的参数。
参数设置完成,先保存这个模型,试着运行一下。
模型参数的值可以在工具界面修改,如下图 1、Excel表格转点要素类已经完成,现在需要对要素进行定义投影和投影。重新编辑模型拖入定义投影、投影工具。设置点的坐标系与需要投影到的坐标系。 按实际需要设置定义投影和投影坐标系,设置为模型参数 按实际需要设置定义投影和投影坐标系,设置为模型参数
将工具按下图连接起来
点击运行整个模型。
运行结果
5、投影完成,现在需要对其进行迭代,并按字段名称对数据进行分组并输出shp。(如果不需要分组功能,就不需要添加迭代器了,只需直接添加一个要素类至要素类工具,xls转shp工具就完成了)
现在先新建一个模型,加入迭代器要素选择 ,添加要素类至要素类工具用来生成shp。
添加创建文件夹工具,用来创建保存shp的文件夹。加入仅模型工具中的解析路径,用来获取excel文件的路径。
注:excel文件需要两个解析路径才能获得我们想要的路径。比如这里"C:\Users\CY\Desktop\测试.xls\Sheet$" 第一次获得的是"C:\Users\CY\Desktop\测试.xls" 第一次获得的是"C:\Users\CY\Desktop"
行内变量:在模型构建器中,可通过以 “%” 将替换变量括起来的方式,用一个变量的内容替换另一变量。这种变量替换方式称为行内变量替换。 设置创建文件夹工具的参数
注:这里的%路径%为变量 设置迭代要素选择的参数,并将工具按下图连接起来
注:如果不设置按字段分组,arcgis将会自动按OID进行分组
设置要素类至要素类工具的参数,引用变量。
保存模型并关闭 6.将刚才保存的模型加入第一个模型中。 注:虽然一个模型只能使用一个迭代器,但可以使用此方法,间接使用多个。
重新连接参数后运行。
运行后的效果
为方便以后使用和查看,将下列参数设置为模型参数,然后点击自动布局,保存后关闭。
右键点击toolbox在属性里设置参数的位置,修改模型参数的名称,最后结果如下 完成后的自定义工具界面
下次使用时,设置参数后,点击确定,就能直接生成shp。
这样一个自定义的工具就做好了,使用十分方便。将保存的工具箱(.tbx)存在u盘,下次使用时只需要用安装了arcgis的电脑,添加工具箱,就可以使用了。
|