笑谈ArcToolbox (4) ArcToolbox的隐藏关

by 李远祥

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

批处理的魅力

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

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

批处理界面

“双击--调用”界面

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

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

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

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

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

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

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

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

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

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

地图交互

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

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

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

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

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

笑谈ArcToolbox (4) ArcToolbox的隐藏关相关推荐

  1. 笑谈ArcToolbox (1) ArcToolbox 的发展方向

    笑谈ArcToolbox (1) ArcToolbox 的发展方向 by 李远祥 ArcGIS工具箱ArcToolbox具有非常多的工具,相信用过的人都非常惊叹,其功能完备并且强大,种类繁多,总能找到 ...

  2. 笑谈ArcToolbox (3) ArcToolbox的一亩三分地

    笑谈ArcToolbox (3) ArcToolbox的一亩三分地 by 李远祥 每个人都会有一些鲜为人知的小秘密,都有着不允许别人染指的一亩三分地.软件是人编写的,当然也会给它留有自己所拥有的一亩三 ...

  3. 啪嗒砰2 全隐藏关 隐藏BOSS

    1 开启蜘蛛亚种"恐怖的串刺x怪兽xxx"关卡的地图在"岩山xx魔性之霜"起雾的时候有一个和别的不一样颜色的蝙蝠身上. 2 开启巨像兵亚种"自然力的巨 ...

  4. [精品]CSAPP Bomb Lab 解题报告(七)——隐藏关卡

    接上篇[精品]CSAPP Bomb Lab 解题报告(六) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 ...

  5. swing打地鼠游戏_经典街机游戏中的那些奖励关,为了得高分每次都被游戏厅老板吼...

    当年我们在街机游戏厅中玩到的街机游戏,绝大部分都是有奖励关的.无论是清版过关游戏.格斗游戏,还是动作游戏,甚至后期的一些飞行射击游戏都有.其实就是让玩家在紧张之余稍微放松一下,顺便增加一些分数. 奖励 ...

  6. Android 端 2D 横屏动作冒险类闯关游戏【100010436】

    Android 端 2D 横屏动作冒险类闯关游戏 摘要 随着闯关类游戏的玩法与数目的不断增加,本文所设计的一款名为<Wander In Color>的动作冒险闯关类游戏,将从一个新的角度入 ...

  7. 华为nova2s云相册在哪里_华为nova2s隐藏相册在哪 | 手游网游页游攻略大全

    发布时间:2016-08-11 星界边境隐藏箱子在哪,小编给大家带来星界边境猿人副本隐藏道具获得方法,一起来看看吧! 点击下载: 猿人副本隐藏道具获得小窍门: 开局向左走,到如图所示位置向上,有个箱子 ...

  8. 计算机中文无敌版,奥特曼格斗进化3中文无敌版电脑版

    游戏介绍 <奥特曼去和小怪兽战斗拯救世界,直到有一天我玩了这个游戏,梦想破灭了,奥特曼开始自相残杀了,而且我心爱的泰罗奥特曼还被打成狗了,这游戏能打?嗯,我觉得是能打的,互相伤害好特么的过瘾啊! ...

  9. sqli-labs\Less 25~30

    less-25--过滤了or和and的单引号注入 http://127.0.0.1/sqli-labs/Less-25/?id=-1%27%20union%20select%201,2,3--+ le ...

最新文章

  1. 两个数组结果相减_学点算法(三)——数组归并排序
  2. jvm能识别什么字符集_识别JVM –比预期要难
  3. 如何开启并配置CITRIX Xenserver的SNMP服务
  4. 小程序 canvas 设置 字体 字号加粗
  5. Q142:PBRT-V3,交点处各种微分的求解(三角形,3.6章节)
  6. excel中vlookup函数的使用方法_Excel中Vlookup——从入门到放弃
  7. 文件下载---txt文件下载
  8. 电脑在线时间调整服务器是多少,电脑时间校准服务器
  9. Android触摸屏驱动,电阻屏,电容屏
  10. if you already have a 64-bit JDK installed,define a JAVA_HOME variable in
  11. 扒一扒物理层里的那些事
  12. Linux之进程管理——查看进程
  13. C#应用程序界面开发基础——窗体控制(4)——选择类控件(有部分地方没明白)
  14. matlab randn state 2,randn('state',0)是什么意思?
  15. 网络socket编程--多路复用
  16. 2022年百华鞋业祝您新年快乐,虎年大吉
  17. android rtmp推流,使用MediaCodec和RTMP做直播推流
  18. 【ALGO】模拟退火(1)
  19. 比 Redis 还快,更省内存,开源,惊爆了!
  20. word之表格如何自动换页?

热门文章

  1. MTK6737平台的GPIO驱动例程(一)
  2. 碳基生命与硅基生命之间的一场思维碰撞
  3. 将酷狗缓存文件转化成MP3格式
  4. java中workFlowEvent_关于工作流(Workflow Foundation)的一些总结归纳
  5. [环境配置]Win10 这台计算机中已经安装了 .NET Framework 4.5.2 或版本更高的更新
  6. 六年老员工的幸福感|ONES 人物
  7. java用hutool.excelUtil实现excel创建模板和下载模板
  8. ldap+samba
  9. 机器学习算法——贝叶斯分类器3(朴素贝叶斯分类器)
  10. 用python写菜单_用Python创建菜单