ArcGIS Engine检索要素集、要素类和要素

转自原文 ArcGIS Engine检索要素集、要素类和要素

            /// <summary>  
            /// 获取所有要素集  
            /// </summary>  
            /// <param name="workspace">工作空间对象</param>  
            /// <returns>要素集列表</returns>  
            public static List<IFeatureDataset> GetAllFeatureClass(IWorkspace workspace)  
            {  
                IEnumDataset dataset = workspace.get_Datasets(esriDatasetType.esriDTFeatureDataset);  
                IFeatureDataset featureDataset = dataset.Next() as IFeatureDataset;  
      
      
                List<IFeatureDataset> featureDatasetList = new List<IFeatureDataset>();  
                while (featureDataset != null)  
                {  
                    featureDatasetList.Add(featureDataset);  
                    featureDataset = dataset.Next() as IFeatureDataset;  
                }  
                return featureDatasetList;  
            }  
    /// <summary>  
    /// 获取所有要素类  
    /// </summary>  
    /// <param name="featureDataset">要素集</param>  
    /// <returns>要素类列表</returns>  
    public static List<IFeatureClass> GetAllFeatureClass(IFeatureDataset featureDataset)  
    {  
        IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;  
        IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;  
        IFeatureClass featureClass = enumFeatureClass.Next();  
      
        List<IFeatureClass> featureClassList = new List<IFeatureClass>();  
        while (featureClass != null)  
        {  
            featureClassList.Add(featureClass);  
            featureClass = enumFeatureClass.Next();  
        }  
        return featureClassList;  
    }  
    /// <summary>  
    /// 获取所有要素  
    /// </summary>  
    /// <param name="featureClass">要素类</param>  
    /// <returns>要素列表</returns>  
    public static List<IFeature> GetAllFeatureClass(IFeatureClass featureClass)  
    {  
        List<IFeature> featureList = new List<IFeature>();  
        IFeatureCursor featureCursor = featureClass.Search(null, false);  
        IFeature feature = featureCursor.NextFeature();  
      
        while (feature != null)  
        {  
            featureList.Add(feature);  
            feature = featureCursor.NextFeature();  
        }  
        return featureList;  
    }  
原文地址:https://www.cnblogs.com/arxive/p/6885312.html