1.加载Shapefile数据
1
IWorkspaceFactory pWorkspaceFactory; 2
IFeatureWorkspace pFeatureWorkspace; 3
IFeatureLayer pFeatureLayer; 4
5
//获取当前路径和文件名 6
OpenFileDialog dlg =new OpenFileDialog(); 7
dlg.Filter ="Shape(*.shp)|*.shp|All Files(*.*)|*.*"; 8
dlg.Title ="Open Shapefile data"; 9
dlg.ShowDialog(); 10
string strFullPath = dlg.FileName; 11
if (strFullPath =="") return; 12
int Index = strFullPath.LastIndexOf("\\"); 13
string filePath = strFullPath.Substring(0, Index); 14
string fileName = strFullPath.Substring(Index +1); 15
16
//打开工作空间并添加shp文件17
pWorkspaceFactory =new ShapefileWorkspaceFactoryClass(); 18
pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); 19
pFeatureLayer =new FeatureLayerClass(); 20
21
pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(fileName); 22
pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName; 23
axMapControl1.Map.AddLayer(pFeatureLayer); 24
axMapControl1.ActiveView.Refresh();
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2.加载栅格数据
1
IWorkspaceFactory pWorkspaceFactory; 2
IRasterWorkspace pRasterWorkspace; 3
4
OpenFileDialog dlg =new OpenFileDialog(); 5
dlg.Filter ="Layer File(*.lyr)|*.jpg;*.bmp;*.tiff"; 6
dlg.Title ="Open Raster Data File"; 7
dlg.ShowDialog(); 8
//获取当前路径和文件名 9
string strFullPath = dlg.FileName; 10
if (strFullPath =="") return; 11
int Index = strFullPath.LastIndexOf("\\"); 12
string fileName = strFullPath.Substring(Index +1); 13
string filePath = strFullPath.Substring(0, Index); 14
15
pWorkspaceFactory =new RasterWorkspaceFactoryClass(); 16
pRasterWorkspace = (IRasterWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); 17
IRasterDataset pRasterDataset = (IRasterDataset)pRasterWorkspace.OpenRasterDataset(fileName); 18
IRasterLayer pRasterLayer =new RasterLayerClass(); 19
pRasterLayer.CreateFromDataset(pRasterDataset); 20
axMapControl1.Map.AddLayer(pRasterLayer); 21
axMapControl1.ActiveView.Refresh();
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3.加载CAD数据
1
IWorkspaceFactory pWorkspaceFactory; 2
IFeatureWorkspace pFeatureWorkspace; 3
IFeatureLayer pFeatureLayer; 4
IFeatureDataset pFeatureDataset; 5
//获取当前路径和文件名 6
OpenFileDialog dlg =new OpenFileDialog(); 7
dlg.Filter ="CAD(*.dwg)|*.dwg|All Files(*.*)|*.*"; 8
dlg.Title ="Open CAD Data file"; 9
dlg.ShowDialog(); 10
string strFullPath = dlg.FileName; 11
if (strFullPath =="") return; 12
int Index = strFullPath.LastIndexOf("\\"); 13
string filePath = strFullPath.Substring(0, Index); 14
string fileName = strFullPath.Substring(Index +1); 15
//打开CAD数据集16
pWorkspaceFactory =new CadWorkspaceFactoryClass(); 17
pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); 18
//打开一个要素集19
pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName); 20
//IFeaturClassContainer可以管理IFeatureDataset中的每个要素类 21
IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset; 22
//对CAD文件中的要素进行遍历处理 23
for (int i =0; i < pFeatClassContainer.ClassCount -1; i++) 24
{ 25
IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i); 26
if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation) 27
//如果是注记,则添加注记层28
pFeatureLayer =new CadAnnotationLayerClass(); 29
else//如果是点、线、面,则添加要素层30
{ 31
pFeatureLayer =new FeatureLayerClass(); 32
pFeatureLayer.Name = pFeatClass.AliasName; 33
pFeatureLayer.FeatureClass = pFeatClass; 34
axMapControl1.Map.AddLayer(pFeatureLayer); 35
axMapControl1.ActiveView.Refresh(); 36
}37
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
4.加载PersonGeodatabase数据
1
IWorkspaceFactory pAccessWorkspaceFactory; 2
IFeatureWorkspace pFeatureWorkspace; 3
IFeatureLayer pFeatureLayer; 4
IFeatureDataset pFeatureDataset; 5
6
//获取当前路径和文件名 7
OpenFileDialog dlg =new OpenFileDialog(); 8
dlg.Filter ="Personal Geodatabase(*.mdb)|*.mdb|All Files(*.*)|*.*"; 9
dlg.Title ="Open PersonGeodatabase file"; 10
dlg.ShowDialog(); 11
string strFullPath = dlg.FileName; 12
if (strFullPath =="") return; 13
14
//打开personGeodatabase,并添加图层15
pAccessWorkspaceFactory =new AccessWorkspaceFactoryClass(); 16
//打开工作空间并遍历数据集17
IWorkspace pWorkspace = pAccessWorkspaceFactory.OpenFromFile(strFullPath, 0); 18
IEnumDataset pEnumDataset = pWorkspace.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny); 19
pEnumDataset.Reset(); 20
IDataset pDataset = pEnumDataset.Next(); 21
//如果数据集是IFeatureDataset,则遍历它下面的子类22
if (pDataset is IFeatureDataset) 23
{ 24
pFeatureWorkspace = (IFeatureWorkspace)pAccessWorkspaceFactory.OpenFromFile(strFullPath, 0); 25
pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(pDataset.Name); 26
IEnumDataset pEnumDataset1 = pFeatureDataset.Subsets; 27
pEnumDataset1.Reset(); 28
IDataset pDataset1 = pEnumDataset1.Next(); 29
//如果子类是FeatureClass,则添加到axMapControl1中30
if (pDataset1 is IFeatureClass) 31
{ 32
pFeatureLayer =new FeatureLayerClass(); 33
pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(pDataset1.Name); 34
pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName; 35
axMapControl1.Map.AddLayer(pFeatureLayer); 36
axMapControl1.ActiveView.Refresh(); 37
}38
else39
{ 40
MessageBox.Show("No FeatureLayer!"); 41
}42
}43
else44
{ 45
pFeatureWorkspace = (IFeatureWorkspace)pWorkspace; 46
pFeatureLayer =new FeatureLayerClass(); 47
pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass("图层名"); 48
pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName; 49
axMapControl1.Map.AddLayer(pFeatureLayer); 50
axMapControl1.ActiveView.Refresh(); 51
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
5.加载SDE数据库数据
1
public ESRI.ArcGIS.Geodatabase.IWorkspace arcSDEWorkspaceOpen(String server, String instance, String user, String password, String database, String version) 2
{ 3
try 4
{ 5
// Create and populate the property set 6
ESRI.ArcGIS.esriSystem.IPropertySet propertySet =new ESRI.ArcGIS.esriSystem.PropertySetClass(); 7
propertySet.SetProperty("SERVER", server); 8
propertySet.SetProperty("INSTANCE", instance); 9
propertySet.SetProperty("DATABASE", database); 10
propertySet.SetProperty("USER", user); 11
propertySet.SetProperty("PASSWORD", password); 12
propertySet.SetProperty("VERSION", version); 13
14
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2 workspaceFactory; 15
workspaceFactory = (ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2)new SdeWorkspaceFactoryClass(); 16
return workspaceFactory.Open(propertySet, 0); 17
}18
catch (Exception e) 19
{ 20
thrownew Exception(String.Format("arcSDEWorkspaceOpen: {0}", e.Message), e); 21
}22
}23
24
IWorkspace pWorkspace = arcSDEWorkspaceOpen("计算机名", "5151", "数据库用户", "密码", "", "sde.DEFAULT"); 25
26
IFeatureWorkspace pFeattureWS = (IFeatureWorkspace)pWorkspace; 27
IFeatureClass pFeatureClass = pFeattureWS.OpenFeatureClass("图层名"); 28
IFeatureLayer pFeatureLayer =new FeatureLayerClass(); 29
pFeatureLayer.FeatureClass = pFeatureClass; 30
31
axMapControl1.AddLayer(pFeatureLayer); 32
axMapControl1.Refresh();
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
部分内容参考:http://www.cnblogs.com/vakinglee/archive/2006/09/22/511606.html
原文链接:http://www.cnblogs.com/wolf-pl/archive/2008/04/03/1135920.html