【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

五、參考資源

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