程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> geoprocessor-ArcEngine+C#中 使用Geoprocessor進行克裡金插值,程序直接退出

geoprocessor-ArcEngine+C#中 使用Geoprocessor進行克裡金插值,程序直接退出

編輯:編程解疑
ArcEngine+C#中 使用Geoprocessor進行克裡金插值,程序直接退出

主要代碼如下:

   Geoprocessor gp = new Geoprocessor();
            gp.OverwriteOutput = true;
            ESRI.ArcGIS.SpatialAnalystTools.Kriging krigingTool = new ESRI.ArcGIS.SpatialAnalystTools.Kriging();

            krigingTool.in_point_features = @"F:\test\d\Factor9c849eeb-29cd-4d0f-83c8-a5a1698a68cc.sh1;
            krigingTool.z_field = "生態環境"
            krigingTool.semiVariogram_props = "Spherical";
            krigingTool.out_surface_raster = @"F:\test\test\ggg";
            IGeoProcessorResult gpResult = null;
            try
            {
                gpResult = (IGeoProcessorResult)gp.Execute(krigingTool, null);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.StackTrace);
            }

執行到gpResult = (IGeoProcessorResult)gp.Execute(krigingTool, null)時程序直接退出,並不報錯。。。這是怎麼回事?

最佳回答:


1、參數缺少或者參數類型不正確,這是最容易解決的,改變正確的參數類型即可;

2、參數路徑不正確,或者gp的overwrite屬性未設置,例如一個不存在的路徑或者該路徑下已有同名文件,這個問題就需要設置overwrite屬性為true;

3、重點來了,排除以上兩個錯誤的情況下還是出現了這種問題,很多人估計就束手無策了,我查閱了很多資料,最後發現是gp使用的某些工具必須需要足夠的權限來執行,一般我們axlicenseconrol控件默認的是arcgisengine權限,但是arcgisengine權限有時不夠用,故一般都是用代碼進行權限選擇!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved