1.从shape文件获取FeatureClass
1 /// <summary>
2 /// 读取shape文件为FeatureClass
3 /// </summary>
4 ///Example: shape文件路径:C:dataUSAStates.shp
5 /// <param name="string_ShapefileDirectory">shape文件的目录. 此处: "C:dataUSA"</param>
6 /// <param name="string_ShapefileName">shape文件的名字,不包括后缀,后缀大家都知道是shp. 此处: "States"</param>
7 /// <returns>返回FeatureClass接口</returns>
8 /// <remarks></remarks>
9 public ESRI.ArcGIS.Geodatabase.IFeatureClass GetFeatureClassFromShapefileOnDisk(System.String string_ShapefileDirectory, System.String string_ShapefileName)
10 {
11 System.IO.DirectoryInfo directoryInfo_check = new System.IO.DirectoryInfo(string_ShapefileDirectory);
12 if (directoryInfo_check.Exists)
13 {
14 //We have a valid directory, proceed
15 System.IO.FileInfo fileInfo_check = new System.IO.FileInfo(string_ShapefileDirectory + "\" + string_ShapefileName + ".shp");
16 if (fileInfo_check.Exists)
17 {
18 //We have a valid shapefile, proceed
19
20 ESRI.ArcGIS.Geodatabase.IWorkspaceFactory workspaceFactory = new ESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactoryClass();
21 ESRI.ArcGIS.Geodatabase.IWorkspace workspace = workspaceFactory.OpenFromFile(string_ShapefileDirectory, 0);
22 ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace; // Explict Cast
23 ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = featureWorkspace.OpenFeatureClass(string_ShapefileName);
24
25 return featureClass;
26 }
27 else
28 {
29 //Not valid shapefile
30 return null;
31 }
32 }
33 else
34 {
35 // Not valid directory
36 return null;
37 }
38 }
源:http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#//00490000008m000000
2.从FeatureLayer选中要素获取FeatureClass
1 ///<summary>Returns a reference to the currently selected featureclass from the given contents view.从当前内容视图中选中的要素返回要素类的引用</summary>
2 ///
3 ///<param name="currentContentsView">An IContentsView interface.内容视图接口</param>
4 ///
5 ///<returns>An IFeatureClass interface or Nothing if not found.返回值</returns>
6 ///
7 ///<remarks></remarks>
8 public ESRI.ArcGIS.Geodatabase.IFeatureClass GetFeatureClassOfSelectedFeatureLayerInContentsView(ESRI.ArcGIS.ArcMapUI.IContentsView currentContentsView)
9 {
10 if (currentContentsView == null)
11 {
12 return null;
13 }
14 if (currentContentsView.SelectedItem is ESRI.ArcGIS.Carto.IFeatureLayer)
15 {
16 ESRI.ArcGIS.Carto.IFeatureLayer featureLayer = (ESRI.ArcGIS.Carto.IFeatureLayer)currentContentsView.SelectedItem; // Explicit Cast
17 ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = featureLayer.FeatureClass;
18
19 return featureClass;
20 }
21 return null;
22 }
源:http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/Get_FeatureClass_of_Selected_Feature_Layer_in_Contents_View_Snippet/00490000004r000000/
3.从Personal Geodatabase获取FeatureClass
4.从File Geodatabase获取FeatureClass
5.从SDE获取FeatureClass