什么是 Python 加载项?
加载项是一种自定义项,它可以插入到 ArcGIS for Desktop 应用程序(即 ArcMap、ArcCatalog、ArcGlobe 和 ArcScene)中以便提供补充功能以完成自定义任务,例如工具条上的工具集合。
ArcGIS 10 引入了一种富有革新性的 Desktop 加载项模式,使自定义和扩展 ArcGIS for Desktop 应用程序变得更加容易。新的加载项模型为您提供了基于声明的框架,以便创建便于打包成文件扩展名为 .esriaddin 的单个压缩文件的自定义内容集合。
在 ArcGIS 10 中,可使用 .NET 或 Java 以及可扩展标记语言 (XML) 来编写加载项。XML 用于描述自定义内容,而 .NET 或 Java 类用于提供自定义行为。ArcObjects 软件开发工具包 (SDK) 中包含加载项向导,该向导已与开发环境(例如,Eclipse、Microsoft Visual Studio 以及免费提供的 free Express Editions)集成在一起以简化开发过程。
ArcGIS 10.1 将 Python 引入到创作 Desktop 加载项的语言列表中,为用户提供了一种简单地扩展 desktop 功能的解决方案。要简化 Python 加载项的开发,必须下载并使用 Python 加载项向导 来声明自定义的类型。该向导将生成加载项正常工作所必需的所有文件。点击此处下载 Python 加载项向导。
Python 加载项是扩展名为 .esriaddin 的单个压缩文件。它包含以下项目:
- config.xml - 一种定义加载项静态属性(例如,作者、版本、类别等)的可扩展标记语言 (XML) 文件。
- Python 脚本 - Python 脚本(.py 文件)中包含您的业务逻辑。
- 资源文件 - 项目,例如图像,在某些情况中是用于支持加载项的数据。
加载项作为单个压缩文件,通过将加载项文件复制到已知文件夹可轻松共享加载项并将其插入桌面应用程序中,而通过从此文件夹中删除加载项文件便可轻松移除加载项。
有关共享加载项的详细信息,请参阅共享加载项。
了解何时创建 Python 加载项
在决定创建加载项之前,确保开发方式为项目要求的正确开发方式。
如果想要向工具条添加现有工具集合,或更改 ArcGIS for Desktop 应用程序中菜单或工具条的布局,您可以对用户界面 (UI) 进行配置,使其符合您的个人喜好。此项操作不需要任何编程或脚本。有关详细信息,请参阅关于配置用户界面。有关在工具条或菜单上添加地理处理工具的详细信息,请参阅在菜单和工具条上添加和移除工具。
如果您需要运行一组地理处理工具来执行数据分析或数据管理,或者生成一系列地图,可以考虑使用模型构建器创建模型或编写 Python 脚本。有关详细信息,请参阅通过模型构建器进行地理处理、使用 Python 进行地理处理和自动化地图工作流。
如果需要创建一项根据某个事件执行某种操作的自定义事项,或该自定义事项需要使用鼠标与显示内容进行交互,应考虑创建加载项。示例中为需要用户单击并将矩形拖动到地图上方来定义感兴趣区域的一个工具。另一个示例中为添加或从内容列表中移除图层时随时自动保存地图文档的应用程序扩展模块。
Python 加载项入门
下列主题将指导您创建一个工作流,该工作流可以使 Python 用户创建特定类型的桌面加载项:
ArcGIS 的区域不都在 Python 中显示。有关 Python 功能的详细信息,请参阅 ArcPy 快速浏览和用于地图文档管理和输出的脚本。