GP调用ArcToolBox工具与自定义的Model

GP调用ArcToolBox工具与自定义的Model

GP调用ArcToolBox工具

引用命名空间

using ESRI.ArcGIS.Geoprocessing;
using ESRI.ArcGIS.Geoprocessor;
using ESRI.ArcGIS.AnalysisTools; //所要调用的工具命名空间
工具名称命名空间
3D Analyst toolsESRI.ArcGIS.Analyst3DTools
Analysis toolsESRI.ArcGIS.AnalysisTools
Conversion toolsESRI.ArcGIS.ConversionTools
Data Management toolsESRI.ArcGIS.DataManagementTools
Cartography toolsESRI.ArcGIS.CartographyTools
Coverage toolsESRI.ArcGIS.CoverageTools
Geocoding toolsESRI.ArcGIS.GeocodingTools
Geostatistical Analyst toolsESRI.ArcGIS.GeostatisticalAnalystTools
Linear Referencing toolsESRI.ArcGIS.LinearReferencingAnalystTools
Multidimension toolsESRI.ArcGIS.MultidimensionTools
Network Analyst toolsESRI.ArcGIS.NetworkAnalystTools
SamplesESRI.ArcGIS.SamplesTools
Spatial Analyst toolsESRI.ArcGIS.SpatialAnalystTools
Spatial Statistics toolsESRI.ArcGIS.SpatialStatisticsTools

1.先进行引用
2.创建Geoprocessor 对象
3.设置参数
4.执行gp.Execute(XXX, null) 方法

调用buffer为例
在设置参数时,要根据工具的帮助文档,在ArcMap中打开。
注意输入、输出对象类型,也可以是路径。
在这里插入图片描述

Geoprocessor gp_buffer = new Geoprocessor();            
gp_buffer.OverwriteOutput = true;
//调用工具
ESRI.ArcGIS.AnalysisTools.Buffer pbuffer = new ESRI.ArcGIS.AnalysisTools.Buffer();
//buffer参数窗口
buffer_form.ShowDialog();
//设置参数
pbuffer.in_features = buffer_form.inputBox.Text;
pbuffer.out_feature_class = buffer_form.outputBox.Text;
pbuffer.buffer_distance_or_field = buffer_form.distanceBox.Text;
pbuffer.dissolve_option = buffer_form.dissolve_optionBox.Text;
//执行
gp_buffer.Execute(pbuffer,null);
//加载到map
string path = System.IO.Path.GetDirectoryName(buffer_form.outputBox.Text);
string name = System.IO.Path.GetFileName(buffer_form.outputBox.Text);
axMapControl1.AddShapeFile(path,name);

在这里插入图片描述

private void button1_Click(object sender, EventArgs e)
{
  base.Close();//关闭窗口buffer_form
}

GP调用自定义的Model

GP不但可以调用现有的工具,也可以调用自定义的Model
主要步骤如下:

//1、创建gp对象
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
//2、加载工具Model,"Model"
gp.AddToolbox("C:\\Users\\12638\\Documents\\ArcGIS\\Toolbox.tbx");
//3、设置参数,严格按照顺序添加!注意参数格式
IVariantArray parameters = new VarArrayClass();
parameters.Add(namebase);
parameters.Add(rasterlayer);
//4、执行
gp.Execute("Model", parameters, null);
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值