sss99999 2016-11-25 03:56 采纳率: 57.1%
浏览 3066
已采纳

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条回答 默认 最新

  • sss99999 2016-11-25 23:45
    关注

    1、参数缺少或者参数类型不正确,这是最容易解决的,改变正确的参数类型即可;

    2、参数路径不正确,或者gp的overwrite属性未设置,例如一个不存在的路径或者该路径下已有同名文件,这个问题就需要设置overwrite属性为true;

    3、重点来了,排除以上两个错误的情况下还是出现了这种问题,很多人估计就束手无策了,我查阅了很多资料,最后发现是gp使用的某些工具必须需要足够的权限来执行,一般我们axlicenseconrol控件默认的是arcgisengine权限,但是arcgisengine权限有时不够用,故一般都是用代码进行权限选择!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部