以下是使用GP工具进行Intersect运算的代码,传入两个参数进行运算,传出参数是保存数据的路径。
Geoprocessor geoProcessor = new Geoprocessor();
geoProcessor.OverwriteOutput = true;
Intersect pIntersect = new Intersect();
String SDEPath = @"D:\Connectiontoorcl.sde\ARAIN.CLIP" + ";" + @"D:\Connectiontoorcl.sde\ARAIN.IMPUTS";
pIntersect.in_features = SDEPath;
String output = @"D:\Connectiontoorcl.sde\ARAIN.OUTPUTS";
pIntersect.out_feature_class = output;
try
{
geoProcessor.Execute(pIntersect, null);
}
catch (Exception ex)
{
object sev = null;
Console.WriteLine("Message");
Console.WriteLine(geoProcessor.GetMessages(ref sev).ToString());
}
调用GP工具时需要注意一些问题:
1、必须要catch到gp.Execute?();的错误,使用gp.GetMessages(ref sev)的方式输出,才能获得稍微详细的错误信息。
2、当使用SDE文件连接的方式来获取数据库中的图层时,所使用的SDE文件的名字必须没有空格,否则会无法传入参数。最好所使用的SDE连接文件的名字都改为无空格形式使用。