【ArcGISPro】配置模块

ArcGIS Pro 配置类似于加载项,但提供了扩展应用程序的其他方法。它可以帮助您设计更贴近您组织品牌和工作流的 ArcGIS Pro 版本

托管配置是比 Add-in 更高级别的自定义。

配置可以提高加载项安全级别并添加非管理员指定的已知文件夹。

配置可以提供比插件更广泛的自定义以及对 DAML 的运行时修改 - 可能基于登录的用户角色。

每个 ArcGIS Pro 会话只能运行一个配置(即解决方案),即只有一个配置可以处于活动状态

关键配置

  • 创建自定义初始屏幕和自定义起始页
  • 更改应用程序图标、应用程序名称和标题栏文本
  • 重新排列或删除不常用的控件;插入新控件
  • 在启动期间注入逻辑以检查许可或根据用户角色更改用户界面
  • 控制加载的加载项
  • 过滤器命令 (命令通知和禁用它们的选项 )。

创建配置

启动

初始屏幕

起始页

生成的配置文件

路径

C:\Users\<UserName>\Documents\ArcGIS\AddIns\ArcGISPro\Configurations

安装配置

双击即可安装

配置文件结构

内部结构与加载项相同。

包含:

  • 一个 DAML(桌面体系结构标记语言)文件,用于描述配置及其自定义
  • 编译代码(用于配置管理器及其关联模块)
  • 图像
  • 资源
  • 任何第三方程序集

更改配置

使用方式

{ArcGISPro安装路径}\ArcGISPro.exe /config:配置文件的名称不带后缀

注册表指定配置

DAML中作用

声明

配置元素

每个 DAML 只能有一个 Configuration 元素。Configuration 元素有四个可选属性:blockAddInTabblockCustomizeDialogblockPerfMeter 和 checkForUpdatesAtStartup

blockAddInTab

默认值:false

设置为 true 时,该属性将隐藏功能区中的 Add-In 选项卡。

blockCustomizeDialog

默认值:false

当设置为 true 时,该属性将从 ArcGIS Pro 选项属性表中删除“自定义功能区”选项。

blockPerfMeter

默认值:false

当设置为 true 时,该属性将阻止用户启动 ArcGIS Monitor。

CheckForUpdatesAtStartup

默认值:true

当设置为 false 时,该属性将取消选中 ArcGIS Pro Backstage 关于选项卡中的“启动时检查更新”复选框。

配置子元素

配置管理器

 //ConfigurationManager契约
 public class ArcGIS.Desktop.Framework.Contracts.ConfigurationManager {

    //在运行时得到一个替换的DAML文件。
    protected internal virtual string RuntimeDamlFile { get; }

    //获取新的应用程序名称
    protected internal virtual string ApplicationName { get; }

    //获取标题栏文本(3.0新功能)
    protected internal virtual string TitleBarText { get; }

    //获取新的应用程序图标
    protected internal virtual ImageSource Icon { get; }

    //在应用程序初始化时调用。表示现在与传送门通信是安全的。此时还没有处理DAML记录。
    //取消信号:错误信号出现问题。申请将关闭。
    protected internal virtual void OnApplicationInitializing(CancelEventArgs cancelEventArgs);

    //当应用程序完全初始化时调用。
    protected internal virtual void OnApplicationReady();

    //CommandFilter -赋予配置禁用命令的能力。
    //
    //cmdID:执行的命令的DAML ID。
    //moduleID:命令的父模块DAML ID。
    protected internal virtual bool OnCanExecuteCommand(string cmdID, string moduleID);

    //配置在运行时提供DAML的配置机会。
    //
    // 返回:在XML字符串上以表单的形式处理的DAML。
    protected internal virtual string OnCreateDaml();

    //配置提供要在快速访问工具栏中显示的命令列表的机会。它发生在开始页关闭并且打开第一个项目之后。
    //
    // 返回:在QAT使用的命令列表
    protected internal virtual List<Tuple<string, bool>> OnCreateQuickAccessToolbar();

    //CommandFilter -赋予配置能够拒绝命令执行的能力
    //cmdID:执行命令的DAML ID。
    //moduleID:命令的父模块DAML ID。
    protected internal virtual bool OnExecuteCommand(string cmdID, string moduleID);

    // 允许配置将一些自定义用户界面注入到about页面。
    //
    // 返回:添加到about页面的元素。
    protected internal virtual FrameworkElement OnShowAboutPage();

    //配置的自定义喷溅屏幕。
    //
    // 返回:在启动过程中显示的自定义窗口。
    protected internal virtual Window OnShowSplashScreen();

    //应用程序启动后显示的自定义起始页(着陆页)。
    //
    // 返回:起始页
    protected internal virtual FrameworkElement OnShowStartPage();

    //配置在处理DAML之前操作它的最后一次机会。
    //
    //database:整个合并的DAML数据库。
    //
    //Remarks:
    //  配置可能会发现有必要编辑原始数据库以获得所需的外观。例如,一个配置可能想要删除系统中除了自己的选项卡之外的所有选项卡。这是XML形式的原始DAML数据库,编辑时要格外小心。
    protected internal virtual void OnUpdateDatabase(XDocument database);
        
    //许可验证
    //
    //Remarks:
    //  使配置有机会执行自己的许可证检查。返回错误信号,表示发生了许可问题。应用程序将关闭。
    protected internal virtual bool OnValidateLicense();
}

配置回调

配置回调对应ArcGIS Pro 应用程序三个状态:预初始化、初始化和就绪。

在预初始化状态下,没有加载 Pro API 模块,也没有 UI。

在初始化过程中,将创建 Pro WPF 应用程序并初始化任何门户或联机连接。

最后,在准备就绪期间,应用程序已完全加载。应用程序状态仅向前移动。一旦应用程序转换为 ready 状态,它将在会话期间保持 ready 状态。

预初始化

在该阶段(预初始化)由于尚未加载任何 Pro 扩展程序集,因此在预初始化期间进行任何 Pro API 调用都会使应用程序崩溃。即请勿:

  • 调用任何 Pro API 方法以包括QueuedTask.Run
  • 访问任何 Pro WPF 资源(样式、画笔、颜色、图标、图像)
  • 订阅任何 Pro 事件(这包括您的 ConfigurationManager 构造函数中)
  • 进行任何依赖于 UI 线程的 WPF 调用(例如Dispatcher.Invoke)
  • 显示任何自定义 UI(例如 Message Boxes)
自定义初始屏幕 (OnShowSplashScreen)

 

初始化

在初始化期间执行以下操作:

  • 使用 Pro API 调用门户或在线调用(不使用 QueuedTask)
  • 提供自定义 DAML(如果需要)
  • 修改 DAML 数据库(如果需要)
  • 如果您需要自定义逻辑和 UI 来启动 Pro 会话,请提供自定义起始页
  • 在起始页中使用 Pro WPF 样式等
  • 在起始页逻辑中调用任何 Pro API 方面(需要时使用 QueuedTask)

在初始化期间,请勿:

  • 调用任何不在 中的Pro API方法以包含.ArcGIS.Desktop.CoreQueuedTask.Run
  • 尝试访问任何插件、窗格、停靠窗格或任何 UI 元素或其他模块。
  • 订阅任何 Pro 活动
  • 访问除起始页之外的任何 Pro WPF 资源(样式、画笔、颜色、图标、图像)。
  • 进行依赖于 UI 线程的任何 WPF 调用(例如 )。Dispatcher.Invoke
  • 显示任何自定义 UI
OnApplicationInitializing 

最重要的是用于在线和门户通信的 API

应用程序名称(ApplicationName)

标题栏文本(TitleBarText)

就绪

关于页面

### 如何在 ArcGIS Pro 3.0 中配置深度学习环境 #### 准备工作 为了成功配置用于深度学习的环境,在开始之前需确认拥有适当的角色权限以及满足最低硬件需求。具体来说,操作人员应当具有ArcGIS组织内的发布者或管理员角色,并确保计算机配备至少6 GB RAM,推荐更高的GPU和显卡规格以获得更佳性能[^3]。 #### 软件与许可条件 软件方面应采用不低于ArcGIS Pro 2.5版本的应用程序;对于特定功能模块,则需要获取并激活ArcGIS Image Analyst扩展模块的使用权,这有助于执行图像处理任务,包括但不限于深度学习模型训练和支持向量机分类等高级分析流程。 #### 工作区设置建议 虽然并非强制要求,但从实践角度来看,保持整个项目目录结构简单明了十分必要。因此建议将所有相关文件存放在仅含英文字母命名的空间内,以此减少潜在的技术障碍,提高兼容性和稳定性。 #### Python解释器的选择 针对ArcGIS Pro 3.0.2 版本,在启动应用后可通过组合键`Ctrl+Shift+P`调出命令面板,从中选取“Python Select Interpreter”,进而指定使用位于路径 `C:\Users\<用户名>\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone` 下由Conda管理的虚拟环境作为默认解析器,此步骤至关重要因为它决定了后续开发过程中所依赖的基础库集及其版本号[^4]。 #### 安装必要的Python包 完成上述准备工作之后,下一步就是通过Anaconda Prompt或其他终端工具来创建一个新的Conda环境,并在此基础上安装一系列支持深度学习算法运行所需的第三方库,比如TensorFlow, PyTorch 或者 MXNet 等。这些可以通过官方文档提供的脚本来实现自动化部署过程[^1]。 ```bash conda create --name arcgis_dl python=3.7 activate arcgis_dl pip install tensorflow==2.3.0 ``` 以上代码片段展示了如何利用Conda建立名为`arcgis_dl`的新环境,并安装特定版本的TensorFlow库,实际操作时可根据个人偏好调整参数设定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z_W_H_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值