创建一个简单的arcgis python-addin插件

什么是Python 加载项(python -addin)

Python 加载项:
加载项是一种自定义项(例如工具栏上的工具集合),它可以插入到 ArcGIS Desktop 应用程序(即 ArcMap、ArcCatalog、ArcGlobe 和 ArcScene)中,以提供用于完成自定义任务的补充功能。
ArcGIS 10 引入了一种富有革新性的 Desktop 加载项模式,使自定义和扩展 ArcGIS Desktop 应用程序变得更加容易。新的加载项模型为您提供了基于声明的框架,以便创建便于打包成文件扩展名为 .esriaddin 的单个压缩文件的自定义内容集合。
在 ArcGIS 10 中,可使用 .NET 或 Java 以及可扩展标记语言 (XML) 来编写加载项。XML 用于描述自定义内容,而 .NET 或 Java 类用于提供自定义行为。ArcObjects 软件开发工具包 (SDK) 中包含加载项向导,该向导已与开发环境(例如,Eclipse、Microsoft Visual Studio 以及免费提供的 free Express Editions)集成在一起以简化开发过程。
ArcGIS 10.1 将 Python 引入到创作 Desktop 加载项的语言列表中,为用户提供了一种简单地扩展 desktop 功能的解决方案。要简化 Python 加载项的开发,必须下载并使用 Python 加载项向导 来声明自定义的类型。该向导将生成加载项正常工作所必需的所有文件。点击此处下载 Python 加载项向导

点击
在这里插入图片描述
弹出加载项界面:
在这里插入图片描述
可以进入并输入插件的一些信息,如插件的名称、版本、公司、描述、作者及这个插件的图标等,这些都将写入插件的配置文件中。
以下是项目设置选项卡上显示的各个设置的描述:

在这里插入图片描述

创建加载项工具条:

工具条是按钮、工具、组合框、工具选项板和菜单的容器。工具条可浮动或停靠在桌面应用程序中,就像 Esri 提供的任何系统工具条一样。还可以激活工具条,以便在桌面应用程序启动时显示这些工具条。
本主题将指导您完成使用“Python 加载项向导”创建新工具条这一过程。开始此工作流之前,请确保已创建 ArcMap 加载项项目并已指定项目设置。有关详细信息,请参阅创建加载项项目。此工作流说明了如何为 ArcMap 创建工具条;为 ArcGIS Desktop 任何应用程序创建菜单时所采用的工作流与此并无差异。
在这里插入图片描述

创建加载项组合框

组合框包含可编辑字段和下拉列表。用户可从根据其请求而显示的下拉列表中选择值。如果要使组合框可供编辑,则组合框应包含可编辑的字段,供用户在其中输入值。ArcMap 中的比例组合框是一个典型的组合框示例。将坐标系已知的数据添加到 ArcMap 时,启用比例组合框可提供一组预定义比例供您选择。它还允许用户输入选项列表中未提供的所需比例,地图将根据添加的值显示。
本主题将指导您完成使用 Python 加载项向导 在新工具条上创建组合框的过程。开始此工作流之前,请确保已创建 ArcMap 加载项项目并指定项目设置。有关详细信息,请参阅创建加载项项目。此工作流介绍的是如何为 ArcMap 创建组合框,但您也可以使用此过程将组合框添加到任何 ArcGIS Desktop 应用程序。本主题可检查通过内容列表来创建具有图层列表的组合框的过程。通过选择图层将会创建覆盖图层全图范围的渔网。之后会更详细地检查通过加载项向导创建的 Python 类,以探讨为组合框提供功能的属性和方法。
创建加载项组合框包含以下几步:

创建工具条。

输入所需项目设置后,单击加载项内容选项卡开始声明加载项自定义内容。组合框可位于工具条上,但无法出现在菜单上。有关创建工具条的步骤,请参阅创建加载项工具条。

创建组合框。

输入工具条属性后,即可创建新组合框。右键单击新工具条,然后从快捷菜单中选择新建组合框。
在这里插入图片描述

创建 Python 加载项按钮:

按钮是一种最简单的自定义形式,单击按钮后可以执行一些业务逻辑。
本主题将指导您完成使用 Python 加载项向导在新工具条上创建按钮这一过程。开始此工作流之前,请确保已创建 ArcMap 加载项项目并指定项目设置。有关详细信息,请参阅创建加载项项目。此工作流介绍的是如何为 ArcMap 创建按钮,但您也可以使用此过程将按钮添加到任何 ArcGIS Desktop 应用程序。本主题详细介绍了“缩放至所选要素”这一简单按钮的创建过程。之后会更详细地介绍通过向导创建的 Python 类,以探讨为按钮提供功能的属性和方法。
创建加载项按钮包含以下几步:
创建工具条或菜单

输入所需项目设置后,单击加载项内容选项卡开始声明加载项自定义内容。按钮可以位于工具条上或菜单上。本例中,将创建一个新的工具条作为按钮的容器。有关创建自己的工具条的步骤,请参阅创建加载项工具条。

创建按钮

输入工具条属性后,即可创建新按钮。右键单击名为“工具条”的新工具条并选择新建按钮。
在这里插入图片描述
创建 Python 加载项工具:
工具与按钮非常相似。但工具需要用户先与桌面应用程序的显示画面进行交互,然后再根据交互执行某些业务逻辑。ArcMap 中的放大工具 便是一个典型示例,该工具要求用户先在地图上单击或拖出一个矩形,然后才重绘显示画面,进而更详细地显示指定区域的地图内容。
本主题将指导您完成使用 Python 加载项向导在新工具条上创建工具这一过程。开始此工作流之前,请确保已创建 ArcMap 加载项项目并指定项目设置。有关详细信息,请参阅创建加载项项目。此工作流介绍的是如何为 ArcMap 创建工具,但您也可以使用此过程将工具添加到任何 ArcGIS Desktop 应用程序。本主题详细介绍了“创建渔网”这一简单工具的创建过程。之后会更详细地介绍通过加载项向导创建的 Python 类,以探讨为工具提供功能的属性和方法。
创建加载项工具包含以下几步:
创建工具条。

单击加载项内容选项卡开始声明加载项自定义内容。工具可以位于工具条上,但不能位于菜单上。有关创建自己的工具条的步骤,请参阅创建加载项工具条。

创建工具。

右键单击新工具条,然后选择新建工具。
在这里插入图片描述

点击保存。

python加载项生成文件介绍

就可以生成对应文件

在这里插入图片描述
Python 加载项是扩展名为 .esriaddin 的单个压缩文件。它包含以下项目:
config.xml - 定义静态加载项属性(例如,作者、版本、标题、类别等)的可扩展标记语言 (XML) 文件。
资源文件 - 项目(例如图像),在某些情况下,还包括用于支持加载项的数据。
加载项作为单个压缩文件,通过将加载项文件复制到已知文件夹可轻松共享加载项并将其插入桌面应用程序中,而通过从此文件夹中删除加载项文件便可轻松移除加载项。
Images目录:存放界面元素的各种图片

在这里插入图片描述
Install目录:用于保存插件的源代码,里面一般会生成【mytools_addin.py】文件,如果重新设计界面,则会有一系列的文件,命名方式为在文件名后面加上123这些数字编号。一些初始化代码会写在该文件中,从文件中可以看到,已经创建好了这些界面元素的一些配置和事件,后续工作只需要对该文件补充实现代码即可。
在这里插入图片描述
脚本上右键:edit with IDLE弹出,即可开始编写代码:
在这里插入图片描述
注:所有的代码都是这里面完成的。

makeaddin.py : 插件生成的运行脚本,运行这个脚本会编译插件,并在该工程目录下生成最终可以安装的插件。由于该文件也是个python脚本,是明码编写的,也可以用文本打开查看,但不要修改其代码,因为后面我们还需要用python环境运行它。

在这里插入图片描述

编写:install脚本
在这里插入图片描述
在这里插入图片描述

缩放到图层ZoomtoSelectedFeatures的button按钮

在这里插入图片描述
代码编写完成。

安装和运行python加载项

开始运行makeaddin.py运行后出现下图ComboBox.esriaddin
在这里插入图片描述
双击ComboBox.esriaddin这个插件弹出下图,然后点击instal addin即可:

在这里插入图片描述
Arcmap插件使用介绍:
那么我们打开arcmap查看对应的插件:放到菜单上右键:
在这里插入图片描述
在这里插入图片描述
运行创建渔网工具:
在这里插入图片描述
查看combox渔网列表:
在这里插入图片描述
在这里插入图片描述
缩放到图层,运行前:
在这里插入图片描述
运行后

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40625478/article/details/106356346
今日推荐