1.環境搭建
1.1軟件
Visual studio 2017或2019
NET Framework 4.6.1+
ArcGIS Pro 2.5
1.2環境搭建
1)打開Visual studio
2)進入工具->擴展與更新
3)進入聯網選項欄,搜索ArcGIS Pro SDK,在搜索結果中找到ArcGIS Pro SDK for .NET,點擊下載。
4)下載完成後,關閉Visual Studio,會彈出安裝窗口
5)等待安裝結束後,既環境搭建完成。
2. 使用ArcGIS Pro SDK開發
2.1創建第一個Pro Addin程序
1)打開Visual Studio,新建項目選擇ArcGIS Pro模塊加載項,點擊確定
2)創建完工程後結構如下,其中Config.daml用於編輯界面
3)右鍵項目,添加->新建項。可以添加控件。例如我們添加ArcGIS Pro按鈕
4)點擊添加後Config.daml內容中會自動添加一個button控件,項目中也會添加Button1.cs文件。
5)在Button.cs中實現點擊Button的效果。
6)啓動項目,進入ArcGIS Pro會看到我們添加的Addin和Button。點擊Buton按鈕就可以實現寫入的功能。
2.2界面配置(Config.daml)
聲明一個新模塊,所有組成插件聲明包含在insertModule元素是隱式插入。
模塊內的控件可以被多個引用,而不需要別重複定義,和框架分離。
Tab是界面中的選項卡,一個模塊中可以有多個Tab,同時Tab通過refID可關聯多個Group。
group是控件的分組,一個group中通過refID關聯多個控件。
在Controls中定義控件。控件中id都是唯一的。通過Control的id及group的refID,可以實現group與Control多對多的關係。
2.3 類庫
集合 |
描述 |
ArcGIS.Core.dll |
提供CIM,空間數據庫,空間圖形和設施網絡等API |
ArcGIS.CoreHost.dll |
提供獨立初始化ArcGIS.Core.dll |
ArcGIS.Desktop.Framework.dll |
提供程序框架 |
集合 |
描述 |
ArcGIS.Desktop.Catalog.dl |
項目project content items 包括,map items, layout items, style items, folder items 等 |
ArcGIS.Desktop.Core.dll |
創建和管理Project項目,獲取相關事件,執行GP工具。 |
ArcGIS.Desktop.DataReviewer.dll |
要用過做數據檢查。 |
ArcGIS.Desktop.Editing.dll |
提供圖形編輯的類庫。 |
ArcGIS.Desktop.Extensions.dll |
提供對Pro 中定義的類擴展的方法。 |
ArcGIS.Desktop.Geoprocessing.dll |
主要的GP工具 |
ArcGIS.Desktop.Layouts.dll |
提供了地圖的佈局和導出圖片的各種方式 |
ArcGIS.Desktop.Mapping.dll |
提供了創建地圖,圖層的方法,查詢,可視化二三維地圖。也可以創建柵格圖層。 |
目前僅Esri內部使用,包含3D分析、圖表、空間統計、網絡分析(設置,網絡圖,傳輸)、發佈服務…等功能
2.4 ArcGIS Pro中的地圖
在ArcGIS Pro的工程中可以包含多個二維或三維地圖即多個MapView。MapView在二維或者三維視圖中提供圖層顯示,要素選擇、查詢、編輯。
1. 可以通過MapView.Active獲取當前激活狀態的MapView。通過Camera調整地圖視角。
地圖視角查看事例如下:
public void RotateView(double heading)
{
var mapView = MapView.Active;
if (mapView == null)
return;
var camera = mapView.Camera;
camera.Heading = heading;
mapView.ZoomToAsync(camera, TimeSpan.Zero);
}
2. MapView有二維或三維全球(SceneGlobal)、三維本地(SceneLocal)狀態。
獲取MapView狀態事例如下:
public bool IsView3D()
{
var mapView = MapView.Active;
if (mapView == null)
return false;
return mapView.ViewingMode == ArcGIS.Core.CIM.MapViewingMode.SceneLocal || mapView.ViewingMode == ArcGIS.Core.CIM.MapViewingMode.SceneGlobal;
}
【附錄】
歡迎大家關注我的收費課程《ArcGIS Pro 2.6和ArcGIS Enterprise學習》,共8小時,有理論有實操:https://edu.csdn.net/course/detail/31690
課程主要包含:
- ArcGIS Pro2.6學習
①GIS中的數據
②GIS中的座標系
③企業級地理數據庫(SDE)設置
④數據編輯及拓撲檢查
⑤簡單製圖
⑥空間分析
2.ArcGIS Enterprise學習
①環境部署
②二三維服務發佈(矢量切片、要素服務、地圖切片、地形服務、三維服務等)
③使用及運維(詳細介紹如何確定enterprise部署架構,簡單介紹相應的運維工具)
3.開發體系梳理
參考:
https://pro.arcgis.com/zh-cn/pro-app/sdk/