- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ArcGIS插件
1 Building add-ins for ArcGIS Desktop
About add-ins
ArcGIS10引入了一些新的开创性的特性,让用户能方便地自定义和扩展ArcGIS Desktop应用程序,这其中就包括新的Desktop插件模型。这个新的插件模型为你提供了一种基于声明的架构,使得你能够创建一系列的定制,并方便地打包为一个紧凑的文件。插件可以很方便地在用户之间共享,因为它们不需要安装程序或组件对象模型的注册;插件可以通过文件夹的拷贝或删除来添加到系统或从系统中移除。如果有集中式的网络共享,插件也能为机构中的用户共享。
插件是使用.NET或Java以XML来创建。XML描述了定制,而.NET或java类则提供用户行为。ArcObjects开发包(SDK)中包含了一个集成于开发环境(Eclipse,Microsoft Visual Studio等)的插件向导。
When to use add-ins
ArcGIS插件能方便的自定义桌面,也方便共享;但是,取决于你要建立的具体方案目标,其它的选择也许是更合适的:
Python
所有ArcGIS桌面应用程序中都包含有嵌入的脚本语言—Python。ArcGIS的很多方面,尤其是地处理,都可以通过简化的Python应用程序接口(API)来访问,很容易编程完成常见任务。Python脚本方便共享,不需要外部开发环境就能创建。Python有很多的模块专注于不同领域,如科学,工程,算术等。
尽管Python很强,但是它也并不能胜任所有编程。尽管Python应用领域在不断扩大,但是ArcGIS的一些领域还是Python所不在行的。而且,Python中的编辑和程序调试远不如商用开发环境(如VS)那样成熟方便。还有,使用Python你无法监控和回应ArcGIS时间,无法实现COM接口,也无法插入ESRI的许多COM的扩展点。
Classic COM extensibility
插件构架不能支持所有的ArcGIS定义的扩展点。例如,在插件中,你无法编写一个自定义的renderer,或是自定义的工作空间,或自定义的要素。如果你的方案中包括插件架构所不支持的组件类型,那么你得使用传统的COM扩展方法。而且,由于插件的共享不需要注册步骤,基于插件的解决方案不应该用于有外部依赖性的情况,如库,编译,服务等需要注册或管理介入的。
Add-in types
ArcGIS桌面应用程序支持固定的插件类型,包括最流行的、在之前版本中引入的、基于COM扩展模型中使用的那些类型。当前版本支持的插件类型如下:
Buttons and tools 按钮和工具都是简单的控件,可以出现在工具栏或菜单中。
Combo boxes组合框提供一个下拉列表选项,也可以提供一个编辑输入区域.
Menus and context menus菜单提供一个包括按钮,子菜单,多选项等的下拉列表。菜单项可以来源于程序本身,或者来源于插件。菜单通常放在工具栏上,也可以独立地显示为弹出菜单或根菜单。
Multi-items多选项是一个在运行时创建的菜单项的动态集合。当菜单上的项目在运行前无法确定时,或者需要根据系统状态修改显示的项目的时候,就可以使用多选项。
Toolbars 工具栏可以容纳按钮,工具,菜单,工具面板,以及组合框等。与菜单相同,工具栏上的空间可以是来源于程序内部,也可以是来源于插件。工具栏可以添加到应用程序并设置为程序启动后自动显示给用户。
Tool palettes工具面板提供了一种紧凑的方式来组合一组相关的工具。工具栏上显示出最近使用过的工具按钮,旁边一个小的下拉箭头按钮用来访问其它同组的工具。
Dockable windows 可停靠的窗口是ArcGIS桌面应用程序界面上浮动或停靠的窗口。各种各样的内容,如表格,幻灯,视频,小地图,自定义的包含其它空间的对话框,都可以放置在浮动窗口中。插件开发者应当考虑可停靠窗口最初出现的位置,考虑是否将它与其它可停靠窗口组合在一起。
Application extensions应用程序扩展用来协调插件内的组件的活动,如同属一个插件的按钮,工具,可停靠窗口之间。应用程序扩展通常用来存储作为一个整体的插件的状态,监听并响应主应用程序暴露的各种事件。应用程序扩展可以配置为根据需要载入或相关应用程序启动时自动载入;扩展可以配置为出现在标准的ArcGIS扩展模块对话窗口中。
Editor extensions 编辑器扩展可以直接插入到编辑架构中,用来自定义编辑工作流程,与应用程序扩展相比,编辑器扩展插件是在开始编辑会话后装入。通过创建编辑器扩展,你可以自定义编辑会话的行为,如可以监控编辑事件。
Managing add-ins
获取插件的来源有很多,如
文档评论(0)