ArcMap将Python写的代码转为工具箱与自定义工具
本文介绍在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写的代码转为工具箱与自定义工具的更多相关文章
- 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 ...
- python的__slots__节约内存的魔法;检查python每一行代码内存占用情况的工具
在Python中,每个类都有实例属性.默认情况下Python用一个字典来保存一个对象的实例属性.这非常有用,因为它允许我们在运行时去设置任意的新属性. 然而,对于有着已知属性的小类来说,它可能是个瓶颈 ...
- 用Python写一个将Python2代码转换成Python3代码的批处理工具
之前写过一篇如何在windows操作系统上给.py文件添加一个快速处理的右键功能的文章:<一键将Python2代码自动转化为Python3>,作用就是为了将Python2的文件升级转换成P ...
- 使用Python来写mock代码(桩代码)-其实很简单
1.Mock基本用法 使用Mock能创建你能访问(模拟)的属性和方法 指定类或者函数的返回值和断言方式 创建handle_mock_01.py文件 # 1. 导入mock模块 from unittes ...
- 只写Python一遍代码,就可以同时生成安卓及IOS的APP,真优秀
前言: 用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择 我们使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写 ...
- python写文件时,使用代码强制刷新文件
一.实验环境 1.Windows10x64 2.anaconda4.6.9 + python3.7.1(anaconda集成,不需单独安装) 3.pyinstaller3.5 二.任务需求 三.问题描 ...
- 推荐一款最强Python自动化神器!不用写一行代码!
搞过自动化测试的小伙伴,相信都知道,在Web自动化测试中,有一款自动化测试神器工具: selenium.结合标准的WebDriver API来编写Python自动化脚本,可以实现解放双手,让脚本代替人 ...
- python为什么是高级语言和解释型编程语言?它是如何粘合其它语言写的代码的?
学习python之初,不知道大家对于python有没有疑惑,应当是有的.这里我整理出来了自己的一些疑惑,供大家参考. 为什么python是高级程序设计语言 Java,C,C++这些语言是高级语言, ...
- python 写代码笔记 2017.6.15
其实并不是越复杂的代码越好,简单高效才是好. 关键是思路和逻辑,还有多看别人写的代码. 学习到了:)
- 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到.但是,如果我想, ...
随机推荐
- Mysql学习:2、mysql基本命令
1.下载安装好的mysql分为两种数据库: a.系统自带: b.用户自己创建: 2.基本命令: create database 数据库名称; // 创建数据库:记住后面加 分号 drop databa ...
- leetcode 875. 爱吃香蕉的珂珂
珂珂喜欢吃香蕉.这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 h 小时后回来. 珂珂可以决定她吃香蕉的速度 k (单位:根/小时).每个小时,她将会选择一堆香蕉, ...
- Flutter Web预览时白屏解决方法
原因是因为运行 flutter run 是自动选择渲染器 桌面端WEB浏览器默认使用 CanvasKit渲染器 移动端WEB浏览器默认使用 HTML渲染器 问题就出在了CanvasKit渲染器,他 ...
- 数论之GCD+LCM+扩展欧几里得
最大公约数GCD 整数a和b的最大公约数记为gcd(a,b) <1 经典的欧几里得算法,辗转相除法 int gcd(int a, int b){ return b == 0 ? a : gcd( ...
- C的基础常识
C是可移植性语言,因此可以在许多环境中使用,包括UNIX.Linux.MS-DOS.Windows和Macintosh OS. 使用C语言编写的内容的文本,称为源代码文件(source code fi ...
- 关于js数组方法forEach()
1.forEach()是什么? forEach()是一种数组遍历方法. 在js最基础的遍历数组方法可能是这样的 点击查看代码 var myArr = [1, 2, 3] for(var i = 0; ...
- Spring Boot中开启Spring Security
Spring Boot中开启Spring Security Spring Security是一款基于Spring的安全框架,主要包含认证和授权两大安全模块,和另外一款流行的安全框架Apache Shi ...
- idea 改变片段内相同变量的快捷键
在 win系统中 shift+F6 在 ios系统中Fn+shift+F6
- adb shell input keyevent 控制按键输入的数值
数值xx如下 KEYCODE_CALL 进入拨号盘 5KEYCODE_ENDCALL 挂机键 6KEYCODE_HOME 按键Home 3KEYCODE_MENU 菜单键 82KEYCODE_BACK ...
- md文件使用说明
md文件简单使用介绍 二级标题 三级标题 斜体文本 粗体文本 粗斜体文本 分隔线 删除号 带下划线 创建脚注格式类似这样 [1]. #include <iostream> using na ...