ArcGis如何通过Python进行插件开发?

文章目录

  • 0.引言
  • 1.准备Python加载项工具
  • 2.创建一个加载项工具
  • 3.编写代码
  • 4.生成安装文件
  • 5.安装和调出加载项
  • 6.使用加载项

0.引言

  ArcGIS 插件(Add-ins)可以让用户更加容易的自定义和扩展ArcGIS Desktop应用程序,它创建一系列自定义工具提供了一个公开的基础框架,打包压缩成了一个单独的文件。 Add-ins插件能够很方便的在用户之间共享,因为它们既不需要安装程序 ,也不需要组件模型(COM)注册。本文记录实现基于Python的Arcgis插件开发的流程。

1.准备Python加载项工具

  下载Python加载项向导。
  Python加载项向导下载链接: https://desktop.arcgis.com/zh-cn/arcmap/10.4/analyze/python-addins/creating-an-add-in-project.htm
  在这里插入图片描述

2.创建一个加载项工具

  (1)创建一个工作目录
  解压“Python加载项向导”后,在addin_assistant目录下创建一个名为“work2”的工作目录,用于存放插件工程文件。
  在这里插入图片描述

  (2)执行addin_assistant.exe,指定工作目录为work2
  在这里插入图片描述

  (3)项目基本信息设置
  在这里插入图片描述

  (4)插件内容设置
  ① 创建工作条
  在这里插入图片描述

  ②创建一个按钮
  在这里插入图片描述

  ③工作目录下文件说明
  在这里插入图片描述

3.编写代码

  打开Install目录下的work2_addin.py编写业务代码
  在这里插入图片描述

def onClick(self):#将选择的对象缩放到全图mxd =arcpy.mapping.MapDocument('current')  df =arcpy.mapping.ListDataFrames(mxd)[0]  df.zoomToSelectedFeatures()  

4.生成安装文件

  在Python环境运行makeaddin.py生成安装文件。
  在这里插入图片描述

  本文在Arcgis自带的Python工具下进行运行。
  在这里插入图片描述

  执行结果:
  在这里插入图片描述

5.安装和调出加载项

  ①双击work2.esriaddin进行安装加载项
  在这里插入图片描述

  ②调出加载项
  在这里插入图片描述

6.使用加载项

  在这里插入图片描述

参考资料:
[1] GIS哼哈哈.创建一个简单的arcgis python-addin插件; 2020-06-01 [accessed 2023-07-07].
[2] yycGIS.ArcGIS Desktop python Add-in 创建一个插件; 2014-04-02 [accessed 2023-07-07].
[3] ArcGIS官网.获取 Python 加载项向导; [accessed 2023-07-07].
[4] weixin_39995439.python in arcgis_ArcGIS Desktop python Add-in 创建一个插件; 2020-11-24 [accessed 2023-07-07].

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15955.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

simulink stateFlow流程图

基础 修改分支优先级 使用matlab workspace变量 例题 输出数组输入数组的平方 for循环 使用脚本的数值 实现数组索引

web安全php基础_php常量及可变变量(魔术变量)

常量 php中常量是一个简单值的标识符。该值在脚本中不能改变。 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。 常量有两点需要特别注意的地方 常量在整个脚本中都可以使用。常量值被定义后,在脚本的其他任何…

ELK实验部署过程

ELK集群部署环境准备 配置ELK日志分析系统 192.168.1.51 elk-node1 es、logstash、kibana 192.168.1.52 elk-node2 es、logstash 192.168.1.53 apache logstash (我这里是把虚拟机的配置全部都改为2核3G的) 2台linux 第1台:elk-nod…

【Vivado那些事儿】动态时钟的使用

时钟是每个 FPGA 设计的核心。如果我们正确地设计时钟架构、没有 CDC 问题并正确进行约束设计,就可以减少与工具斗争的时间。 但对于某些应用,我们希望能够更改某些IP中的时钟频率。其中一个例子是在图像处理管道中,输出分辨率可以动态变化&a…

PADS Layout中显示与布线标签页参数设置

1.“显示”标签页如图1 所示: 图1 显示标签页 显示标签页是用于去设置网络名以及管脚编号的字体大小的设置,建议是可以采取默认设置的,如果自己设计有另外要求,也是可以去进行设置。 2.“布线”标签也有三个子标签,首先…

【Python】使用pycharm结合gradio做一个web页面的demo

紧接上文我们安装好了python3.10,现在需要下载它的开发工具pycharm,我们在这里不过多赘述具体细节,仅简要说明关键步骤,来通过gradio体验一下示例demo 一、下载IDE pycharm官网:https://www.jetbrains.com.cn/pycharm…

选择排序、归并排序、快速排序

1.选择排序 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间。但是选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。 Java代码实现如下。 ps:选择排序的最好情况时间复杂度、最坏情况和平均情况…

PAX-DV-D24-1带升压双比例阀放大器

驱动比例流量阀、比例压力阀及泵、双比例控制阀; 双通道相互独立,PWM输出,发热小; 电流负反馈恒流输出,精密采样,温度漂移小于0.5%; 内部可选带升压,满足大阻抗线圈输出; 重复精度高,线性度…

Debezium系列之:基于debezium将mysql数据库数据更改流式传输到 Elasticsearch和PostgreSQL数据库

Debezium系列之:基于debezium将mysql数据库数据更改流式传输到 Elasticsearch和PostgreSQL数据库 一、背景二、技术路线三、配置四、从mysql同步数据到Elasticsearch和PostgreSQL数据库五、总结 一、背景 基于 Debezium 的端到端数据流用例,将数据流式传…

SpringMVC 中的视图如何渲染模型数据

SpringMVC 中的视图如何渲染模型数据 SpringMVC 是一个基于 Spring 框架的 Web 框架,它提供了一种方便的方式来处理 HTTP 请求和响应。在 SpringMVC 中,视图是用来渲染模型数据的组件,它们负责将模型数据转换为 HTML、JSON、XML 等格式的响应…

Flink DataStream之Union合并流

新建类 package test01;import jdk.nashorn.internal.runtime.regexp.joni.Config; import org.apache.flink.api.java.ExecutionEnvironment; import org.apache.flink.configuration.Configuration; import org.apache.flink.streaming.api.datastream.DataStream; import o…

UNION 和 UNION ALL 用法及区别

UNION UNION 是一个用于合并多个 SELECT 查询结果的操作符。它的作用是将多个查询的结果集合并为一个结果集,并去除重复的行。 主要特点和作用如下: 合并结果集:UNION 操作符可以将多个查询的结果集合并为一个结果集。每个查询的结果集必须…