1.加载Shapefile数据
 IWorkspaceFactory pWorkspaceFactory;
 IWorkspaceFactory pWorkspaceFactory; IFeatureWorkspace pFeatureWorkspace;
 IFeatureWorkspace pFeatureWorkspace; IFeatureLayer pFeatureLayer;
 IFeatureLayer pFeatureLayer;
 //获取当前路径和文件名
 //获取当前路径和文件名 OpenFileDialog dlg = new OpenFileDialog();
 OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Shape(*.shp)|*.shp|All Files(*.*)|*.*";
 dlg.Filter = "Shape(*.shp)|*.shp|All Files(*.*)|*.*"; dlg.Title = "Open Shapefile data";
 dlg.Title = "Open Shapefile data"; dlg.ShowDialog();
 dlg.ShowDialog(); string strFullPath = dlg.FileName;
 string strFullPath = dlg.FileName; if (strFullPath == "") return;
 if (strFullPath == "") return; int Index = strFullPath.LastIndexOf("//");
 int Index = strFullPath.LastIndexOf("//"); string filePath = strFullPath.Substring(0, Index);
 string filePath = strFullPath.Substring(0, Index); string fileName = strFullPath.Substring(Index + 1);
 string fileName = strFullPath.Substring(Index + 1);
 //打开工作空间并添加shp文件
 //打开工作空间并添加shp文件 pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
 pWorkspaceFactory = new ShapefileWorkspaceFactoryClass(); pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0);
 pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); pFeatureLayer = new FeatureLayerClass();
 pFeatureLayer = new FeatureLayerClass(); 
  pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(fileName);
 pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(fileName); pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;
 pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName; axMapControl1.Map.AddLayer(pFeatureLayer);
 axMapControl1.Map.AddLayer(pFeatureLayer); axMapControl1.ActiveView.Refresh();
 axMapControl1.ActiveView.Refresh();
2.加载栅格数据
 IWorkspaceFactory pWorkspaceFactory;
 IWorkspaceFactory pWorkspaceFactory; IRasterWorkspace pRasterWorkspace;
 IRasterWorkspace pRasterWorkspace;
 OpenFileDialog dlg = new OpenFileDialog();
 OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Layer File(*.lyr)|*.jpg;*.bmp;*.tiff";
 dlg.Filter = "Layer File(*.lyr)|*.jpg;*.bmp;*.tiff"; dlg.Title = "Open Raster Data File";
 dlg.Title = "Open Raster Data File"; dlg.ShowDialog();
 dlg.ShowDialog(); //获取当前路径和文件名
 //获取当前路径和文件名 string strFullPath = dlg.FileName;
 string strFullPath = dlg.FileName; if (strFullPath == "") return;
 if (strFullPath == "") return; int Index = strFullPath.LastIndexOf("//");
 int Index = strFullPath.LastIndexOf("//"); string fileName = strFullPath.Substring(Index + 1);
 string fileName = strFullPath.Substring(Index + 1); string filePath = strFullPath.Substring(0, Index);
 string filePath = strFullPath.Substring(0, Index);
 pWorkspaceFactory = new RasterWorkspaceFactoryClass();
 pWorkspaceFactory = new RasterWorkspaceFactoryClass(); pRasterWorkspace = (IRasterWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0);
 pRasterWorkspace = (IRasterWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); IRasterDataset pRasterDataset = (IRasterDataset)pRasterWorkspace.OpenRasterDataset(fileName);
 IRasterDataset pRasterDataset = (IRasterDataset)pRasterWorkspace.OpenRasterDataset(fileName); IRasterLayer pRasterLayer = new RasterLayerClass();
 IRasterLayer pRasterLayer = new RasterLayerClass(); pRasterLayer.CreateFromDataset(pRasterDataset);
 pRasterLayer.CreateFromDataset(pRasterDataset); axMapControl1.Map.AddLayer(pRasterLayer);
 axMapControl1.Map.AddLayer(pRasterLayer); axMapControl1.ActiveView.Refresh();
 axMapControl1.ActiveView.Refresh();
3.加载CAD数据
 IWorkspaceFactory pWorkspaceFactory;
 IWorkspaceFactory pWorkspaceFactory; IFeatureWorkspace pFeatureWorkspace;
 IFeatureWorkspace pFeatureWorkspace; IFeatureLayer pFeatureLayer;
 IFeatureLayer pFeatureLayer; IFeatureDataset pFeatureDataset;
 IFeatureDataset pFeatureDataset; //获取当前路径和文件名
 //获取当前路径和文件名 OpenFileDialog dlg = new OpenFileDialog();
 OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "CAD(*.dwg)|*.dwg|All Files(*.*)|*.*";
 dlg.Filter = "CAD(*.dwg)|*.dwg|All Files(*.*)|*.*"; dlg.Title = "Open CAD Data file";
 dlg.Title = "Open CAD Data file"; dlg.ShowDialog();
 dlg.ShowDialog(); string strFullPath = dlg.FileName;
 string strFullPath = dlg.FileName; if (strFullPath == "") return;
 if (strFullPath == "") return; int Index = strFullPath.LastIndexOf("//");
 int Index = strFullPath.LastIndexOf("//"); string filePath = strFullPath.Substring(0, Index);
 string filePath = strFullPath.Substring(0, Index); string fileName = strFullPath.Substring(Index + 1);
 string fileName = strFullPath.Substring(Index + 1); //打开CAD数据集
 //打开CAD数据集 pWorkspaceFactory = new CadWorkspaceFactoryClass();
 pWorkspaceFactory = new CadWorkspaceFactoryClass(); pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0);
 pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); //打开一个要素集
 //打开一个要素集 pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName);
 pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName); //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
 //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类  IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset;
 IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset; //对CAD文件中的要素进行遍历处理
 //对CAD文件中的要素进行遍历处理  for (int i = 0; i < pFeatClassContainer.ClassCount - 1; i++)
 for (int i = 0; i < pFeatClassContainer.ClassCount - 1; i++) {
 { IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i);
 IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i); if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
 if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation) //如果是注记,则添加注记层
 //如果是注记,则添加注记层 pFeatureLayer = new CadAnnotationLayerClass();
 pFeatureLayer = new CadAnnotationLayerClass(); else//如果是点、线、面,则添加要素层
 else//如果是点、线、面,则添加要素层 {
 { pFeatureLayer = new FeatureLayerClass();
 pFeatureLayer = new FeatureLayerClass(); pFeatureLayer.Name = pFeatClass.AliasName;
 pFeatureLayer.Name = pFeatClass.AliasName; pFeatureLayer.FeatureClass = pFeatClass;
 pFeatureLayer.FeatureClass = pFeatClass; axMapControl1.Map.AddLayer(pFeatureLayer);
 axMapControl1.Map.AddLayer(pFeatureLayer); axMapControl1.ActiveView.Refresh();
 axMapControl1.ActiveView.Refresh(); }
 } }
 }4.加载PersonGeodatabase数据
 IWorkspaceFactory pAccessWorkspaceFactory;
 IWorkspaceFactory pAccessWorkspaceFactory; IFeatureWorkspace pFeatureWorkspace;
 IFeatureWorkspace pFeatureWorkspace; IFeatureLayer pFeatureLayer;
 IFeatureLayer pFeatureLayer; IFeatureDataset pFeatureDataset;
 IFeatureDataset pFeatureDataset;
 //获取当前路径和文件名
 //获取当前路径和文件名 OpenFileDialog dlg = new OpenFileDialog();
 OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Personal Geodatabase(*.mdb)|*.mdb|All Files(*.*)|*.*";
 dlg.Filter = "Personal Geodatabase(*.mdb)|*.mdb|All Files(*.*)|*.*"; dlg.Title = "Open PersonGeodatabase file";
 dlg.Title = "Open PersonGeodatabase file"; dlg.ShowDialog();
 dlg.ShowDialog(); string strFullPath = dlg.FileName;
 string strFullPath = dlg.FileName; if (strFullPath == "") return;
 if (strFullPath == "") return;
 //打开personGeodatabase,并添加图层
 //打开personGeodatabase,并添加图层 pAccessWorkspaceFactory = new AccessWorkspaceFactoryClass();
 pAccessWorkspaceFactory = new AccessWorkspaceFactoryClass(); //打开工作空间并遍历数据集
 //打开工作空间并遍历数据集 IWorkspace pWorkspace = pAccessWorkspaceFactory.OpenFromFile(strFullPath, 0);
 IWorkspace pWorkspace = pAccessWorkspaceFactory.OpenFromFile(strFullPath, 0); IEnumDataset pEnumDataset = pWorkspace.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny);
 IEnumDataset pEnumDataset = pWorkspace.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny); pEnumDataset.Reset();
 pEnumDataset.Reset(); IDataset pDataset = pEnumDataset.Next();
 IDataset pDataset = pEnumDataset.Next(); //如果数据集是IFeatureDataset,则遍历它下面的子类
 //如果数据集是IFeatureDataset,则遍历它下面的子类 if (pDataset is IFeatureDataset)
 if (pDataset is IFeatureDataset) {
 { pFeatureWorkspace = (IFeatureWorkspace)pAccessWorkspaceFactory.OpenFromFile(strFullPath, 0);
 pFeatureWorkspace = (IFeatureWorkspace)pAccessWorkspaceFactory.OpenFromFile(strFullPath, 0); pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(pDataset.Name);
 pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(pDataset.Name); IEnumDataset pEnumDataset1 = pFeatureDataset.Subsets;
 IEnumDataset pEnumDataset1 = pFeatureDataset.Subsets; pEnumDataset1.Reset();
 pEnumDataset1.Reset(); IDataset pDataset1 = pEnumDataset1.Next();
 IDataset pDataset1 = pEnumDataset1.Next(); //如果子类是FeatureClass,则添加到axMapControl1中
 //如果子类是FeatureClass,则添加到axMapControl1中 if (pDataset1 is IFeatureClass)
 if (pDataset1 is IFeatureClass) {
 { pFeatureLayer = new FeatureLayerClass();
 pFeatureLayer = new FeatureLayerClass(); pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(pDataset1.Name);
 pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(pDataset1.Name); pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;
 pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName; axMapControl1.Map.AddLayer(pFeatureLayer);
 axMapControl1.Map.AddLayer(pFeatureLayer); axMapControl1.ActiveView.Refresh();
 axMapControl1.ActiveView.Refresh(); }
 } else
 else {
 { MessageBox.Show("No FeatureLayer!");
 MessageBox.Show("No FeatureLayer!"); }
 } }
 } else
 else {
 { pFeatureWorkspace = (IFeatureWorkspace)pWorkspace;
 pFeatureWorkspace = (IFeatureWorkspace)pWorkspace; pFeatureLayer = new FeatureLayerClass();
 pFeatureLayer = new FeatureLayerClass(); pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass("图层名");
 pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass("图层名"); pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;
 pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName; axMapControl1.Map.AddLayer(pFeatureLayer);
 axMapControl1.Map.AddLayer(pFeatureLayer); axMapControl1.ActiveView.Refresh();
 axMapControl1.ActiveView.Refresh(); }
 }5.加载SDE数据库数据
 public ESRI.ArcGIS.Geodatabase.IWorkspace arcSDEWorkspaceOpen(String server, String instance, String user, String password, String database, String version)
 public ESRI.ArcGIS.Geodatabase.IWorkspace arcSDEWorkspaceOpen(String server, String instance, String user, String password, String database, String version) {
 { try
 try {
 { // Create and populate the property set
 // Create and populate the property set ESRI.ArcGIS.esriSystem.IPropertySet propertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass();
 ESRI.ArcGIS.esriSystem.IPropertySet propertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass(); propertySet.SetProperty("SERVER", server);
 propertySet.SetProperty("SERVER", server); propertySet.SetProperty("INSTANCE", instance);
 propertySet.SetProperty("INSTANCE", instance); propertySet.SetProperty("DATABASE", database);
 propertySet.SetProperty("DATABASE", database); propertySet.SetProperty("USER", user);
 propertySet.SetProperty("USER", user); propertySet.SetProperty("PASSWORD", password);
 propertySet.SetProperty("PASSWORD", password); propertySet.SetProperty("VERSION", version);
 propertySet.SetProperty("VERSION", version);
 ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2 workspaceFactory;
 ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2 workspaceFactory; workspaceFactory = (ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2)new SdeWorkspaceFactoryClass();
 workspaceFactory = (ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2)new SdeWorkspaceFactoryClass(); return workspaceFactory.Open(propertySet, 0);
 return workspaceFactory.Open(propertySet, 0); }
 } catch (Exception e)
 catch (Exception e) {
 { throw new Exception(String.Format("arcSDEWorkspaceOpen: {0}", e.Message), e);
 throw new Exception(String.Format("arcSDEWorkspaceOpen: {0}", e.Message), e); }
 } }
 }
 IWorkspace pWorkspace = arcSDEWorkspaceOpen("计算机名", "5151", "数据库用户", "密码", "", "sde.DEFAULT");
 IWorkspace pWorkspace = arcSDEWorkspaceOpen("计算机名", "5151", "数据库用户", "密码", "", "sde.DEFAULT");
 IFeatureWorkspace pFeattureWS = (IFeatureWorkspace)pWorkspace;
 IFeatureWorkspace pFeattureWS = (IFeatureWorkspace)pWorkspace; IFeatureClass pFeatureClass = pFeattureWS.OpenFeatureClass("图层名");
 IFeatureClass pFeatureClass = pFeattureWS.OpenFeatureClass("图层名"); IFeatureLayer pFeatureLayer = new FeatureLayerClass();
 IFeatureLayer pFeatureLayer = new FeatureLayerClass(); pFeatureLayer.FeatureClass = pFeatureClass;
 pFeatureLayer.FeatureClass = pFeatureClass;
 axMapControl1.AddLayer(pFeatureLayer);
 axMapControl1.AddLayer(pFeatureLayer); axMapControl1.Refresh();
 axMapControl1.Refresh();  ArcGIS Engine中加载数据,布布扣,bubuko.com
原文:http://www.cnblogs.com/qiuzhongyang/p/3874122.html