調皮↙不搗蛋的博客——歡迎光臨

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

用AO做叠置分析 涉及到的接口  IBasicGeoprocessor

但是需要注意: intersect只能对线和面状图层做  代码如下

 


//             ILayer pLayer;
//
//             pLayer =this.axMapControl1.Map.get_Layer (0);    //设置输入的表
//             IFeatureLayer pInputFeaLayer = pLayer as IFeatureLayer;
//
//             ITable pInputTable = pInputFeaLayer as ITable;
//             IFeatureClass pInputFeaClass = pInputFeaLayer.FeatureClass;
//
//             ILayer pLayer2;
//             pLayer2 = this.axMapControl1.Map.get_Layer (1);          //设置Overlay表
//             IFeatureLayer pOverlayFeatureLayer;
//             pOverlayFeatureLayer = pLayer2 as IFeatureLayer;
//             ITable pOverlayTable;
//             pOverlayTable = pOverlayFeatureLayer as ITable;
//
//             if (pInputTable == null || pOverlayTable == null)
//             {
//                 MessageBox.Show ("Table check failed");
//                 return;
//             }
//
//             IFeatureClassName pFeaClassName;
//             pFeaClassName = new FeatureClassNameClass ();
//             pFeaClassName.FeatureType = pInputFeaClass.FeatureType; //esriFeatureType.esriFTSimple;
//             pFeaClassName.ShapeFieldName = pInputFeaClass.ShapeFieldName; //"Shape";
//             pFeaClassName.ShapeType = pInputFeaClass.ShapeType;
//
//             IWorkspaceName pNewWSName;
//             pNewWSName = new WorkspaceNameClass ();
//             pNewWSName.WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory";
//             pNewWSName.PathName = @"d:\temp";
//
//             IDatasetName pDatasetName;
//             pDatasetName = pFeaClassName as IDatasetName;
//             pDatasetName.Name = "Intersect_result";
//             pDatasetName.WorkspaceName = pNewWSName;
//
//             double tol = 0;
//             IBasicGeoprocessor pBasicGeoprocessor;
//             pBasicGeoprocessor = new BasicGeoprocessorClass ();
//             pBasicGeoprocessor.SpatialReference = this.axMapControl1.Map.SpatialReference;
//             IFeatureClass pOutputFeaClass;
//             try
//             {
//                 pOutputFeaClass = pBasicGeoprocessor.Intersect (pInputTable,false,pOverlayTable,false,tol,pFeaClassName);
//             }
//             catch (System.Exception ex)
//             {
//                 MessageBox.Show ("执行Intersect时发生错误." + ex.Message);
//                 return;
//             }
//
//
//
//             IFeatureLayer pOutputFeaLayer;
//             pOutputFeaLayer = new FeatureLayerClass ();
//             pOutputFeaLayer.FeatureClass = pOutputFeaClass;
//             pOutputFeaLayer.Name = pOutputFeaClass.AliasName;
//             this.axMapControl1.Map.AddLayer (pOutputFeaLayer);

 

 

存此备查  不知道还有没有其他更好的接口 有知道的朋友告诉我一声

posted on 2009-07-16 16:43  調皮↙不搗蛋  阅读(927)  评论(0编辑  收藏  举报