为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插件。 卸载加载项会将选定的加载项文件移动到系统回收站,以后可以在必要时还原该文件。
“卸载”按钮仅对本地加载项启用。 要卸载来自自定义加载项文件夹的加载项,只需从共享中删除加载项,或使用“删除文件夹”按钮删除自定义加载项文件夹。