以开发图形面积提示工具为例,分享如何利用Python创建自己的ARCGIS自定义插件工具(含源码)

目录

一、利用ARCGIS Python 插件助手创建所需插件框架

1、运行Python 插件助手程序

 2、创建项目文件夹

 3、添加工具条插件作为容器

4、添加各功能按钮

 二、项目文件介绍

1、Images文件夹

2、Install文件夹

3、config 文件

4、makeaddin文件

 三、功能实现代码

 四、在Arcmap中配置已安装插件

1、工具条插件的配置

 2、按钮插件的配置

 五、成果展示

1、所选图层内面要素总矢量面积

2、所选图层内面要素总净面积

3、所选范围内面要素总矢量面积

4、所选范围内面要素总净面积 


ARCGIS插件即加载项(addin)是一种方便对ARCGIS进行二次开发的自定义项,它可以插入到 ArcGIS Desktop 应用程序(即 ArcMap、ArcCatalog、ArcGlobe 和 ArcScene)中,以提供对ARCGIS功能的扩展。

ArcGIS 10.1 之后ESRI公司将 Python 引入到创作Desktop加载项的语言列表中,为用户提供了一种简单地扩展 Desktop功能的解决方案。博主将以开发图形面积提示工具(涵盖工具条、组合框、按钮、工具按钮4种常用插件开发形式)为例,分享如何利用Python编程创建自己的ARCGIS自定义插件工具。要进行Python插件的开发,首先需要下载并使用Python addin_assistant工具(本站内有大量相关资源,用户可自行搜索下载)来创建插件工具框架。

一、利用ARCGIS Python 插件助手创建所需插件框架

1、运行Python 插件助手程序

addin_assistant工具是免安装的,下载好后先创建一个空的项目文件夹(软件硬性要求),名称最好不要出现中文,避免后续出现按钮图标文件路径无法识别的错误。文件夹建好后直接点击下图所示应用程序直接运行Pyhton插件助手工具。

 2、创建项目文件夹

 根据程序的向导,选择文件位置为刚才创建的空项目文件夹,然后进行项目名称、项目描述、插件图标等属性设置。

 3、添加工具条插件作为容器

点击 Add-In Contents,在这里我们可以选择我们的插件类型,本案例是要开发一个工具条,里面的工具可以快速得到所选图层内面要素的矢量面积或净面积(争对耕地而言,对于国土相关从业者来说,是个非常实用的功能)。所以我们先要创建一个工具条作为容器,来储存我们需要的工具按钮。鼠标右键TOOLBARS,新建一个工具条,并设置好工具描述等相关属性。

4、添加各功能按钮

根据想要实现的功能,依次鼠标右键单击新建的工具条,向其内添加我们需要的工具类型。

按照之前的构想,博主依次添加了Combo Box(组合框,用于存放地图中已有的面要素图层名,供用户选择);

botton1(按钮1,点击按钮得到所选图层内面要素的矢量面积之和);

Tool1(工具按钮1,点击按钮,可在地图界面绘制一条范围线,双击鼠标后自动闭合该范围线得到所选图层内面要素与所绘范围交集内的矢量面积之和,并生成一个新的图层,存放此部分矢量);

botton2(按钮2,点击按钮得到所选图层内面要素的净面积之和,必须要有KCXS字段);

Tool2(工具按钮2,点击按钮,可在地图界面绘制一条范围线,双击鼠标后自动闭合该范围线得到所选图层内面要素与所绘范围交集内的净面积之和,并生成一个新的图层,存放此部分矢量,必须要有KCXS字段)。

按钮和工具按钮的区别在于,按钮只能实现点击功能,而工具按钮在点击之后,可以进行鼠标或键盘的下一步操作,根据不同操作结果,我们可以编写代码,得到想要实现的功能(这点在后面的代码中可以看到明显的分别)。

工具添加完成后,依次设置好每个工具的属性 ,点击右下方的保存按钮,即可完成插件的配置工作。

 二、项目文件介绍

利用插件助手配置好插件框架后,会在选择的项目文件夹中生成如下结构的文件:

1、Images文件夹

 Images文件夹用于存储之前我们选择的工具条内各按钮的图标图片文件。

2、Install文件夹

Install文件夹则存放着我们这个项目的核心文件,即实现插件各功能的Python代码文件。

3、config 文件

config.xml文件࿰

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

装疯迷窍_A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值