我在ArcGIS程序中調用GP服務遇到了很多問題,今天有空就總結一下。本人用來兩種方式實現了GP服務的調用下面就說一下:
第一種方式:添加GP服務引用
在之前的文檔中也有說明http://blog.csdn.net/u011009362/article/details/47301035。
1.在Engine程序的引用上,右擊,選擇ArcGIS Toolbox Reference選項
2.添加ArcGIS的工具箱(自定義或者系統自帶)
注意把下面的勾去掉,然後點擊ok,就開始自動執行了。
3.重新添加引用
上述步驟操作完,會在引用中自動添加,同時也會在程序中生成一個*.dll引用文件
接下來要做的就是重新添加引用,將程序引用中剛添加的dll引用文件刪掉,然後再引用文件夾上右擊,選擇添加引用
接着就是將我們剛纔生成的*.dll文件拷到Debug文件夾中,然後添加
4.到這裏就完成了GP服務引用的添加,接下來就可以在程序中調用你的工具了。
// 創建一個 geoprocessor. 對象
Geoprocessor GP = new Geoprocessor();
// 創建你的GP服務對象
Toolboxs.DDmodel de = new Toolboxs.DDmodel();
GP.OverwriteOutput = true;
// 設置參數爲文本框的輸入參數.
de.輸入數據 = SDshp.Text.ToString().Trim();
de.輸入DEM = Sdem.Text.ToString().Trim() ;
de.設置迭代字段 = DDfield.Text.ToString().Trim();
de.權重字段1 = weight1.Text.ToString().Trim();
de.輸出結果 = weight2.Text.ToString().Trim();
// 執行這個工具
GP.Execute(de, null);
5.這樣就可以順利的運行你的GP服務了