学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)

我在ArcGIS程序中调用GP服务遇到了很多问题,今天有空就总结一下。本人用来两种方式实现了GP服务的调用下面就说一下:

第一种方式:添加GP服务引用

在之前的文档中也有说明http://blog.csdn.net/u011009362/article/details/47301035。

       1.在Engine程序的引用上,右击,选择ArcGIS Toolbox Reference选项

         学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)_第1张图片

2.添加ArcGIS的工具箱(自定义或者系统自带)

学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)_第2张图片

注意把下面的勾去掉,然后点击ok,就开始自动执行了。


学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)_第3张图片

3.重新添加引用

上述步骤操作完,会在引用中自动添加,同时也会在程序中生成一个*.dll引用文件

学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)_第4张图片学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)_第5张图片

接下来要做的就是重新添加引用,将程序引用中刚添加的dll引用文件删掉,然后再引用文件夹上右击,选择添加引用

学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)_第6张图片

接着就是将我们刚才生成的*.dll文件拷到Debug文件夹中,然后添加 学习笔记之ArcGIS Engine调用自定义GP服务(亲测!!!)(一)_第7张图片

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服务了


你可能感兴趣的:(ArcGIS,Engine)