GP工具实现栅格相加
GP工具通过调用ArcToolBox中的工具,简化了编程工作,方便调用ArcGIS强大的空间分析功能。
使用GP工具实现栅格相加的步骤主要包括:
- 定义和初始化GP工具
- 定义栅格计算器
- 初始化输入参数
- 执行分析操作
1、定义和初始化GP工具
Geoprocessor GP = new Geoprocessor();
GP.OverwriteOutput = true;
2、定义栅格计算器及参数初始化:
RasterCalculator RC = new RasterCalculator();
RC.expression = en;
MessageBox.Show("计算内容:\n" + RC.expression);
RC.output_raster = Application.StartupPath + "\\res.tif";
expression参数为栅格计算器表达式,该参数可直接按照ArcToolBox中栅格计算器的表达式形式输入,详细可参照ArcGIS帮助文档。第二个参数为输出路径,可以指定为tif格式,也可以只指定为一个文件夹。
3.执行分析操作
try
{
GP.Execute(RC, null);
object sev=null;
MessageBox.show(GP.GetMessage(ref sev));
}catch(Exception ex)
{
object sev = null;
MessageBox.Show(GP.GetMessages(ref sev)); //注意返回值捕捉!
}
注意事项:
1、栅格计算器参数一定要符合格式
2、捕捉GP工具输出内容,方便查看与调试
全部代码(函数):
private void cal(string en)
{
Geoprocessor GP = new Geoprocessor();
GP.OverwriteOutput = true;
//定义栅格计算器
RasterCalculator RC = new RasterCalculator();
RC.expression = en;
MessageBox.Show("计算内容:\n" + RC.expression);
RC.output_raster = Application.StartupPath + "\\res.2000";
try
{
GP.Execute(RC, null);
object sev = null;
MessageBox.Show(GP.GetMessages(ref sev));
}catch(Exception ex)
{
object sev = null;
MessageBox.Show(GP.GetMessages(ref sev));
}
}
转载自:https://blog.csdn.net/ScapeD/article/details/82869121