[AE] ArcGIS Engine - 空间分析 - Intersect|Clip

求交思路:

以第一图层与第二图层相交为例:

  1. 添加库

     using ESRI.ArcGIS.Geoprocessing;
     using ESRI.ArcGIS.AnalysisTools;
    
  2. 获取图层

     ILayer pLayer1 = axMapControl1.Map.get_Layer(0) as ILayer;
     ILayer pLayer2 = axMapControl1.Map.get_Layer(1) as ILayer;
    
  3. 设置输出路径

     string outPath = @"C:\buffer.shp";
    
  4. 创建表格,用来存将要输入的参数

     IGpValueTableObject pObject = new GpValueTableObjectClass();
     object p1 = pLayer1 as object;
     object p2 = pLayer2 as object;
     pObject.SetColumns(2);
     pObject.AddRow(ref p1);
     pObject.AddRow(ref p2);
    
  5. 创建地理处理

     Geoprocessor pGp = new Geoprocessor();
     pGp.OverwriteOutput = true;
    
  6. 相交工具

     Intersect pIntersect = new Intersect();
     pIntersect.in_features = pObject; //输入参数
     pIntersect.out_feature_class = outpath; //输出路径
     pIntersect.join_attributes = "ALL"; //连接属性
     pGp.Execute(pIntersect, null); //执行
    
  7. 刷新地图,显示

     axMapControl1.ActiveView.Refresh();
    

Clip运算:

ILayer pLayer = axMapControl1.get_Layer(0) as ILayer;
ILayer pLayer_2 = axMapControl1.get_Layer(1) as ILayer;
Geoprocessor pGP = new Geoprocessor();
pGP.OverwriteOutput = true;
ESRI.ArcGIS.AnalysisTools.Clip pClip = new ESRI.ArcGIS.AnalysisTools.Clip();
pClip.clip_features = pLayer; 
pClip.in_features = pLayer_2;
object output = "C:\\OutputServer\\Clip\\ClipResults.shp";
 pClip.out_feature_class = output;
pGP.Execute(pClip, null);
axMapControl1.ActiveView.Refresh();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geodoer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值