首页 > 编程语言 >ArcMap将Python写的代码转为工具箱与自定义工具

ArcMap将Python写的代码转为工具箱与自定义工具

时间:2023-03-23 15:56:17浏览次数:51  
标签:自定义 Python ArcMap 右键 参数 工具箱 工具

  本文介绍在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

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

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

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

  至此,大功告成。

标签:自定义,Python,ArcMap,右键,参数,工具箱,工具
From: https://www.cnblogs.com/fkxxgis/p/17247743.html

相关文章

  • 20 个非常有用的 Python 单行代码!
    1一行For循环for循环是一个多行语句,但是在Python中,我们可以使用列表推导式方法在一行中编写for循环。以过滤小于250的值为例,查看下面的代码示例。#For循环在一行......
  • python 接口加密
    #-*-coding:utf-8-*-"""@author:Mr_zhang@software:PyCharm@file:encryption.py@time:2023/3/2310:00"""importjsonimporttimeimportbase64from......
  • 10 种聚类算法的完整 Python 操作示例
    一.聚类聚类分析,即聚类,是一项无监督的机器学习任务。它包括自动发现数据中的自然分组。与监督学习(类似预测建模)不同,聚类算法只解释输入数据,并在特征空间中找到自然组或群......
  • 如何自定义 elementui 的前缀
    1、安装插件:postcss-change-css-prefix2、在根目录下创建postcss.config.js文件,并写入如下内容:constaddCssPrefix=require('postcss-change-css-prefix')module.e......
  • python 协程
    1.协程定义不开辟新的线程的基础上,实现多个任务,是个特殊的生成器。一秒钟能切换上百次。2.原始版协程importtime#1.work1生成器defwork1():whileTrue:......
  • Python multiprocessing 多进程
    进程:process线程:threadPython多进程和多线程哪个快由于GIL的存在,很多人认为Python多进程编程更快,针对多核CPU,理论上来说也是采用多进程更能有效利用资源。但这不是......
  • SICP:求值和环境模型(Python实现)
    绪论我们在第一章引进复合过程时,采用了求值的代换模型定义了将过程应用于实参(arguments)的意义:将一个复合过程应用于一些实参,也就意味着用实参替换过程体里对应的形参(for......
  • Python实践(1):使用爬虫将小说保存为txt文件
    本文将介绍如何利用Python编写爬虫程序将想看的小说以txt格式保存到电脑上涉及的知识:爬虫,html,正则表达式本文将以《安娜·卡列尼娜》小说在线阅读_列夫·托尔斯泰(sb......
  • chatgpt写程序-python小游戏-2048-pygame
    闲的没事,用chatpgt弄了个小游戏,2048,利用pygame实现,无额外贴图。只需要告诉他写个python游戏2048,只用pygame实现,不要额外贴图。然后在他暂停后说请继续,最后会有一些bug,把报......
  • Python中的重试机制
    ====引用自https://www.jb51.net/article/254886.htm(一文详解Python中的重试机制)这里要给大家介绍的是一个第三方库-Tenacity(标题中的重试机制并并不准确,它不是Python......