IBasicGeoprocessor接口使用操作

转自:http://blog.3snews.net/html/91/7091-21585.html

IBasicGeoprocessor pBGeop = new BasicGeoprocessorClass();

            IFeatureLayer pFlyr1 = new FeatureLayerClass();
            IFeatureLayer pFlyr2 = new FeatureLayerClass();
            pFlyr1 = this.axMapControl1.get_Layer(0) as IFeatureLayer;
            pFlyr2 = this.axMapControl1.get_Layer(1) as IFeatureLayer;
            IFeatureClass pFClass1 = pFlyr1.FeatureClass;
            IFeatureClass pFClass2 = pFlyr2.FeatureClass;

            //Processing type is shapefile -->"esriDataSourcesGDB.ShapefileWorkspaceFactory"
            IWorkspaceName pWorkspacename = new WorkspaceNameClass();
            pWorkspacename.WorkspaceFactoryProgID ="esriDataSourcesGDB.ShapefileWorkspaceFactory";
            pWorkspacename.PathName=@"e:\temp";

            IFeatureClassName pOutFeatureclassName = new FeatureClassNameClass();
            //以下三条语句对Output的设置,是可有可无的,不影响处理的结果
            pOutFeatureclassName.ShapeFieldName = "Shape";
            pOutFeatureclassName.ShapeType = esriGeometryType.esriGeometryPolygon;
            pOutFeatureclassName.FeatureType = esriFeatureType.esriFTSimple;

            //设置输出结果名称“OutputShapeFile”
            IDatasetName  pDatasetName = new FeatureClassNameClass();
            pDatasetName = pOutFeatureclassName as IDatasetName;
            pDatasetName.Name = "OutputShapeFile";
            pDatasetName.WorkspaceName = pWorkspacename;

            //执行Clip操作
            IFeatureClass pOutFeatureclass;
            pBGeop.SpatialReference = axMapControl1.SpatialReference;
            pOutFeatureclass = pBGeop.Clip(pFClass1 as ITable, false, pFClass2 as ITable, false,0.01, pOutFeatureclassName);

            //将处理的结果添加到当前的图层中
            IFeatureLayer pOutFeaturelayer = new FeatureLayerClass();
            pOutFeaturelayer.FeatureClass = pOutFeatureclass ;
            pOutFeaturelayer.Name = "Result";
            this.axMapControl1.AddLayer(pOutFeaturelayer as ILayer);
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值