ArcGIS Engine调用自定义GP服务(一)
我在ArcGIS程序中调用GP服务遇到了很多问题,今天有空就总结一下。本人用来两种方式实现了GP服务的调用下面就说一下:
第一种方式:添加GP服务引用
在之前的文档中也有说明http://blog.****.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服务了