【ArcGIS Pro SDK for .Net】Add-in插件开发教程


一、开发环境

在进行ArcGIS Pro Add-in插件开发之前,确保电脑安装以下依赖

  • Visual Studio 2019
  • ArcGIS Pro 2.5
  • .Net Framework 4.8

Visual Stuido中安装 Extension

  • ArcGIS Pro SDK for .Net

在这里插入图片描述

二、Add-in结构

1. 创建模板

新建ArcGI Pro Module Add-in模板

关于不同模板的解释参考 Learn ArcGIS Pro SDK

2. 控件级别

Tab
在这里插入图片描述
Group
在这里插入图片描述
Menu
在这里插入图片描述
Control
在这里插入图片描述
控件结构关系
在这里插入图片描述
Daml结构
在这里插入图片描述
需要在父控件中添加子控件,子控件必须添加id属性

3. 主题样式

ArcGIS Pro提供黑白两种主题和大小图标样式,所以Add-In插件也必须提供两种样式的图标

小图标: 16x16px的png格式栅格图片
大图标: 32x32px的png格式栅格图片

使用方式(默认为白色主题)
在这里插入图片描述

4. 创建Module

新建一个Add-in项目后会自动创建Module,这部分代码可以不改变

在这里插入图片描述
在这里插入图片描述

三、Add-in安装

添加一个Button标签, 并在Group中引用该Button, 修改Config.daml代码如下
在这里插入图片描述
新建AddDataButton.cs类,继承自Pro SDK的button
在这里插入图片描述
编译项目
在这里插入图片描述
在项目的bin目录下会生成一个.esriAddinX的文件,双击进行安装
在这里插入图片描述
重启ArcGIS Pro, 就可以发现插件
在这里插入图片描述

四、简单Demo

上面我们已经添加了Add multi data控件,接下来就要在AddDataButton.cs类里面写逻辑代码

查看Button的定义,有三个重要点

  • IsChecked, 该button是否被勾选(Pro中button类似Checkbox效果)
  • OnClick, 点击button时的逻辑
  • OnUpdate, Pro更新时的逻辑

1. Layer的增删改查

1.1. OperationalLayer

添加Layer

  1. 获取此项目的Scene
  2. 创建使用LayerFactory创建Layer并将其加到Scene容器中

删除Layer

提供删除某个或多个Layer的方法

查询Layer

每个Layer都有一个独一无二URI,以此区分不同Layer。
可以查询Layer的Name,范围大小,可见性等属性

修改Layer

Layer的属性都为只读,只提供修改Name,是否展示Popup以及数据连接方式的方法

1.2. Basemaps和ElevationSource

Pro中BasemapsElevationSource不能向OperationalLayer通过容器的方式添加,
Map类中提供了两个方式添加

Map.SetBasemapLayers()
Map.SetElevationSurface()

Basemap的创建方式

  1. SDK内置多种Basemap样式
  2. 从其他Item获取来的,如PortalItem等

ElevationSource的创建方式

  1. FromJson
  2. FromXml

其他删除、修改和查询与OperationalLayer相似
暂不支持多数据源构造Basemap

2. Demo

这里简单写了下Layer的增删改查Demo

arcgis-pro-sdk-demo

五、参考资源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章