为ArcGIS桌面端建立Add In插件

平时以工作为主,有空时翻译一些文档,顺便练习英文,这个是因为用Add In来学习一下。

主要包括:

  • 关于Add In
  • 什么时候使用Add In
    • Python
    • Classic COM extensibility
  • Add In类型
  • 管理Add In
  • Add In 文件结构
  • 建立Add In

关于Add In

ArcGIS桌面端的Add In插件(中文版翻译为加载项模型)为你提供了一个基于声明的框架,用于创造一系列便于打包到单个压缩文件(.esriAddIn)的自定义集合。Add In 在用户之间便于共享,不需要安装程序或者组件对象模型(COM)注册;Add In 插件只需将其复制到well known文件夹中即可将其添加到系统中,并通过从该文件夹中删除对应文件来移除插件。Add In 也可以共享于使用集中式网络的多个用户。

Add In 支持使用.NET,Java或Python以及可扩展标记语言(XML)编写。 XML用于描述自定义,而.NET,Java或Python类提供自定义行为。 ArcObjects软件开发工具包(SDK)包括一个Add In 向导,该向导集成了多个开发环境(如Eclipse,Microsoft Visual Studio和Visual Studio的免费Express Edition),以简化开发。

备注:

注意:Add In 支持版本是10以上的,9.3啥的就不用尝试了。

网络上网友说,Well-Known文件目录:

  Vista/7: C:\Users\<username>\Documents\ArcGIS\AddIns\Desktop10.0

  XP: C:\Documents and Settings\<username>\MyDocuments\ArcGIS\AddIns\Desktop10.0

上面的目录我没找到,但是应该是在

C:\Users\Administrator\Documents\ArcGIS\AddIns\Desktop10.2类似的目录,反正就是在C盘的文档文件夹下面,有对应ArcGIS文件夹,里面有AddIns文件夹,其实不用那么麻烦去复制粘贴文件夹,.esriAddIn可以进行安装,可以参考我的对应Add In安装说明。

什么时候使用Add In

Add In 可以轻松构建和共享桌面自定义项; 但是,根据您正在构建的解决方案的目标和特征,以下选项之一可能更合适。

Python

在ArcGIS 10.1中,Python已添加到用于创作Add In的语言列表中,为您提供了一个易于使用的扩展桌面功能的解决方案。 有关使用Python构建Add In的详细信息,请参阅ArcGIS for Desktop帮助指南,使用Python为ArcGIS for Desktop构建Add In。

Classic COM extensibility

Add In框架不支持ArcGIS定义的每个扩展点; 例如,您无法将自定义一个渲染器,自定义一个工作空间或自定义一个要素作为Add In。 如果您的解决方案包含Add In框架中不支持的组件类型,则需要使用传统的COM可扩展方法。 此外,由于Add In的共享不涉及注册,因此请勿使用依赖于外部依赖项的基于Add In的解决方案,例如库,程序集和服务这些需要注册或管理干预的外部依赖项。

Add In类型

ArcGIS for Desktop应用程序支持一组固定的Add In类型插件,包括在以前版本的ArcGIS中引入的最常用的基于COM的可扩展性模型。当前版本支持以下Add In类型:

按钮和工具:

可以在工具栏上或者作为菜单栏按钮显示的简单控件。(类似于放大、缩小功能的按钮)

组合框:

提供下拉列表,并可选择地提供一个可编辑的输入区域。

菜单和上下文菜单:

包含按钮,子菜单和多项目等的菜单下拉列表。菜单可以来自内置源,Add In加载项源或两者的结合。菜单通常托管在工具栏上,但它们也可以独立显示为上下文(弹出)菜单和根菜单。

多项:

在运行时动态创建的菜单项集合。在运行前无法确定菜单上的项目或者需要根据系统状态修改项目时,多项目非常有用。

工具栏 :

可以托管按钮,工具,菜单,工具选项板和组合框。与菜单一样,工具栏上显示的控件可以来自内置源,Add In加载项源或两者结合。工具栏可以配置为在最初添加到应用程序时自动显示,以使其更加明显。

工具选项板:

提供一种紧凑的方法来对相关工具进行分组。在工具栏中最近使用的工具旁边有一个小的下拉按钮,可以用于访问组中的其他工具。与菜单一样,工具选项板上显示的工具可以来自内置源,Add In加载项源或两者结合。

可停靠窗口:

在ArcGIS for Desktop应用程序中显示的浮动或停靠窗口。你可以使用任何类型的内容填充可停靠窗口:图表,幻灯片,视频,迷你地图或包含其他控件的自定义控件 - 包括Esri控件。Add In插件开发人员可以控制可停靠窗口最初出现的位置以及是否将与其他可停靠窗口组合在一起。

应用程序扩展:

用于协调在一个Add In插件与其他组件,如按钮,工具和可停靠窗口等之间的活动。应用程序扩展通常负责存储与Add In插件相关联的状态,并且通常用于监听和响应主机应用程序公开的各种事件。应用程序扩展可以通过配置在需要时加载或在启动相关应用程序时自动加载;应用程序扩展也可以通过配置显示在标准ArcGIS扩展对话框中。

编辑器扩展 :

允许您通过直接插入编辑框架来自定义编辑工作流程。与应用程序扩展相反,编辑工具启动时会加载Add In插件(编辑器,开始编辑)。您可以通过创建编辑器Add In插件来自定义编辑会话的行为(例如,侦听编辑事件)。

管理Add In

Add In插件可以从各种来源获得,包括基于Web的存储库,通过电子邮件,或通过浏览文件系统或网络。只需双击在Windows资源管理器中的Add In插件文件即可安装Add In插件。 双击时,Esri提供的Add In插件安装程序会验证Add In插件并将其复制到相应的well known文件夹中。 在安装之前,用户有机会查看Add In插件的作者,描述,版本和数字签名信息。 此验证步骤可确保:将文件复制到适当的位置; 处理名称冲突; 并保证旧版本不会覆盖任何现有版本的Add In插件。 此程序还可以直接用于电子邮件附件和网页链接。 请参见以下屏幕截图:

也可以使用ArcGIS桌面端应用程序中的“自定义模式”,在自定义对话框中的“从文件添加”按钮来安装加载项。 如下:

你可以通过“自定义模式”菜单访问“自定义”对话框。通过双击或从文件中添加选项的方式安装的Add In插件都被归类为本地Add In插件。本地Add In插件位于本地计算机上指定的已知文件夹(Well-Known文件目录)/每个用户对应文件夹中。

虽然我们可以在不使用ESRI自带Add In安装插件的情况下,通过手动将Add In插件文件复制到对应文件夹的方式来加载,但这个过程中必须注意避免文件名冲突,版本覆盖等各种问题。这种复制的方式,通常在同一个网络下共享Add In插件时使用。

与传统的COM组件一样,单独的Add In插件可以通过“自定义”对话框访问获取。例如,Add In插件中定义的按钮的行为与COM命令的行为没有区别,它们都列出在“命令”选项卡上的指定类别中。从这个位置,可以拖动到任何工具栏或菜单上。

ArcGIS 桌面端应用程序在“自定义”菜单中提供了“加载项管理器”对话框。此对话框上的“加载项”选项卡中提供了有关当前正在运行的应用程序可用的已安装Add In插件的详细信息。例如,ArcGlobe的Add In插件就不会出现在ArcMap中。如图:

“加载项管理器”选项卡允许用户添加自定义的加载项文件夹。 每次启动应用程序时,加载项框架都会在这些指定的自定义文件夹中搜索加载项。 在使用中央网络的组织方式中共享Add In插件,这种方式就特别有用。 可以在指定的文件位置添加,删除和更新Add In插件,而无需干预任何客户端计算机;下次重新启动相关应用程序时,更新将自动反映在客户端上。 “加载项管理器”选项卡还可用于禁用所有加载项功能。 如图:

用户还可以从“加载项管理器”中选择卸载特定Add In插件。 卸载加载项会将选定的加载项文件移动到系统回收站,以后可以在必要时还原该文件。

“卸载”按钮仅对本地加载项启用。 要卸载来自自定义加载项文件夹的加载项,只需从共享中删除加载项,或使用“删除文件夹”按钮删除自定义加载项文件夹。

Add In 文件结构

建立Add In

Add In 简介(主要翻译于ESRI官方文档)的更多相关文章

  1. 谷歌字体(Google Font)初探 [翻译自Google官方文档]

    这个指南解释了如何使用Google Font的API,把网络字体添加到自己的页面上.你不需要任何的编码,你所要做的只是添加一个特定的CSS到HTML页面上,然后把字体关联到这个CSS样式. 一个快速的 ...

  2. GIS中的坐标系【Esri官方文档部分翻译】

    GCS 地理坐标系(GCS)使用椭圆体表面来定义地球上的位置.地理坐标系有三个部分: 基准面,是地球的椭圆体(椭球体)模型 本初子午线 角度单位 常见基准包括WGS84(用于GPS)和NAD83(用于 ...

  3. 【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版

    原文链接: https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html 原文内容也一并附加在本文最 ...

  4. [翻译]:Cinemachine 官方文档(0)

    目录 Overview : Installation and Getting Started :安装并开始 User Guide :用户指南 What is Cinemachine? : 什么是Cin ...

  5. Kryo官方文档-中文翻译

    Kryo作为一个优秀的Java序列化方案,在网上能找到不少测评,但未见系统的中文入门或说明文档.官方文档是最好的学习文档.虽然英文不差,但啃下来毕竟没母语来的舒服.这里抽出时间做些翻译,以方便大家查阅 ...

  6. 在 Ubuntu 上安装 TensorFlow (官方文档的翻译)

    本指南介绍了如何在 Ubuntu 上安装 TensorFlow.这些指令也可能对其他 Linux 变体起作用, 但是我们只在Ubuntu 14.04 或更高版本上测试了(我们只支持)  这些指令. 一 ...

  7. [翻译]PyMongo官方文档

    PyMongo官方文档翻译 周煦辰 2016-06-30 这是本人翻译的PyMongo官方文档.现在网上分(抄)享(袭)的PyMongo博客文章很多,一方面这些文章本就是抄袭的,谈不上什么格式美观,另 ...

  8. 【Java架构:基础技术】一篇文章搞掂:Spring Boot 官方文档解读

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文内容大部分是翻译和总结官方文档,可以到https://docs.spring.io/spring-boot/docs查看(此地 ...

  9. NHibernate官方文档——第八章 继承映射(Inheritance Mapping)

    本文翻译自NHibernate官方文档NHibernate Reference Documentation 4.1. 受限于个人知识水平,有些地方翻译可能不准确,但是我还是希望我的这些微薄的努力能为他 ...

随机推荐

  1. asp.net core系列 50 Identity 授权(中)

    1.5 基于策略的授权 在上篇中,已经讲到了授权访问(authorization)的四种方式.其中Razor Pages授权约定和简单授权二种方式更像是身份认证(authentication) ,因为 ...

  2. 深度解密Go语言之关于 interface 的10个问题

    目录 1. Go 语言与鸭子类型的关系 2. 值接收者和指针接收者的区别 方法 值接收者和指针接收者 两者分别在何时使用 3. iface 和 eface 的区别是什么 4. 接口的动态类型和动态值 ...

  3. 讲解:为什么重写equals时必须重写hashCode方法

    一 :string类型的==和equals的区别: 结论:"=="是判断两个字符串的内存地址是否相等,equals是比较两个字符串的值是否相等,具体就不做扩展了,有兴趣的同学可以去 ...

  4. AI繁荣下的隐忧——Google Tensorflow安全风险剖析

    本文由云+社区发表 作者:[ Tencent Blade Team ] Cradmin 我们身处一个巨变的时代,各种新技术层出不穷,人工智能作为一个诞生于上世纪50年代的概念,近两年出现井喷式发展,得 ...

  5. kubernetes实践之三:深入理解Pod对象

    一.Pod定义 最小部署单元 一组容器集合 一个pod中的容器共享网络命名空间 Pod是短暂的 二.Pod容器分类 基础容器 维护整个Pod的网络命名空间 初始化容器 先于业务容器开始执行,在应用启动 ...

  6. C# .NET Web API 如何自訂 ModelBinder

    各位好!這次要來替大家介紹的是如何在 .NET  Web API 中自訂一個 ModelBinder 透過自定義的 ModelBinder 我們可以很簡單的將 QueryString 傳過來的參數綁定 ...

  7. 微服务容错限流Hystrix入门

    为什么需要容错限流 复杂分布式系统通常有很多依赖,如果一个应用不能对来自依赖 故障进行隔离,那么应用本身就处在被拖垮的风险中.在一个高流量的网站中,某个单一后端一旦发生延迟,将会在数秒内导致 所有应用 ...

  8. [ArcGIS API for JavaScript 4.8] Sample Code-Get Started-MapView,SceneView简介

    [官方文档:https://developers.arcgis.com/javascript/latest/sample-code/index.html]  一.Intro to MapView(2D ...

  9. Windows -- cmd命令: netstat 和 arp

    1. netstat: 显示网络连接.路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作. 命令格式及参数如下: 2. ARP: 可用于查询本机ARP缓存中IP地址和MAC地址的对应关系.添加 ...

  10. zabbix安装及简单使用备注

    1.安装mysql yum install -y mariadb mariadb-server systemctl start mariadb 2.安装apache yum -y install ht ...