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)到.但是,如果我想, ...
随机推荐
- 多线程—ThreadLocal
一.ThreadLocal的含义 线程的变量副本(就像命名一样),每个线程隔离. 二.ThreadLocal的结构 每个Thread都有自己的ThreadLocalMap,ThreadLocalMap ...
- Linux 使用Bind提供域名解析服务
DNS域名解析服务 相较于由数字构成的IP地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源.但是,网络中的计算机之间只能基于IP地址来相互识别对方的身份,而且要想在互联 ...
- vue + antV G6 实现流程图完整代码 (antv G6 流程图)
效果如下: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- WKWebView与JS的交互
转载:https://www.jianshu.com/p/253e76a74b38 用普通的UIWebView和JS交互 大概核心代码是这样的 - (void)setupWebView{ self.w ...
- C# byte[]与string的相互转换
byte[]转string: string str = System.Text.Encoding.Default.GetString( byteArray ); string转byte[]: byte ...
- Js-document操作
# 直接获取标签 document.getElementById('gundong') #获取id为gundong的元素 document.getElementsByClassName('qalist ...
- 第一个程序,Hello,World!
Hello World 创建一个文件夹,存放代码 新建一个java文件 后缀名为.java 编写代码 public class Hello{ public static void main(st ...
- vue中自动将px转换成rem
1.首先下载 lib-flexible npm install lib-flexible --save 2.在main.js中引用 lib-flexible 3.安装px2rem-loader(将px ...
- windows 切换路径
- JSP和servlet之间的相互传值
1.从一个jsp页面跳转到另一个jsp页面时的参数传递 (1)使用request对象获取客户端提交的信息 login.jsp页面代码如下: 点击查看代码 <%@ page language=&q ...