笑谈ArcToolbox (2) 开启ArcToolbox的钥匙

by 李远祥

GIS人遇到ArcToolbox就像找到了宝藏一样兴奋,但并不是每个找到宝藏的人都具备开启宝藏的钥匙。有时候功能强大并不见得就是一件好事,在面对上千个工具的时候,很多人尤其是GIS初学者都会无所适从。有句俗语说,人对未知的事物会心生恐惧。但也有一句老话说,无知则无畏。对于哲人来说,话怎么说都是好对的。所以,我们不妨静下心来看看,这ArcToolbox到底有多难,或者说到底有多容易。

1.查家底

ArcToolbox到底有多少个工具?有一些好奇的初学者一般都会想一下这个问题。作为一个GIS的老司机,我只能引用一句歌词来说明:不要问我星星有几颗,我会告诉你很多很多! 打开ArcMap软件,展开工具箱一看,分门别类,齐齐整整的罗列出来,光是一级根目录就有以下十几种,每一级展开还将会有更多。

也许会有好事者会追问,那到底有多少,总归有个数吧。是的,就算是天上的繁星,每天都有星体爆炸和湮灭,也总该有个数的。但这总不能点开来数数吧。好吧,虽然我也没数过,但可以凭借一些经验的做法去快速查它的家底。

老司机应该都知道,每一个tool都有自己的一个arcpy调用方式,这也是ArcGIS强大的一个特点。既然是这样,我们就可以通过一些非常规的手段去探知。如果是Python的老程序员,对程序敏感的,很容易就找出来。到ArcGIS Desktop的安装目录下,找到arcpy的目录,大概是这样 :\Program Files (x86)\ArcGIS\Desktop10.4\arcpy\arcpy  这就是arcpy包所在的位置。直接找到这个目录下的一个toolbox.py 文件。用notepad++打开,不要问我为什么要用notepad++打开,因为我很懒,不想去数。

看,这就是绝世武功的目录!展开这个文件,可以看到arcpy导入每一个工具。拖拽到最底下,通过notepad++的行号可以看到总共的行数为787,(我统计的版本是ArcGIS10.4.1),扣除掉前面有14行Python注释,那在arcpy的这个工具列表里就是773 了。看起来好像好牛掰的样子O(∩_∩)O哈哈~

但作为一个老司机,问路就得多问几个人,不然还是会被指着绕圈圈的。既然我们要用的是ArcToolbox的工具,那由于arcpy是没有人桌面还是server的,原则上列出来的应该是的desktop、engine和server共有的部分。那么到底desktop 里面有多少可以用?好吧,不要欺负老司机了,乱指路是不文明的行径,我们得用科学的方法去查家底(就像韦小宝抄鳌拜家跟多隆说的那样,我生平最痛恨那些“穿柜桶底”的人)。所以,我们可以打开ArcMap,勇气Python窗口中用命令来查看

在命令窗口中输入 arcpy.ListTools() ,会返回整个工具列表,这是arcpy里面最真实的罗列了。如下图

这是一个数组,猿类可以用Python的语句来查看数据的长度  例如 len(arcpy.ListTools()) ,然后可以看到返回一个真实的数值

没错,就是909个,没有想象中的那么多吧。以前笔者一直认为ArcToolbox工具少说也有两千个,心生畏惧啊。可现在一看,才909个,学习的工作量顿时下降了一半,听起来好像是个好消息。但十多年下来,笔者真正能够接触并进入使用的,大概500个。这已经是工作的特殊性决定的了。估计一般人常用的大概也就是一百来个工具吧。

2.工具使用

在ArcMap最容易的不外乎是调用工具箱的工具了,最难的也莫过于使用工具箱工具了。对于工具,很多人似乎都停留在双击调用的想法中。其实ArcToolbox工具的使用是有一定的限制的。先不说工具的参数吧,先来看工具的前提条件。双击调用任何的工具,都可以其参数,如果没有任何的帮助,估计但从这些晦涩的提示文本,很多人都不清楚工具能做什么,该输入些什么。

这里面就有一些窍门了。可以点击最底下的【显示帮助】按钮,这样光标定位在任何一个参数输入框,都可以得到对应的提示,如果点击的是工具的标题栏部分,就会直接显示工具的整体帮助,如下图

点击【工具帮助】按钮,可以快速定位到整个工具的帮助中去,这是一种快速了解工具的途径。老司机们都是这样干的,因为这样非常简单粗暴的进入到工具的帮助当中。ArcGIS的帮助是非常强大的,尤其现在是从10.0版本开始具备中文帮助。几乎每个工具的帮助中都可以看到有一个【许可等级】的说明,这样我们就可以知道当前使用的ArcGIS软件版本是否支持该工具了。例如下图就是说明擦除工具只有桌面高级版才能使用。

当然,有时候这一招也不是通吃的,有些工具不一定会显示许可等级。遇到这种情况,笔者一般就是默默的切换到英文帮助,对,就是英文帮助,它还是会列出这个授权等级的。所以,当看不懂中文帮助的时候,请看英文帮助。O(∩_∩)O哈哈~

3.检索工具

人经常会存在一种感觉,例如菜太多的时候就不知道该怎么吃饭了。同样的道理,工具太多,有时候还真的不知道该怎么使用。最起码也得知道到底有什么工具,这些功能能做什么。一个一个去查看和学习,显示是行不通的,因为不是每个工具都适合于每个人。ArcGIS是通用的软件,所以也不存在针对某个行业使用特殊的术语。所以,这个时候关键字就很重要。最常用的方法当然是百度了。但当面对各种各样的【路边社】的说法时,也是让人无法适从。所以,合理使用软件的帮助。例如要做一个裁剪工作,那可以在工具帮助中输入裁剪二字,这样关于裁剪的一系列关键字就出来了。

当然了,这个还是不能迅速定位到对应的工具,只是在门外看看到底有什么裁剪的说明。如果想直接看看工具中有没有以【裁剪】二字命名的,可以直接在【搜索】窗口中进行查找。这是从10.0版本开始引入的一个窗口,非常好用。

也有人在使用这个搜索窗口没搜到任何的关键字的,那是因为软件刚安装,arcgis软件有个index的索引进程开启,需要一段时间才会检索到工具箱去。某些优化软件会在一开始的时候就将其“优化”掉。笔者也不喜欢这个进程在后台运行,所以也是一开始就将其杀掉,然后马上露上一手,在【搜索】窗口,搜索选项中将ArcToolbox的目录位置加入其中。ArcToolbox的位置在 :\Program Files (x86)\ArcGIS\Desktop10.4\ArcToolbox\Toolboxes

加入之后,点击【为新项目建立索引】,如下图,几十秒之后,就可以完成所有的索引,之后就可以开心查找了

接下来的事情,就是从实际出发,使用工具去解决问题了。

笑谈ArcToolbox (2) 开启ArcToolbox的钥匙相关推荐

  1. 家庭网关——开启数字家庭的钥匙

    家庭网关--开启数字家庭的钥匙 为什么需要数字家庭业务? 近年来,固网运营商来自话音.纯宽带业务的收入,增幅在不断下降,究其原因,一是随着移动.IP等技术的成熟,传统固网运营商面临的竞争加剧.二是随着 ...

  2. 写给小白:AWS,开启新世界大门的钥匙

    一.环境: 云环境:Linux-ubuntu18.0 物理环境:win10 二.代码: 1.先获取root sudo su 2.安装ssR(亲测可行) wget -N --no-check-certi ...

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

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

  4. 【ArcGIS微课1000例】0021:ArcToolBox工具箱功能与环境概述

    文章目录 一.ArcToolBox功能简介 1. 3D分析工具 2. 分析工具 3. 制图工具 4. 转换工具 5. 数据管理工具 6. 地理编码工具 7. 地统计分析工具 8. 线性参考工具 9. ...

  5. 为win11家庭中文版开启组策编辑器

    文章目录 解释一下 钥匙 解决的方法一: win11显示文件名后缀 懒人方法二 解释一下 本来win11家庭中文版是没有组策编辑器,但不代表真的没有,举个例子:家里有个保险柜,里面有钱,但是咱没有开启 ...

  6. 一款实用电动车蓝牙钥匙方案

    目前市场上已经出现一些高端电动车,用车钥匙和手机APP一键启动.锁车.那如何实现操纵电动车技术呢?这就离不开蓝牙技术.下面介绍一款用蓝牙车载钥匙解锁和启动方案. 蓝牙车载钥匙解锁和启动方案是通过蓝牙连 ...

  7. 揭秘WIFI万能钥匙 了解网络安全重要性

    如今手机用户到哪都想用上WIFI,也就因为这样,WIFI万能钥匙才能横空出世,备受追捧.可是你知道WIFI万能钥匙是如何获取WIFI密码的吗?下面我将会大家一一讲解. WIFI万能钥匙 拿出手机,开启 ...

  8. 水体因子在DEM和遥感影像中的提取

    目录 一.介质的区别 二.遥感影像 波段合成 (1)NDWI (2)提取水体并裁剪 (3)计算水域区域的面积. (5)重分类 三.DEM 1.洼地填平 2.水流方向计算 3.水流积聚计算 4.提取河网 ...

  9. XenServer和VMware vSphere技术比较

    此次将Citrix XenServer7.1和VMware ESXi 6.5从技术角度进行比较,并从企业角度对企业关心的项进行比较.主要包含市场地位.服务器虚拟化底层稳定性.管理架构.兼容性上进行分析 ...

最新文章

  1. BS-GX-017基于SSM实现的在线考试管理系统
  2. mysql+rownumber的用法_mysql中如何实现row_number
  3. Docker 环境下部署 redash
  4. 第5章 Python 数字图像处理(DIP) - 图像复原与重建14 - 逆滤波
  5. 1087 有多少不同的值 (20 分)
  6. c++ 三维数组 初始化_013 JAVA 多维数组及数组的拷贝、冒泡排序、二分法查找...
  7. ajax显示dataframe,如何使用ajax在运行时显示shell脚本的输出
  8. 【ArcGIS|空间分析】焦点统计 (类型)
  9. Linux 开源 ssh 工具,【原创开源】jssh linux scp ssh 免密登录工具
  10. unity3d Crease效果分析
  11. ArcGIS建立拓扑并检查修改
  12. MongoDB官网下载和安装(ZIP安装)
  13. Macbook air 键盘失灵的解决方案
  14. android打开word
  15. JavaScript树形下拉框
  16. 编程入门篇之零基础入门(通用)
  17. 仿真软件算法(MOM/FDTD/FEM/BEM/FDID)
  18. 前端笔记 (持续更新~)
  19. 平时用来调试的日记打印源码
  20. kubeadm安装Kubernetes-1.6.1集群

热门文章

  1. 计算机应用 退修后正刊录用,计算机应用退修,全是格式问题,能正刊录用吗??...
  2. golang关于闭包
  3. 基于P2P万信金融-- 万信金融项目之业务大总结(文末附代码地址)
  4. 我的驾驶证被扣30分,两个3分,4个6分,我应该怎么处理呢?
  5. python123 括号配对检测
  6. 安装mysql tomat jdk
  7. pscp上传文件至服务器
  8. Java 入门 之 无法解析包
  9. 从一位阿里 P9 的年薪和资产聊起!
  10. Bentley-Ottmann算法:求N条线段的交点