object sev = null;//用来标记处理信息 //1-定义GeoProcessor对象 // Geoprocessor gp = new Geoprocessor(); IGeoProcessor2 gp = new GeoProcessorClass(); //2-设置参数 gp.OverwriteOutput = true; //3-设置工具箱所在的路径 gp.AddToolbox(@"E:UserszhengDesktop bx测试mymodel.tbx"); //4-设置输入参数 IVariantArray parameters = new VarArrayClass(); parameters.Add(@"E:UserszhengDesktop新建文件夹Chp12Ex1DEMaaaaaaaaaaaammmmmm.shp"); // parameters.Add("45"); // parameters.Add("225"); parameters.Add(@"E:UserszhengDesktop新建文件夹Chp12Ex1DEMdem50"); //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下,移植时需要重新定义已存在的路径。目前程序开发中暂未找到设置模型操作环境的处理…………