ArcEngine开发中自定义工具箱的调用

       object sev = null;//用来标记处理信息
            //1-定义GeoProcessor对象
           // Geoprocessor gp = new Geoprocessor();
             IGeoProcessor2 gp = new GeoProcessorClass();
            //2-设置参数
            gp.OverwriteOutput = true;
            //3-设置工具箱所在的路径
            gp.AddToolbox(@"E:\Users\zheng\Desktop\tbx测试\mymodel.tbx");
            //4-设置输入参数
            IVariantArray parameters = new VarArrayClass();
            parameters.Add(@"E:\Users\zheng\Desktop\新建文件夹\Chp12\Ex1\DEM\aaaaaaaaaaaa\mmmmmm.shp");
          //  parameters.Add("45");
          //  parameters.Add("225");
            parameters.Add(@"E:\Users\zheng\Desktop\新建文件夹\Chp12\Ex1\DEM\dem50");

            //5-执行工具
            try
            {
            gp.Execute("Model", parameters, null);
             }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                MessageBox.Show(gp.GetMessages(ref sev).ToString());
            }

 注意:在使用的过程中必须确保输入参数和输出参数的正确,参数的顺序也必须与模型运行时显示的对话框的顺序相同。一般情况下参数都为字符串。特别注意的一点,在一台机子上运行没问题的模型(在ArcGIS以及自己开发的程序中),移植到另外的机子上时,可能以及肯定会出现问题,一般为文件路径不正确、找不到文件。所以需要注意把模型的过程文件的存储地址进行设置,默认是在 C盘 ArcGIs的default.gdb下,移植时需要重新定义已存在的路径。目前程序开发中暂未找到设置模型操作环境的处理…………

posted @ 2013-11-04 22:29  zzz_giser  阅读(3860)  评论(0编辑  收藏  举报