Geoprocessor geoprocessor = new Geoprocessor();
geoprocessor.OverwriteOutput = true;
ESRI.ArcGIS.AnalysisTools.Union union = new ESRI.ArcGIS.AnalysisTools.Union();
IGpValueTableObject gpValueTableObject = new GpValueTableObjectClass();//对两个要素类进行相交运算
gpValueTableObject.SetColumns(2);
IFeatureClass pFeatureClass1 = ((FeatureLayer)GetLayerByName(ComboBoxLayer1.SelectedItem.ToString())).FeatureClass;
IFeatureClass pFeatureClass2 = ((FeatureLayer)GetLayerByName(ComboBoxLayer2.SelectedItem.ToString())).FeatureClass;
object o1 = pFeatureClass1;//输入IFeatureClass 1
object o2 = pFeatureClass2;//输入IFeatureClass 2
gpValueTableObject.AddRow(ref o1);
gpValueTableObject.AddRow(ref o2);
union.in_features = gpValueTableObject;
union.out_feature_class = textBox3.Text;
geoprocessor.Execute(union, null);
IWorkspaceFactory pWorkspaceFactory;
IFeatureWorkspace pFeatureWorkspace;
IFeatureLayer pFeatureLayer;
string pFullPath = textBox3.Text;
if (pFullPath == "") return;
int pIndex = pFullPath.LastIndexOf("\");
string pFilePath = pFullPath.Substring(0, pIndex); //文件路径
string pFileName = pFullPath.Substring(pIndex + 1); //文件名
//实例化ShapefileWorkspaceFactory工作空间,打开Shape文件
pWorkspaceFactory = new ShapefileWorkspaceFactory();
pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(pFilePath, 0);
//创建并实例化要素集
IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(pFileName);
pFeatureLayer = new FeatureLayer();
pFeatureLayer.FeatureClass = pFeatureClass;
pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;
map.AddLayer(pFeatureLayer); Geoprocessor geoprocessor = new Geoprocessor()