用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);
存此备查 不知道还有没有其他更好的接口 有知道的朋友告诉我一声