笑谈ArcToolbox (4) ArcToolbox的隐藏关

笑谈ArcToolbox (4) ArcToolbox的隐藏关

by 李远祥

      很多人在使用arcgis工具的时候,基本是“双击--调用”这种模式。这本来就是符合一般人的使用习惯。如果每次只做一次处理,这种模式就算是完成任务了。但有时候会有一些重复性操作,那就比较麻烦了,需要一遍又一遍的调用工具,重复的设置参数,还需要人工值守。其实ArcToolbox工具是非常人性化的,只是它不喜欢张扬,喜欢将自己的能力隐藏起来。只要使用者达到一定的熟练程度的时候,那些隐藏关卡就会“自动”开启(当然。这只是个玩笑O(∩_∩)O哈哈~ 任何工具和操作,只要到了熟练之后就会熟能生巧,自然会挖掘出其特点)

批处理的魅力

      前面也提及过,一些重复性的工作,如果单靠“双击--调用”这种模式去做,是非常烦人的。ArcToolbox中每个工具都带批处理功能,只需要在选中要使用的工具点击右键,就可以呼出“批处理”界面。下图就是使用【裁剪】工具进行批量裁剪。

image

      批处理中的工具参数其实跟“双击--调用”的界面是一致的,只不过从原来的控件式界面变成了二维表格界面,如下图

image

                                                 批处理界面

image

                                                  “双击--调用”界面

      接下来看看我们需要实现的要求,需要根据图中的裁剪区域,裁剪所有的图层。如下图

image

      使用传统的方式就是一次又一次的调用裁剪工具,这里不作介绍,这种非常笨的方式不是我们的初衷。接下来我们来看裁剪工具的批处理设置。每一次操作对应的就是处理表格中的一条记录,每一列则代表操作的参数。点击每个单元格,都可以调出参数选择的下来菜单,跟单个处理方式是一致的,如下图

image

      点击右上角的加号,可以增加行,那就是增加一次具体的操作。例如要做十个同样的裁剪处理,那就点击多次增加行。但这种做法也是非常的烦人,试想一下,如果有30个图层需要进行裁剪,那同样得选择30次输入的参数,还有用作裁剪的图层也是30次,输出结果也是30次。天啊,这种方式跟单处理差别不大。

      ArcGIS的常规做法就是给你关上一扇窗的同时,总会给你打开另外一扇门。所以,只要功夫深了,啥都能磨成针!其实ArcGIS用熟练之后,就会发现有很多鲜为人知的隐藏操作。例如前面要做的操作,我们并不需要增加行的方式来增加处理,那样的输入太麻烦了。工具跟地图的交互操作体现在很多方面,批处理的操作跟TOC面板其实是非常有默契的。例如这个文档里面有多个图层,可以在TOC面板选用鼠标配合键盘ctr 或者shite建进行多选。

image

      选中后按住鼠标的左键不放,直接拖拽到批量处理的第一个参数的单元格,这样,所有的图层都会作为参数填入单元格中,批处理工具会根据图层的数量自动创建行和填充参数,如下图

image

      这样的话就非常方便了,几乎所有的重复性工作都去掉。还有就是一些相同的参数,可以采用【填充】的方式进行快速录入。例如这个例子中的【裁剪要素】,如果还是想像刚才那样直接拖拽的话,即便是选中了所有的行,都没法批量的录入,毕竟它就只有一个图层。所以,这种情况只能在第一行中通过下拉方式或者拖拽图层方式进行录入,录入好后,选中这个单元格(是录入了数据的单元格,不是列头),使用右键菜单,选择他【填充】,这样所有的参数就可以自动的填充进去了。

image

      至于输出结果参数,感觉很难自动完成。因为要选择存储路径和保存的名字,每一个裁剪的结果都是不一样的,如果还是使用填充的方式,命名一样就会出现结果覆盖(这可不是我们想要的哦)。这个时候还是【环境设置】出场。还记得上一章《笑谈ArcToolbox (3) ArcToolbox的一亩三分地》吗?里面提及到工具的环境设置。其实批处理里面也是共用工具的环境设置的。

image

      在环境设置面板中,设置当前工作空间和临时工作空间,可以将结果保存到对应的数据库或目录当中,不然的话,结果会保存在默认的数据库,与之前arcgis所有的操作保留下来的默认数据混在一起,不好区分。一般我们可以预先创建好这个保存结果的数据库。

      设置好后,点击确定,这部分的参数就会自动填充,可以看到参数填充的方法就是工作空间+图层名+_clip  ,如下图

image

      点击确定之后,就可以执行操作并生成最终结果了。

 

地图交互

      如果说批处理的一些设置和操作隐藏得够深的话,那么,工具与地图的交互操作几乎就是不为人知了。毕竟大部分人在使用工具的时候都是都是直接针对数据源,而不是针对地图。这怎么说呢?数据源指的是操作的时候参数设置直接指向数据存储的路径,而地图则是在输入参数的时候通过下拉菜单选择图层。看起来似乎是一样,但实际效果却是有区别的,一不小心,老司机都会翻车!

      那么地图的交互操作一般有哪些呢?由于工具里面大多数的输入参数都是针对图层,那么就以图层为例。图层一般会涉及到数据过滤和地图选择。而这两种操作一般都隐形的,很容易被忽略掉。还是使用上述裁剪功能来说明问题。现在需要裁剪建筑物图层,但这个建筑物图层在裁剪之前已经通过查找或者选择的方式,被选择了一部分数据,如下图,高亮显示的就是被选中的数据。

image

      执行裁剪工具进行裁剪,最后得出的结果如下

image

      可以看到,虽然裁剪工具里面输入的是图层,但实际裁剪的有效数据部分就是被选择的部分。所以,对于一些临时的操作,或者是从其他方式计算出来的选择结果,再进工具的加工和计算,都不会是全部的数据。这就是数据源和地图交互操作的区别。如果在执行工具之前不小心选择了数据,那出来的结果就差别很大了。因此,如果工具处理的数据是所有数据,那么在执行工具之前,先点击一下标准工具条中的【清除选择】按钮再执行。

image

 

      每次使用ArcToolbox的这些隐藏功能,都会想到那个卖油郎的故事。其中经典名句,不外是“无他,手熟尔”。同样的话,放诸四海佳通用。

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值