ESRI作为GIS行业中的龙头,代表产品ArcGIS也在不断地优化和升级,从10.0开始已发布了8个版本,其工具箱(ToolBox)是它一个特色,每个版本的工具箱数量是不相同的,为源地理来教您如何统计工具箱和工具个数和名称。

工具介绍

使用统计工具数量工具,可统计ArcMap中默认的工具箱和工具个数。工具界面如下:

如果不设置路径,仅输出日志。

如果设置输出文件路径,则可输出当前版本的工具箱和工具全部名称。

程序源码

统计工具数量工具的完整代码如下:

# -- coding:cp936 --
# ---------------------------------------------------------------------------
# 名称:PrintToolCount
# 功能:统计ArcMap中默认的工具箱和工具个数。
# 作者:为源地理
# 日期:2023.1.5
# 支持:wygis2022 1811335143
# 说明:同一软件版本,如果安装了其他扩展模块,统计的结果可能不同。
# --------------------------------------------------------------------------- from imp import reload
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import codecs
import csv
import arcpy try:
# 参数1:输出CSV文件
csv_file = arcpy.GetParameterAsText(0) f = None
if len(csv_file) != 0:
f = codecs.open(csv_file, 'w','utf_8_sig')
csv_writer=csv.writer(f) # 写入标题行
title=['工具箱名称','工具箱简称','工具名称']
csv_writer.writerow(title) # 获取当前版本
version= u"当前版本"
infos = arcpy.GetInstallInfo()
for key,value in infos.items():
if key=="Version":
version= u"ArcMap{}".format(value) # 工具箱和工具数量统计
toolboxes = arcpy.ListToolboxes()
tools = arcpy.ListTools()
arcpy.AddMessage(u"=========================")
arcpy.AddMessage(u"{}共有{}个工具箱、{}工具。".format(version,len(toolboxes),len(tools)))
arcpy.AddMessage(u"=========================") # 工具箱数量统计
toolbox_dic={}
arcpy.AddMessage(u"工具箱:")
for toolbox in toolboxes:
first=toolbox.index("(")
last = toolbox.index(")")
toolboxName=toolbox[0:first]
toolboxAlias=toolbox[first+1:last]
toolbox_dic[toolboxAlias] =toolboxName
arcpy.AddMessage(u"工具箱:{0},别名:{1}".format(toolboxName,toolboxAlias)) # 工具数量统计
arcpy.AddMessage(u"工具:")
for tool in tools:
first=tool.index("_")
toolName=tool[0:first]
toolAlias=tool[first+1:]
if toolAlias in toolbox_dic:
arcpy.AddMessage(u"{}:{}".format(toolbox_dic[toolAlias],toolName))
if len(csv_file) != 0:
result=[toolbox_dic[toolAlias],toolAlias,toolName]
csv_writer.writerow(result)
else:
arcpy.AddMessage(u"未知工具箱:{}".format(toolName))
if len(csv_file) != 0:
result=[u"未知工具箱","",toolName]
csv_writer.writerow(result)
except arcpy.ExecuteError:
arcpy.AddError(arcpy.GetMessages(2))
except:
e = sys.exc_info()[1]
arcpy.AddError(e.args[0])

版本选择

不同的人对版本需求和认识不同,下面仅代表我个人的观点:

  • 9.3:非常稳定,经典,英文版,有中文补丁,但淘汰;
  • 10.0:第一个中文版,最不稳定;
  • 10.2.2:功能全面,性能稳定,比较普遍之一;
  • 10.4:不太稳定。
  • 10.8:最后一个版本,不再有ArcMap10.9,解决了高分辨率屏显示、标注窗口卡顿问题;
  • Pro:全新的64位架构,话说会取代Desktop,但这个时间可能会有点久。就像CAD都出2023了,还是有人在使用CAD 2007.

如果项目使用推荐:10.2.2 > 10.8 > 10.1

如果学生使用推荐:10.8 、 Pro

ArcGIS工具 - 统计工具数量的更多相关文章

  1. python提效小工具-统计xmind用例数量

    问题:做测试的朋友们经常会用到xmind这个工具来梳理测试点或写测试用例,但是xmind8没有自带的统计测试用例,其他版本的xmind有些自带节点数量统计功能,但也也不会累计最终的数量,导致统计测试工 ...

  2. ArcGIS空间分析工具

    1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添 ...

  3. APP store 官方统计工具的常见的Q&A

    Apple最近在iTunesConnect里最新发布了官方统计工具,提供了现有友盟统计平台和自有统计平台无法统计的数据,具有自己的独有特点,尤其是下面几个最让人头疼的流量分析转化,可以在App Ana ...

  4. svn代码统计工具的金额

    StatSVN介绍 StatSVN是Java写开源统计程序,从statCVS从移植.从能Subversion版本号来获取信息库,该项目开发的叙述性说明,然后生成各种表格和图表.例:时间线.针对每一个开 ...

  5. 一站式学习Wireshark(七):Statistics统计工具功能详解与应用

    Wireshark一个强大的功能在于它的统计工具.使用Wireshark的时候,我们有各种类型的工具可供选择,从简单的如显示终端节点和会话到复杂的如Flow和IO图表.本文将介绍基本网络统计工具.包括 ...

  6. arcgis python脚本工具实例教程—栅格范围提取至多边形要素类

    arcgis python脚本工具实例教程-栅格范围提取至多边形要素类 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 功能:提取栅格数据的范围, ...

  7. git图形化统计工具 - windows下gitstats的安装和使用

    gitstats 是一款git历史统计工具,可以生成定量的统计数据,并以html图表的形式展示.统计文件包括文件数量.代码量.提交量.作者信息.每天活跃度.每周活跃度.每月活跃度以及提交数排名等等,信 ...

  8. HotApp小程序统计,第一个专业的微信第三方小程序统计工具

    1.什么是HotApp小程序统计 HotApp小程序统计是第一个微信第三方小程序统计工具,就像做android 和 ios开发的人知道友盟统计一样,小程序也需要有个统计工具. 通过这个工具,可以知道小 ...

  9. AutoCAD 2007-2012 长度统计工具

    长度统计工具 下载 1 解压到磁盘 2 CAD 中输入命令 netload 3 选择文件 "CADLittleProgram.dll" 4 点击 Ps:后续会打包并支持2013-2 ...

  10. iOS开发工具篇-AppStore统计工具 (转载)

    随着iOS开发的流行,针对iOS开发涉及的方方面面,早有一些公司提供了专门的解决方案或工具.这些解决方案或工具包括:用户行为统计工具(友盟,Flurry,Google Analytics等), App ...

随机推荐

  1. 虚拟化_Xen——敬请期待!

    更改Workstation兼容性为12.x,选择系统版本为RHEL6-64位,安装XenServer7.6成功!

  2. Vue学习之--------Vue生命周期beforeCreate、created、beforeMount、mounted、beforeDestroy 。。。(图解详细过程)(2022/7/17)

    文章目录 1.Vue生命周期 1.1 概念 1.2 图解 2.钩子函数的用法说明 2.1 beforeCreate()和created()的详细讲述 2.1.1 方法说明 2.1.2 代码实例 2.1 ...

  3. NLP之TextLSTM(预测单词下一个字母)

    LSTM 目录 LSTM 1.理论 1.1 LSTM与RNN 1.1.1 RNN的缺点 1.1.2 LSTM 1.2 LSTM基本结构 2.实验 2.1 实验步骤 2.2 算法模型 1.理论 1.1 ...

  4. Codeforces Round #828 (Div. 3) A-F

    比赛链接 A 题解 知识点:贪心,模拟. 遇到没用过的数字就给个字母,遇到用过的数字就对照字母是否一致. 时间复杂度 \(O(n)\) 空间复杂度 \(O(n)\) 代码 #include <b ...

  5. pta第一次博客

    目录 pta第一次博客 1.前言 2.设计与分析 第二次作业第二题 第三次作业第一题 第三次作业第二题 第三次作业第三题 3.踩坑心得: 4.改进建议 5.总结 pta第一次博客 1.前言 这三次pt ...

  6. day05-JavaScript02

    JavaScript02 8.JavaScript函数 JavaScript函数介绍 函数是由事件驱动的,或者当它被调用时,执行的可重复使用的代码 例子 <!DOCTYPE html> & ...

  7. Mybatis-Plus多表联查

    表格结构: CREATE TABLE `ssmpdemo`.`person_test` ( `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_gener ...

  8. 20_Vue如何监测数组类型数据发生改变的?

    通过上一节,我们知道了vue检测对象数据发生改变的原理 但是还有个api我们没有讲解,Vue.set(): 这个API比较适合在理解了对象检测的原理后进行讲解 案例准备 html <!-- 创建 ...

  9. Agda学习笔记1

    目录 Agda学习笔记1 快捷键 refl Natural Number 自然数集合 operations rewrite cong 加法结合律 加法交换律 乘法分配律 比较大小 衍生的一些证明 be ...

  10. Oracle pfile与spfile文件参数(转载)

    一.pfile与spfile Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...