本文介绍在ArcMap软件中,通过已有的Python脚本程序,建立新的工具箱并在其中设置自定义工具的方法。

  通过本文介绍的操作,我们便可以实现将自己的Python代码封装,并像其他ArcGIS已有工具一样,进行界面化的地理处理操作。

  话不多说,我们开始具体操作。首先,在ArcMap中打开“ArcToolbox”。

  接下来,在弹出的窗口中空白处右键,选择“Add Toolbox”。

  在弹出的窗口中,选择右上角的“New Toolbox”,即可在下方列表中看到刚刚新建立的、以.tbx为后缀的工具箱。我这里不小心点了两次“New Toolbox”,所以下方列表出现了两个新的工具箱。

  此时,在“ArcToolbox”中也可以看到自己刚刚建立的工具箱。

  在“ArcToolbox”中,右键刚刚建立的工具箱,选择“Rename”,即可对其加以重命名。

  重命名完毕后,同样右键该工具箱,选择“Properties”,可以对其更多属性信息加以调整。

  同时,在这里还可以修改该工具箱的别名与描述文本。

  上述描述文本主要填写对这一工具箱的介绍即可。配置完毕描述文本后,我们在工具箱右键,并选择“Item Description”。

  即可在其中看到我们刚刚配置的描述文本。

  接下来,我们开始将已有的Python代码脚本导入工具箱,从而将其作为一个自定义工具。

  在工具箱上右键,选择“Add”→“Script”。

  在弹出的窗口中配置该脚本成为工具箱里的一个自定义工具后,该工具的名称、标记、描述信息等。

  在这里需要注意,脚本所对应的工具名称不能含有空格或下划线;我上图所示的工具名称就带了下划线,需要修改。

  修改后,找到对应的Python程序脚本文件,并将其导入。

  导入完毕后,开始按照脚本文件中变量的数量、要求等进行工具参数的设置。

  其中,可以在“Default”中配置某一参数的默认数值;在“Filter”中设置某一参数在导入时的过滤方法。

  例如,假如某个参数是文件类型,那么就可以在“Filter”中通过文件后缀名来对这一参数加以限制。我们以.xls格式的文件为例,在其中输入该格式的后缀名。

  点击确定后,打开刚刚建立的这一自定义工具。

  点击这一参数所对应的项。

  可以看到,这里就仅支持选择.xls格式的文件。

  如果相对多种文件格式加以约束,可以用英文分号分隔,在文件格式过滤栏中输入多个文件后缀名,例如xls;xlsx

  可以看到,此时就可以对上述两种文件格式加以选择了。

  此外,还可以对不同参数“是否为必填项”这一属性加以修改。比如我们将第一个参数修改为非必填,且设置一个默认选项。

  打开自定义工具,可以看到这一参数不带有绿色的“必填”标识,且具有一个默认值。

  至此,大功告成。

ArcMap将Python写的代码转为工具箱与自定义工具的更多相关文章

  1. python 写的http后台弱口令爆破工具

    今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  2. python的__slots__节约内存的魔法;检查python每一行代码内存占用情况的工具

    在Python中,每个类都有实例属性.默认情况下Python用一个字典来保存一个对象的实例属性.这非常有用,因为它允许我们在运行时去设置任意的新属性. 然而,对于有着已知属性的小类来说,它可能是个瓶颈 ...

  3. 用Python写一个将Python2代码转换成Python3代码的批处理工具

    之前写过一篇如何在windows操作系统上给.py文件添加一个快速处理的右键功能的文章:<一键将Python2代码自动转化为Python3>,作用就是为了将Python2的文件升级转换成P ...

  4. 使用Python来写mock代码(桩代码)-其实很简单

    1.Mock基本用法 使用Mock能创建你能访问(模拟)的属性和方法 指定类或者函数的返回值和断言方式 创建handle_mock_01.py文件 # 1. 导入mock模块 from unittes ...

  5. 只写Python一遍代码,就可以同时生成安卓及IOS的APP,真优秀

    前言: 用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择 我们使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写 ...

  6. python写文件时,使用代码强制刷新文件

    一.实验环境 1.Windows10x64 2.anaconda4.6.9 + python3.7.1(anaconda集成,不需单独安装) 3.pyinstaller3.5 二.任务需求 三.问题描 ...

  7. 推荐一款最强Python自动化神器!不用写一行代码!

    搞过自动化测试的小伙伴,相信都知道,在Web自动化测试中,有一款自动化测试神器工具: selenium.结合标准的WebDriver API来编写Python自动化脚本,可以实现解放双手,让脚本代替人 ...

  8. python为什么是高级语言和解释型编程语言?它是如何粘合其它语言写的代码的?

    学习python之初,不知道大家对于python有没有疑惑,应当是有的.这里我整理出来了自己的一些疑惑,供大家参考. 为什么python是高级程序设计语言 ​ Java,C,C++这些语言是高级语言, ...

  9. python 写代码笔记 2017.6.15

    其实并不是越复杂的代码越好,简单高效才是好. 关键是思路和逻辑,还有多看别人写的代码. 学习到了:)

  10. 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)

    昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到.但是,如果我想, ...

随机推荐

  1. 2022-07-09 第一小组 张明旭 前端HTML学习记录

    今天是正式学习的第一天,第一次接触前端内容,蒙了一圈又一圈,老师讲课速度是1000圈/s!!!!!!(插一句老师的打字和打代码速度起飞!) 好在有视频回放而且跟了笔记,能复习n遍.加油!!! 主要学习 ...

  2. 批处理执行指定文件jar包并输出日志

    jar包运行,每次都要手动执行命令.这么机械的操作当然要由脚本来完成. @echo off rem 按当天日期输出日志 set today=%date:~0,4%-%date:~5,2%-%date: ...

  3. PHP Redis - Hash (哈希)

    Redis hash 是一个string类型的field和value的映射表,特别适合用于存储对象. Redis 中每个 hash 可以存储  232-1(4294967295) 键值对 赋值(hse ...

  4. js处理树形数组扁平化

        // 树形数组扁平化 const extractTree = (data: TagsParams[]) => { if (!data.length) return []; const l ...

  5. 关于js数组方法filter()

    1. filter() 都是数组方法,这个方法和forEach()的方法的区别又是什么呢? 2. 先说结论 filter() 和 forEach() 都是遍历数组的方法,甚至它们匿名函数的形参都是一样 ...

  6. 【随笔】Tomcat部署图片服务器Server.xml配置记录

    在tomcat应用conf/server.xml文件的标签中添加下面内容: <Service name="imageService"> <!--分配8089端口 ...

  7. MySQL日期date型和int型互换的方法

    一.date型换int型 SELECT UNIX_TIMESTAMP('2017-9-22 13:54:45') 二.int型转date型 SELECT FROM_UNIXTIME(150605968 ...

  8. CSS3之动画三大特性

    一 过渡模块 1 基本使用 1,过渡三要素1.1必须要有属性发生变化1.2必须告诉系统哪个属性需要执行过渡效果1.3必须告诉系统过渡效果持续时长 2.注意点当多个属性需要同时执行过渡效果时用逗号隔开即 ...

  9. A better jump —— 优化游戏中的跳跃

    之前一提起角色的跳跃,想当然的想法就是:给角色一个向上的初速,然后由Unity的物理系统接管就好了嘛,这样忽略空气摩擦的影响,根据重力加速度,角色向上跳到最高点的时间和由最高点落下的时间相等,不是很合 ...

  10. mysql5.7_win64位安装

    1.下载MySQL压缩包解压缩 2.更改my.ini配置文件 [mysqld] #设置3306端口号 port=3306 #设置MySQL的安装目录 basedir=F:\\JavaSoftware\ ...