获取要素类


///


/// 获取所有要素类
///

/// 要素集
/// 要素类列表
public static List GetAllFeatureClass(IFeatureDataset featureDataset)
{
IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;
IFeatureClass featureClass = enumFeatureClass.Next();

List featureClassList = new List();
while (featureClass != null)
{
featureClassList.Add(featureClass);
featureClass = enumFeatureClass.Next();
}
return featureClassList;
}

///


/// 获取要素类
///

/// 要素数据集
/// 要素类名称
/// 要素类对象
public static IFeatureClass GetFeatureClass(IFeatureDataset featureDataset, string featureClassName)
{
IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;
IFeatureClass featureClass = enumFeatureClass.Next();
while (featureClass != null)
{
if (featureClass.AliasName == featureClassName)
{
return featureClass;
}
featureClass = enumFeatureClass.Next();
}
return null;
}

///


/// 根据名称获取要素类对象
///

/// gdb路径
/// 要素数据集
/// 要素类名称
/// IFeatureClass对象
public static IFeatureClass GetFeatureClass(string gdbPath, string datasetName, string featureClassName)
{
IFeatureDataset featureDataset = GetDataSet(gdbPath, datasetName);
IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;
IFeatureClass featureClass = enumFeatureClass.Next();
while (featureClass != null)
{
if (featureClass.AliasName == featureClassName)
{
return featureClass;
}
featureClass = enumFeatureClass.Next();
}
return null;
}