ArcEngine调用GP工具实现多边形Clip裁剪功能
在做多边形裁剪的之前,在网上搜索了很多相关的帖子,代码都差不多,但是很多都没有说清楚,在实际的操作过程中有些地方需要注意和特别指明的,现将一些个人觉得需要注意的地方说一说:
核心的代码只有下面几行就可实现裁剪:
Geoprocessor g = new Geoprocessor(); //实例化一个GP对象
g.OverwriteOutput = true;
IFeatureClass input = ify.FeatureClass;
ESRI.ArcGIS.AnalysisTools.Clip clip = new ESRI.ArcGIS.AnalysisTools.Clip(input, clipFea, inpath + “\\” + ify.Name + “_Clip”); //创建clip裁剪工具
[PS:input指的是需要进行裁剪的图层或者shape文件;
clipFea指的是用于裁剪的多边形,一般是shape格式文件;
inpath + “\\” + ify.Name + “_Clip”这个参数容易出现错误,此处中inpath指的是结果裁剪结果输出的路径,”\\” + ify.Name + “_Clip”指的是裁剪结果的文件名。inpath必须为一个完整路径,如:”C:\\users\\administrator\\桌面”,如果只有路径,没有保存的文件名,则在该路径下,裁剪结果被保存成System.shp,该方法得到的裁剪结果一定是一个*.shp格式的文件。]
g.Execute(clip, null); //执行工具
如果想要裁剪后的结果以featureClass的形式保存到mdb数据库中,可以到网上搜索相关代码,网上很多现成代码。
转载自:https://blog.csdn.net/longronggis/article/details/7953053