ArcGIS Pro SDK 001 基於SDK創建第一個插件

ArcGIS Pro SDK只能開發ArcGIS Pro軟件上的插件,不能單獨開發獨立的應用程序。ArcMap是32位的,在處理大數據時,經常會崩潰,但同樣的數據和邏輯,因爲ArcGIS Pro是64位的,可以順利執行出來。所以目前我們開發程序的時候,遇到處理大數據的需求,使用ArcObjects SDK開發的程序如果運行不起來,就會基於ArcGIS Pro SDK開發。

電腦上先安裝好ArcGIS Pro,因爲我們最終做的插件是要安裝到ArcGIS Pro軟件上的。

打開Visual Studio 2022,點擊繼續但無需代碼按鈕,如下圖所示。

截圖.png

點擊後,彈出的界面如下圖所示。

截圖.png

點擊【擴展】-【管理擴展】按鈕,如下圖所示。

截圖.png

在右側搜索ArcGIS Pro SDK,在搜索結果中,選擇安裝 ArcGIS Pro SDK for .Net。安裝後,就可以新建項目了。新建項目的時候,界面如下圖所示。

截圖.png

新建後,項目默認情況下,包含的文件,如下圖所示。

截圖.png

這個文件都不需要修改,下面我們創建一個按鈕,放到菜單上。,在程序集中,新建項目項,如下圖所示。

截圖.png

添加該按鈕後,Config.daml文件內容會自動發生變化,加上了新建的這個按鈕。Config.daml格式我們後面再研究。此時我們可以在按鈕上添加邏輯,例如點擊按鈕,彈出信息對話框。代碼如下所示。

using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
namespace ProAppModule1
{
    internal class Button1 : Button
    {
        protected override void OnClick()
        {
            MessageBox.Show("ArcGIS Pro SDK 測試。");
        }
    }
}

點擊下圖紅框中的運行按鈕,如下圖所示。

截圖.png

系統會彈出下面的對話框,如下圖所示。

截圖.png

然後ArcGIS Pro並沒有彈出,這個可能是ArcGIS Pro破解的問題,目前沒找到如何解決。

點擊第二個運行按鈕,該按鈕的意思是執行,但不調試。此時可以自動啓動ArcGIS Pro主界面,如下圖所示。

截圖.png

點擊從沒有模板的情況入手,點擊加載項主菜單,會發現我們剛纔添加的插件按鈕,如下圖所示。

截圖.png

點擊該按鈕,彈出我們代碼中定義的信息,如下圖所示。

截圖.png

如果我們想自己定義對話框,可以定義普通的WPF窗體即可,不需要非得使用ArcGIS Pro SDK中的UI元素。如下圖所示。

截圖.png

修改代碼,彈出新創建的Window1對話框,代碼如下所示。

internal class Button1 : Button
{
    protected override void OnClick()
    {
        Window1 myWindow1 = new Window1
        {
            Owner = Application.Current.MainWindow
        };
        myWindow1.ShowDialog();
    }
}

編譯運行,效果如下圖所示。

截圖.png

如果想把開發的插件發給其他人使用,在編譯結果目錄如下圖所示。

截圖.png

把這些文件拷貝到其他已經安裝了ArcGIS Pro軟件的電腦,雙擊ProAppModule1.esriAddinX文件,進行插件安裝。

現在遇到最大的問題就是,直接調試,系統運行不起來,所以開發的時候沒法調試,只能通過記錄日誌的方法逐步輸出各重要參數的值,來排查錯誤。目前一直沒找到辦法解決這個問題。

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